2012/02/06

在Android讀寫JSON

JSON (Javascript Object Notation) 是一種輕量級的資料交換語言,在Android本身已包含了org.json的開發包 (Library),所以要在Android裡讀取JSON是相當簡單的。

本文章集中於談論在Android系統裡,如何使用org.json開發包讀取JSON。關於JSON的背景和詳細資料,本文不會深入討論,只作簡單解釋,以令讀者易於明白。

[{"name":"Android","id":1,"score":4.8},{"name":"Ben"},"id":2,"score":3.2]

上面的正是一個JSON的例子了。
『[ ]』是一個陣列 (Array),內有多個物件,每個物件以 『,』分隔,上面例子可見陣列內有2個物件。
『{ }』是一個物件 (Object),每個物件內會有多個名稱/值對,每個名稱/值對以 『,』分隔,上面例子可見每個物件內有3個名稱/值對。
名稱/值對 (Collection),名稱和值對以『:』分隔,左邊為名稱 (Name),右邊為值對 (Value)。


2011/07/17

認識Android開發 - 練習1.3 打開新的 Activity

在很多情況下,只有一個介面未必能夠完成我們的設計。例如,在設計一個記事本的應用程序,就至少需要兩個介面了,一個是展示在裝置中儲存了的筆記的概要,另一個介面則讓用家檢視或修改筆記的。

雖然,在單一個 Activity 中,是可以做到在不同時候展示不同的介面。但實際上做起來,這個做法不僅費時失事,更絕不方便用家的。

本練習將會利用上一個練習 (認識Android開發 - 練習1.2 認識Button) 所製作出的兩個按鈕來打開新的 Activity 。

上一個練習的原始碼可到以下網址下載。

http://db.tt/4cSsyyI

2011/07/08

Android 開發 - SDK Manager: failed to install

當在 Windows 上安裝 Android SDK Tools 的時候,當檔案下載完成後,出現了以下訊息:


解決方法非常簡單,就是由自己手動去安裝 Android SDK Tools 就好了。


  1. 在 SDK 裡的 temp/ 資料夾中有一個名為 tools_r12-windows.zip 的檔案
  2. 將檔案解壓後,會看到裡面有一個名為 tools_r12-windows/ 的資料夾
  3. 將資料夾的所有檔案複製到 SDL 裡的 tools/ 資料夾中 (過程中,系統會要求取代資料夾和檔案,都按是就好了)
  4. 重開 SDK Manager,問題解決了

2011/07/01

認識Android開發 - 練習1.2 認識Button

本文承接上一篇博客 (認識Android開發 - 練習1.1 認識TextView) ,進一步對另一個非常常用的組件 (Button) 作出介紹。

當應用軟體加入按鈕 (Button) 組件後,應用軟體將可以初步與用家作出互動。

本練習將會在上一個練習中加入兩個按鈕 (Button) 組件,並在用家按下按鈕時,觸發事件,並作出回應。

上一個練習的原碼可到以下網址下載。

http://db.tt/KhwCiom

2011/06/22

認識Android開發 - 練習1.1 認識TextView

TextView是一個在Activity中顯示文字的組件,本文將會逐步講述如何在Activity中設定TextView。

開啟一個新的專案

按File -> New -> Android Project,並輸入以下資料:

Project name: Activity_EX01
Build Target: 剔選 Android 1.5 (本文剔選了Android 2.1-update1)
Application name: Activity_EX01
Package name: com.examples.dns.activityex01
Create Activity: Activity1
Min SDK Version: 根據你的Build Target選擇 (如剔了Android 2.1-update1,這裡填7)

按Finish

修改資源檔

在一個專案中,你可以看到有一個名為res的資料夾,這個資料夾是用來存放不同的資源 (Resources),資源的類型包括圖片 (drawable)、字串 (string)、顏色 (color)、佈局 (layout)等。

透過res資料夾,程序編寫員可以將程序的邏輯與資源分開,令開發過程更方便。另一方便,可以輕易為應用軟體更輕易配合不同的Android機器上。

例如,一個應用軟體現只支援中文介面,並打算加入英文介面,只要加入一個字串資源檔,程序編寫員可在不修改程序的邏輯下,令應用軟體同時支援中文及英文介面了。

2011/06/13

認識Android開發 - Activity生活週期

本文將會討論Activity的生活週期。

Activity大致可以分為3個狀態:


  1. 回復/執行(Resumed / Running)
  2. 暫停(Paused)
  3. 停止(Stopped)



2011/06/12

認識Android開發 - Activity

Android應用程序主要透過Activities、Services、Content Providers及Broadcast Receivers四個主要應用組件所組成的。而本文章將會討論Android中的Activities組件。

甚麼是Activity?

Activity是用作提供一個與用家互動的介面(GUI),一個應用程序,可以擁有多個Activities的,例如一個短訊的應用程序,一般會擁有以下的Actiivities:

  1. 短訊列表的Activity
  2. 展示個別短訊的Activity
  3. 撰寫短訊的Activity
  4. 其他Activities