顯示具有 education 標籤的文章。 顯示所有文章
顯示具有 education 標籤的文章。 顯示所有文章

2009年5月7日 星期四

Easy! Install Android 1.5 教學

有人問筆者Android 1.5 為可開唔不到 Emulator .因為1.5 有三個AVD 模擬器類型 .我一步教你
Step1:
http://developer.android.com/sdk/download.html?v=android-sdk-windows-1.5_r1.zip


「Android 軟體開發套件」(SDK) 1.5 以上的版本提供了支援不同版本模擬器的功能,在使用模擬器之前,必須先建立一個模擬器後才可在 Eclipse 開發環境中使用。

Step2:
在 android-sdk/tools 中, 建立新專案或是管理模擬器。我們來使用「android」DOS 行來新建立一個模擬器。
>android list targets

看图(紅字是Command ):

Step3:
在這邊列出了三種模擬器類型。分別是編號(id)為 1、2 的 Android 1.1、1.5 模擬器,與編號(id)為 3 的「Google APIs」,Google 把自己提供的應用程式(如 Google Map)放在「Google APIs」這個模擬器類型中,因此要開發 Google Map 等 Google 專屬應用程式時,就必須先建立編號 3 這類型的模擬器,稍後才能在適當的模擬器上作驗證。
建立模擬器
我們現在來建立一個基本的 Android SDK 1.5 模擬器。
在命令行中輸入以下命令:
> android create avd --target 2 --name cupcake

完成!

2009年5月5日 星期二

Easy Debug Android 在程式中加上除錯訊息

程式幾乎行行都可以出錯。要看程式中的哪一部分可能會出錯,實在是門很深的學問。要是沒有線索,光靠我們的腦袋來追蹤判斷,或是靠直覺東試試、西改改,這種作法就跟使用巫毒術扎娃娃一樣,直到被扎的人哪天身體疼了,就算巫毒作法有效。這樣實在不是一種好的除錯方式。

「Log」函式的作用,就像是色筆一樣,協助我們在程式碼中「作記號」,這些數位記號,會在稍後就介紹到的「LogCat」工具中顯示。

依據訊息的類型,我們有五種 Log 訊息形式可以用作記錄。

Log.v (VERBOSE) 詳細訊息
Log.d (DEBUG) 除錯訊息
Log.i (INFO) 通知訊息
Log.w (WARN) 警告訊息
Log.e (ERROR) 錯誤訊息
一般較常用的是 Log.d(除錯訊息) 、Log.w (警告訊息),和 Log.e (錯誤訊息)。範例中多使用 Log.d(除錯訊息) 。
//-[Code]------------------------------------------------------------------

Log.d(TAG, "find Views");


private static final String TAG = "ecAndroid";

catch(Exception err)
{
Log.e(TAG, "error: " + err.toString());
Toast.makeText(Bmi.this, getString(R.string.input_error), Toast.LENGTH_SHORT).show();
}
//-[Code]------------------------------------------------------------------

如果是程式碼語法格式上的問題,我們可以在編譯前,就透過開發工具提供的預先編譯警示,得到提醒並及早改正。在我們改正好這些語法格式上的問題後,開發工具才允許我們實際編譯應用程式。接著,才能將編譯好的應用程式上傳至模擬器,再開始進一步的測試。

除了程式碼語法格式上的問題,絕大部分會造成大麻煩的,是隱藏在程式邏輯中的問題。這些問題只有在模擬器甚至在實際機器上運行時才會出現。為了解決這些問題,我們需要一些協助工具。在 Android 平台上,我們可以透過「Log」函式,來達到自行在程式碼中加入一個個自訂的「記錄點」或「檢查點」。並可以透過開發環境中的「LogCat」工具來查看記錄。當程式流程每次運作到「記錄點」時,相應的「記錄點」就會在開發工具記錄中輸出一筆偵錯用的訊息。開發者透過這份記錄,來檢查程式執行的過程、使用到的參數,是否與我們期望的結果符合。並依此來辨別程式碼中可能出錯的區域,好能對症根治造成問題的程式碼。

其實Android 有二種Debugging 方法,筆者已介紹其一,如要詳細可到以下website 或email給我

http://developer.android.com/guide/developing/debug-tasks.html

2009年4月30日 星期四

註冊/上傳 Android Market

Android Market
要釋出程式讓所有使用者使用有三種方式:

發佈到 Android Market
自己提供程式線上下載
發佈到第三方 Android 應用程式下載網站
「Android Market (市集)」是一個「Android」官方(Google)提供的「Android」應用程式下載網站,同時也內建於所有的「Android」手機中。透過手機上的「Market」程式,使用者可以直接在「Android」手機上瀏覽「Android Market」網站,查看各種可供使用的應用程式。看到喜歡的程式可以直接下載安裝。也可以透過「Android Market」為這些軟體打分、或是交換對這些軟體的意見。

