My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
AfterWard  
後續章節
Featured, Phase-Design
Updated Mar 1, 2010 by gasolin

後續章節

書籍介紹網頁在連結中。

我很喜歡讀書,但已經無法滿足於市面上出書的質量與速度,所以乾脆自己寫。

隨著本書電子書的入門、基礎、中階部分寫作告一段落,花了將近一年時間。可以說已經完成我對本書預期達到的目標。當然我自己也會以本書的觀念為基礎,繼續學習 Android 平台的各種應用。

本書的擴展版本以「Google! Android 應用程式設計入門」為名出版,作者為蓋索林(gasolin),可至博客來、誠品或金石堂線上購買,或至各大書局選購*。

除了更精鍊原有的內容之外,也為各章附上圖片說明、基本概念(如 MVC 模式)介紹、並加入資料庫應用、地圖應用等後續章節內容。協助讀者以最快捷的方式入門 Android 平台,並應用其中最常見的功能。

出書後筆者仍會繼續在本站上補充更進階的章節,要是 Android 出了比書上更新的版本,在這邊也找的到更新版的入門教學。

您期望在實體書中看到什麼樣的內容或圖例呢?請透過回覆本文,或是提交表單的方式提出您的建議!

目錄

本書(第一版)的目錄如下

入門

安裝並熟悉「Android」開發環境,學會如何新建/開啟「Android」專案並操作「Android」模擬器。使用範例:AppDemos。

  1. 初探 Android
  2. 安裝 Android 開發工具
  3. 開啟現有專案
  4. 操作 Android 模擬器(Emulator)
  5. 建立一個 Android 程式

基礎

熟悉「Android」應用程式專案的基本架構。能讀懂「Android」程式碼與 XML 介面描述檔,並學會使用基本介面元件來撰寫「Android」應用程式。使用範例:BMI。

  1. 描述使用者介面
  2. 設計使用者介面
  3. 存取識別符號
  4. 解讀程式流程
  5. 完成 BMI 程式

中階

進一步熟悉「Android」應用程式設計的主要技術內容。使用範例:BMI。

  1. 重構程式
  2. 加入對話框(Dialog)
  3. 查看線上內容 (Uri)
  4. 加入選單(Menu)
  5. 定義 Android 清單
  6. 加入新 Activity
  7. 傳送資料到新 Activity
  8. 記錄與偵錯 (Log)
  9. 活動的生命週期
  10. 儲存資訊(Preference)
  11. 開發不息

在增強了電子書原有章節的基礎下,已額外規劃了以下這些章節內容,以補足讀者入門的需求:

融會貫通

應用前面章節中使用到的觀念與技術,加深印象的同時也學習一些實用的新技巧。使用範例:aBMI。

  1. 顯性設計
  2. 支援多國語言
  3. 使用接口 (Adapter)
  4. 加入下拉選單元件 (Spinner)
  5. 簽發應用程式金鑰 (keytools)
  6. 發佈到 Android 市場(Market)

資料庫應用

學習 SQLite 資料庫與「Android」平台相關實用技能,並能使用 Android 上的資料庫完成增刪改查操作。使用範例:DummyNote。

  1. 加入列表活動 (ListActivity)
  2. 使用資料庫 (SQLite)
  3. 存取資料表 (SQLiteOpenHelper)
  4. 加入增刪改查操作(CRUD)
  5. 加入相依的活動 (ActivityForResult)

地圖與定位應用

使用 Android 極富特色的地圖與定位功能,學習控制地圖元件、地圖定位、在地圖中設置地標等等與地圖/定位應用程式設計相關的技術。使用範例:twTrainStation、MyLocation。

  1. 申請 Google 地圖服務(API Key)
  2. 使用地圖(MapView)
  3. 加入按鍵控制 (KeyEvent)
  4. 取得現在位置(GPS/基地台三角定位)
  5. 結合地圖與定位功能(MyLocationOverlay)
  6. 為地圖標上地標(ItemizedOverlay)

附錄

  1. 後記
  2. 取得原始碼

資源

  1. Android 相關資源 (相關資源)

歷程記錄

  • 2009/11 簡體版發售,請幫忙推薦給其他新手!
  • 2009/8 月第二版正式出版(基於 Android 1.5) 書籍網頁
  • 2009/3/20 正式出版(基於 Android 1.1),可至各大書局選購
Comment by bdchina2...@gmail.com, Nov 10, 2008

吊我们的胃口啊。

gasolin加油。

期待新的篇章。

BTW:读你的书有瘾,难得的入门好书。

Comment by hechen...@gmail.com, Nov 16, 2008

gasolin,加油!! 非常期待你的书出现,写的很好,很细,注重基本功。是每个android新手开发者入门的好书! 不知道你哪个时候把这些后续章节放出来?非常期待!!

Comment by VistoDa...@gmail.com, Nov 26, 2008

强烈期待呀,好书

Comment by project member gasolin, Mar 3, 2009

b9507..., 一樣是用 eclipse + adt 開發, 不同的 game 開發所需要的技能需求變化很大.

Comment by snakeni...@gmail.com, Dec 24, 2009

