bouquet

教學文章

1. 如何匯入本書Android與Google App Engine範例程式到Eclipse

請從File選單中點選Import (匯入)之選項,然後再General資料夾選項下選擇Existing Projects into Workspace。

2. 匯入專案後可能會遭遇的問題

匯入專案前仍需要確認你是否已經安裝完成所需開發工具,還有Google為Eclipse所開發的Plug-in,詳細內容請見第一章。因為讀者所用的開發環境上的不同,可能會遭遇到的問題與解決方法如下:

Android

  1. 找不到Android SDK API Level 10: 因本書範例程式預設使用 Android API Level 10 (Android 2.3.3),但若你並沒有安裝此版本的開發工具就會出現此問題,因此請在Window-->Preference-->Android底下,挑選你過去已經安裝的SDK。
  2. Java版本相容性 (JDK Compliance): 請於匯入的專案上點選滑鼠右鍵,選擇Properties,然後依照下圖所示,啟用專案特定設定,並指定你所所要的compliance level至1.6或1.5。

Google App Engine

  1. 找不到TimeZone檔案與Java版本相容性 (JDK Compliance):因GAE使用的Java SDK仍採用SDK 6.0,因此開發時可能會遇到此兩種問題,解決方法同Android之說明,或者在專案中指定使用Java SDK 6。

 

3. 更新的內容

因為Google會不斷的修改其API的內容,我們也需要與時俱進 (IT的宿命),在此部分提供最新的訊息與做法,延長你手中書的"壽命":

Google App Engine

  1. 執行緒(Thread)的使用:自GAE SDK 1.6.4起 (2012/3/27發佈)可以使用Thread,因此在本書13.2中所提及的GAE限制已經不存在了,使用com.google.appengine.api.ThreadManager來執行Thread。
  2. 上傳檔案至GAE時,Eclipse開發工具會複製資料至暫存區中,因此請定時清理你的暫存區資料夾的內容,避免硬碟空間不足之問題。

Google Cloud SQL

  1. 從2012/6/12起Google Cloud SQL已經啟動付費機制,也提供D1實體每周三小時的免費時數。
  2. 給使用率不高或是開發者建議:建議調整Instance的大小,尤其是你的使用率不高時,千萬別用D8的實體(因為價格差很多)。若初期僅做為開發之用途,也當然建議使用根據Per Use(執行次數)的付款計畫,可節省你的花費。Per Use的計費方式是以使用時間計費,且執行前Instance多為休眠的狀態,當接受請求後會立即啟動(約等待數秒鐘時間),然後會至少持續運作15分鐘的時間,若之後沒有任何的請求,則會再度進入休眠狀態。
  3. 給使用率高者之建議:除了可以調整大小之外,另外在付款計畫可選擇Package(如同每日吃到飽),除了無論每日有多少的資料庫連線都單一費率外,主要的好處是可以讓MySQL實體一直處於執行的狀態,而不用從休眠中恢復,因此可降低使用者等待時間。
  4. 授權的應用程式(Authorized applications)存取個數已大幅開放,過去的Small實體(即現在的D1)僅能設定一個App Engine應用程式,但現在已經可設定四個應用程式。
  5. 詳細Cloud SQL收費標準,請見此連結

PhoneGap

  1. PhoneGap 1.5.0起開始使用新的cordova架構,目前在附錄B4已經提供更新之程式(V1.9)。
  2. 若你要手動更新過去已建立的PhoneGap程式,請用下列方法更新:
    (1) 從PhoneGap網站下載最新的Java API (如cordova-1.9.0.jar)取代過去的phonegap-1.X.0.jar,當然也要把新的API加入到開發的路徑Path中。
    (2) 用cordova-1.9.0.js取代在assets/www資料夾底下的phonegap-1.X.0.js。
    (3) 從下載的資料夾 framework//res/xml/中複製plugins.xml與cordova.xml,到專案資料夾res/xml/底下。
4. 補充資料

Android

  1. 簡易點菜程式 (1): 學習到Layout, 視覺化界面設計, 元件的控制與程式邏輯
  2. 簡易點菜程式 (2): 紀錄點菜資料至手機程式中儲存。

App Engine Service

  1. 產生隨機密碼 (1):由網站產生一組隨機密碼,供使用者登入時使用。在此學到如何撰寫JSP程式,並讓程式碼與顯示介面的分離。
  2. 產生隨機密碼 (2):承上面的專案,會利用Java Mail寄送密碼給使用者。
  3. Java Mail: 如果你想要傳送HTML格式之訊息,請修改在CH15.6文中的sendEmailClass類別程式的方法sendEmail(),將msg.setText(msgBody)改為msg.setContent(msgBody, "text/html")