我們也可以將寫好的應用程式放在自己的網站上提供下載,或是透過其他的「Android」應用程式下載網站發佈。但是,還有哪個地方會比官方的「Android Market」更容易吸引使用者造訪呢?所以我們將主要介紹如何將應用程式發佈到官方「Android Market」上。

Android Market 的運作方式
「Android Market」的運作方式如下

開發者可以將自己寫好的軟體上傳到 Android Market 中。
開發者透過 Android Market 販賣軟體的 30% 收入,得分給電信商跟電子收費商(如手機月費帳單或 Google Checkout 等),所以開發者可以拿到應用程式定價的 70%。
註冊為「Android Market Developer」要收美金 25 USD的「入場費」。推測可能是種為了保證「Android Market」上應用程式的質量,也為了促使開發者寫一點收費軟體,好讓電信商有得分成的策略。
註冊 Android Market
前往 http://www.android.com/market/ ,畫面右上角有一段「Interested in having your application in Android Market?」敘述,按下其下方的「learn more」按鈕,即可開始註冊成為「Android」開發者。

開發者用的網址是 http://market.android.com/publish

開發者可以透過「Android Market」發佈「Android」應用程式。首先,開發者得註冊一個 Google 帳號。然後使用(Google Checkout)以信用卡付出 $25 USD 的註冊費用。 最後得同意「Android Market」的使用授權協議。

註冊一個 Google 帳號不難,相信大部分讀者都已經擁有一個 Google 帳號。

在申請「Android Market」時要填入加上zip code的手機號碼。HK加上zip Code的手機號碼為「+852 9212xxxx」。「852」是zip COde,加上一個「0」之後,「09xxxxxx」是你的手機號碼。「+」則是「加上zip Code的手機號碼」表示方式。 接著按下「Google Checkout」圖示,如果沒有「Google Checkout」的話,也需作先設定。一切完成後在「Google Checkout」中勾選「I agree and I am willing to associate my credit card and account registration above with the Android Market Developer Distribution Agreement.」。畫面會出現「等待信用卡認證的訊息」,並有 「Google Checkout」的確認函寄到我們設定的電子信箱中。接著想要繼續登錄開發者網頁時,會發現這個網頁似乎壞掉了。其實是等待信用卡認證完成,需要一點時間(一兩個鐘頭),等認證好,完成付款程序後,網頁就能再次開啟。

開啟後會出現「Your Registration to the Android Market is approved!You can now upload and publish software to the Android Market.」(已經註冊完成)訊息。以後點擊「Android Market」網頁右上角的按鈕時,就會進入開發者面板(Developer Console)頁面。

在開發者面板畫面的左上角是開發者的暱稱。暱稱旁邊可以選擇「Edit profile » 」(編輯個人資料)來編輯之前填入的「Android Market Developer」資訊。

上傳應用程式到 Android Market
選擇右下角的「Upload Application」(上傳應用程式)按鈕,出現應用程式上傳畫面。各個欄位的作用都寫的很明白,也可以為應用程式自行定價。

「Android Market」上所有的程式可分為「應用程式」與「遊戲」兩大類。選擇好大分類後,其下會出現各自可選的子分類。 在「Upload assets」區塊中,點選「Application .apk file」旁的「瀏覽...」按鈕,就可以上傳已經簽署好金鑰的「.apk」程式

2009年4月28日 星期二

Easy ! Android軟件APK安裝方法很簡單 (Step by Step)



首先下載 一個LUKLUK.APK

LukLuk Player Support Online Streaming Media(video/music) and SDCard Media File Play.Supports 3GP, MP4, MP3, WMA file formats

LukLuk播放機支援線上流媒體(視頻/音樂)和SD Card媒體檔播放,支援3GP,MP4,MP3,WMA檔案格式.

線上流媒體支持6大類別: 電影, 動畫片, MV, 體育, 電視劇, 其它

Android軟件APK安裝方法很簡單,Android手機網通過多圖來詳解如何安裝APK文件到Android模擬器。

LukLuk Player Support Online Streaming Media(video/music) and SDCard Media File Play.Supports 3GP, MP4, MP3, WMA file formats

LukLuk播放機支援線上流媒體(視頻/音樂)和SD Card媒體檔播放,支援3GP,MP4,MP3,WMA檔案格式.

線上流媒體支持6大類別: 電影, 動畫片, MV, 體育, 電視劇, 其它

---------------------------------------------------------------------------------

Android軟件APK安裝方法很簡單,Android手機網通過多圖來詳解如何安裝APK文件到Android模擬器。