線上版什麽時候更新後續章節啊?期待您的續作!

Comment by project member gasolin, Dec 24, 2009

Google 什麼時候會把版本更新慢下來呀?我也想好好寫點新文章哪 XD

Comment by matism...@gmail.com, Dec 24, 2009

gasolin,我現在遇到了一個問題,是有關於Sqlite運用的問題,當我資料庫內沒有任何紀錄時,我開啟一個新的intent轉向到空白的輸入畫面時,會出現source not found的錯誤,可是如果資料庫有紀錄時,卻不會出現錯誤,請問你有遇到這種問題嗎?

Comment by project member gasolin, Dec 24, 2009

請參考 DummyNote? 的 Source Code

Comment by snakeni...@gmail.com, Dec 24, 2009

看完之後得益匪淺,已於線上書局購買實體書(第二版),以實際行動支持您將這個系列繼續寫下去造福後來人!gasolin大加油吖!

Comment by andr...@gmail.com, Jan 17, 2010

跟著書中在MyLocation?範例中一直走下去, 也開啟manifest的permission了, 不知道emulator還有哪裡需要設定的嗎? 因為我只要一使用msg.append(Double.toString(location.getLatitude()));就會立即出現has stopped unexpectly的錯誤訊息了...

我也想send GPS的經緯度進去, 但是完全沒用。GPS的圖案也沒出來,

Comment by yk771...@gmail.com, Feb 2, 2010

建議用自己key進去一步一步來不要直接用範例的檔案 這樣就不會有錯了!可以先打開GOOGLE MAP的程式再使用 send 經緯度進去這樣gps就會開啟囉~

Comment by Mr.Shi...@gmail.com, Jul 4, 2010

您好,我是您的書的讀者,關於再第二版書中的39-15的MyLocation?的程式,我照您的步驟實做後發現這兩個代碼 [2010-07-05 13:28:48 - mapTest] ActivityManager?: Can't dispatch DDM chunk 46454154: no handler defined [2010-07-05 13:28:48 - mapTest] ActivityManager?: Can't dispatch DDM chunk 4d505251: no handler defined 可以請問有沒有相關方法能夠解決呢

Comment by Mr.Shi...@gmail.com, Jul 6, 2010

您好,問題已經解決了,我執行環境有些許不一樣以修正,謝謝

Comment by nnsoftw...@163.com, May 18, 2011

请问下,DummyNote?中使用 getWritableDatabase()执行出错,catch了下,提示 no such table android_metadata; 这个应该怎么改??之前已经用adb shell创建了notes表。我google了下,添加了android_metadata,但是仍然通不过,报 can't upgrade read-only database from version 0 to 3,是否每个新增的DB都要包含android_metadata??

书中代码: public DbAdapter? open() throws SQLException{

dbHelper = new DatabaseHelper?(mCtx); db = dbHelper.getWritableDatabase(); // 出错 return this;
}

Comment by project member gasolin, May 18, 2011

請下載新版範例程式來比對 http://goo.gl/FgNUF ,看哪裡寫錯了

Comment by hua0...@gmail.com, Jul 9, 2011

我也遇到了如 nnsoftw...@163.com 一樣的問題。

public DB open() throws SQLException{

dbHelper = new DatabaseHelper?(mCtx); db = dbHelper.getWritableDatabase(); //出錯 return this;

執行上面程式碼時出錯。 錯誤訊息如下:

Logcat]device not found
com.android.ddmlib.AdbCommandRejectedException?: device not found
at com.android.ddmlib.AdbHelper?.setDevice(AdbHelper?.java:736) at com.android.ddmlib.AdbHelper?.executeRemoteCommand(AdbHelper?.java:373) at com.android.ddmlib.Device.executeShellCommand(Device.java:284) at com.android.ddmuilib.logcat.LogPanel?$3.run(LogPanel?.java:527)
下載的範例也是無法run...。 小弟的開發環境如下: OS: win 7 professional x64 dev tool: eclipse Helios Service Release 2 debug 時 設定 platform 為 2.2 (API Level 8)

有勞您了。感謝

Comment by colorha...@gmail.com, Aug 1, 2011

執行dbHelper.getWritableDatabase()這個函式之後

系統會跑到dbHelper class內的onCreate()去執行

檢查一下onCreate()內 db.execSQL(DATABASE_CREATE)裡的DATABASE_CREATE語句是否有打錯

Comment by hua0...@gmail.com, Aug 18, 2011

回報一下該問題後續… 後來小弟在 logCat 裡面看到比較完整的錯誤訊息後,才知道一共是有兩個問題造成的 一個是 create notes.db 後 需要再去 adb shell command 模式下 設定該db 檔案存取的權限,和 書中 設定 databases 資料夾的方式一樣 例: chmod 777 notes.db

第二個部分是 少了一個 android_metadata 的 table CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US'); INSERT INTO android_metadata VALUES('en_US');

不知道是版本問題還是作者漏寫了。少了這兩個,程式會error…。

不過小弟 現在卡在 insert "新增記事" 這個步驟了....囧rz


Sign in to add a comment
Powered by Google Project Hosting