1) 首先啟動Android模擬器,在Android SDK的Tools文件夾中找到Emulator文件,雙擊emulator.exe即可啟動模擬器

2) 複製需要安裝的APK檔到Android SDK的Tools檔夾中(APK和emulator.exe同檔夾),這裡我們演示安裝的為 LukLuk.APK文件。

3) 執行 Windows開始菜單 => 所有程式 => 附件 => 命令提示符 或通過 Win+R 組合鍵調出 運行 對話框輸入cmd 單擊確定即可。

如圖 Step 1 , Step2 , Step3

Step1 : > cd由於我的Android SDK安裝路徑為E盤,,所以需要定位emulator tools目錄) 在cmd命令提示符中輸入E: (Click Enter)

Step2 : > abd install lukluk.apk

Step3: > 你可以見到lukluk icon

完成!

2009年4月22日 星期三

教你在Google Android platform 中處理圖片

Android是Google推出的業界首個完全開放且免費的移動應用開發platform,自從去年11月份Google宣佈舉辦總獎金為1000萬美元的Android開發者大賽以來,人們對瞭解它、使用它的熱情逐漸升溫。自開賽以來全世界已經有近1800個新參賽產品被提交,其中甚至有很多因其獨具一格的創意而登上技術界媒體的頭條,成為人們關注的焦點。在這個平臺上引入了許多有趣的概念,不過很多開發者依然認為它只是一個Linux、Java和Google自己的應用程式設計發展介面API的組合產物。本文將通過介紹圖片處理相關的程式設計,來讓你明白使用Android平臺非常簡單,而且這個平臺也非常強大。

開始之前的入門知識瞭解  現在關於Android的參考資料並不是很多,而當前最好的資料則來自于Google自己的Android的網站:http://code.google.com/android/

在這兒有你所需要的所有必須的開發工具、外掛程式和示例代碼,你可以免費下載它們。下載操作很容易,在此不再浪費筆墨介紹。

1 Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),2 R.drawable.pic1);3 int pic_width = mBitmap.width();4 int pic_height = mBitmap.height();如果你希望閱讀和編寫一個沒有指定資料夾結構的圖片檔,它應該放在模擬器的/data/data/YourPackageName/files/目錄下。舉個例子來說,如果你為你的常式創建一個套裝程式名稱為com.cyl.TutorialOnImages。那麼當你在運行的時候創建一個新的圖片檔,它將被放在/data/data/com.cyl.TutorialOnImages/files/資料夾下。請記住每一個Android應用都將以它自己的用戶和組ID來啟動,因此你專門設定,某些資料夾是不可以通過你的軟體來訪問的。下面是一段當你希望輸出一個點陣圖到一個output.jpg檔時的代碼。

除了線上文檔之外,你還可以通過加入社區論壇的方式來得到技術説明。如果你是初學者,我推薦你選擇使用免費的開發工具Eclipse,因為它集成了最好的Android SDK,另外還有調試軟體和模擬器。根據很多有經驗的開發者介紹,儘管通過命令列或批次處理腳本都可以實現創建Android項目,但是使用Eclipse無疑是最容易上手的方法。  處理圖像的API有哪些?  Android的API可以實現很多強大的功能,其中包括:

·SQLite結構化資料存儲資料庫(SQLite for structured data storage):通過它你不用花很大勁就可以在你的應用程式內嵌入一個微型資料庫。·圖形庫支援:基於OpenGL ES嵌入版的最佳二維圖形庫和三維圖形庫。·集成Web流覽器支援·多媒體支援:它支援常用的音訊、視頻和圖像格式。Google API:映射(Mapping)功能可以讓協力廠商代碼顯示和控制一個Google Map。它還可以通過XMPP支持一個叫做GTalkService的P2P服務。·硬體相關的支援:有很多人們所期待的功能,用來支援GSM電話、藍牙、3G、WiFi、定位服務等相關硬體。

在Google提供的大量API中,我們主要關注下面兩個套裝程式中的相關API:·android.graphics:核心渲染包,它提供了一些初級圖形工具,諸如畫布、顏色篩檢程式、畫筆等,可以讓你直接在螢幕上進行影像處理。·android.graphics.drawable:編譯過的視覺化資源用來做背景、標題或螢幕的其他部分。  由於圖片是點陣圖檔,因此我們將重點瞭解和使用在android.graphics.Bitmap下的API。  檔I/O和支援的圖片格式  Android支援好幾種常見的靜態圖片格式,例如PNG、JPG和GIF。在本文的示例中,我們將使用JPG格式。如果你考慮使用圖片的透視功能,可能選擇PNG格式更合適一些。  為了從你的軟體中查看一個圖片檔,你應該將它放在你的軟體根目錄下的res/drawable目錄下。一旦這個圖片放在這個資料夾下之後,當你重新編譯打包的時候,會自動為它產生一個資源ID。舉個例子來說,如果你擁有一個叫做pic1.jpg的圖片檔,它將可以通過它的資源ID R.drawable.pic1在程式中被訪問。你可以看到這個影像檔副檔名已經被脫去,而R則代表了整體資源檔R.java,它是自動生成的,除非你非常瞭解這個檔中的資源結構,不推薦你編輯它裡面的內容。下面的示例代碼介紹如何通過一個影像檔的資源ID來訪問它。

1 try {
2 FileOutputStream fos = super.openFileOutput("output.jpg",
3 MODE_WORLD_READABLE);
4
5 mBitmap.compress(CompressFormat.JPEG, 75, fos);
6
7 fos.flush();
8 fos.close();
9 } catch (Exception e) {
10 Log.e("MyLog", e.toString());
11 }

圖片查看、顏色和透明  每一個Android應用應該有一個螢幕佈局。你可以在軟體內動態的創建它,或者通過一個外部XML檔來指定它。這個檔默認是main.xml。為了包含一個圖片,你要使用一個叫做ImageView的查看類。下是main.xml檔的內容:
Add main.xml 內.

< ImageView id="@+id/picview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

如同圖片檔可以被通過一個資源ID來訪問一樣,編譯後在全域資源檔R.java中自動為main.xml產生一個叫做R.layout.main的資源ID。下面是當應用程式首次在模擬器上啟動時的默認視圖。圖1、軟體在模擬器上首次啟動  每一個圖像圖元通過一個4位元組整數來展現。最高位元位元組用作alpha通道;換言之用來實現透明/不透明控制。255代表完全不透明;0則代表完全透明。接下來一個位元組是red紅色通道;255代表完全是紅色。依次類推接下來兩個位元組相應的實現綠色和藍色通道。



Ref: http://www.androidlab.cn/

2009年4月20日 星期一

「Android Day Package -- Android 應用程式新手入門」

「Android Day Package -- Android 應用程式新手入門」整理了這陣子在研討會的演講材料,包含:
簡報一份
Android 入門教學文件共11集
範例程式4例
因為研討會是一天的演講活動,因此這些內容很適合新手做為「學習 Android 應用程式」的入門教材,大約只需要一天的時間,就能初步了解 Android 的開發工具使用,並了解 Android 的應用程式模式,故取名為「Android Day Package」,期望能提供一個「Android 新手一天入門」的教學套件。請不吝指教。
簡報的部份是受零組件雜誌邀請,進行一天的 Android 演講活動,所特別製作的簡報;範例則是參考 Android SDK 所撰寫的實例,範例是配搭簡報進行實例講解所使用的程式碼。[下載 Android Day Package] 後,可搭配以下共11份教學文件學習;以下的教學文件是為製作簡報時的筆記,特別整理成一份教學文件與大家分享。
課程主題
Android Day Package 提供以下的課程主題。
1. 開放手機平台發展現況 (1hr)‧開放手機平台陣營 ‧授權模式比較 ‧市場現況 ‧行銷與推廣策略
2. Android 入門 (1.5hr)‧安裝 SDK ‧Android模擬器 ‧Android開發工具 (ADT) ‧Android除錯工具 (ADB) ‧Hierarchy Viewer
3. Android應用程式模式 (2hr)‧Android Framework ‧Activity ‧Service ‧BroadcastReceiver ‧Process types ‧Views, ViewGroup ‧Design Screen ‧AndroidManifest.xml ‧Intents
4. Android應用程式開發 (1hr)‧Hello, Moko 範例程式 ‧Openmoko Neo FreeRunner手機安裝 ‧安裝 apk套件 ‧使用 Neo FreeRunner實機展示
Android 教學
2009.01.19:
Android 教學,#11: AndroidManifest.xml 的用途是什麼?
2009.01.19: Android 教學,#10: 如何檢查 Service 是否已啟動?使用 Android 除錯器
2009.01.12: Android 教學,#9: 啟動 Service - startService()
2009.01.12: Android 教學,#8: 沒有 UI 的 Service
2009.01.08: Android 教學,#7: 如何讓文字並排顯示 - TableLayout
2009.01.05: Android 教學,#6: WebView 體驗與 findViewByID
2009.01.04: Android 教學,#5: 使用 View 的 XML 屬性
2009.01.04: Android 教學,#4: 使用 XML 安排 UI
2008.12.29: Android 教學,#3: 第一個 Android 專案
2008.12.29: Android 教學,#2: “Hello Moko” - Activity 與 View 的關係
2008.12.29: Android 教學,#1: Android 應用程式模式