廢言
android 的應用程式,對我來說,都是玩票性質。為了做表面功夫,每個禮拜都有東西可以present,也只好做一些自己沒什麼興趣的事了。不過老板也有他的道理,現在不是喜不喜歡,願不願意的問題,而是在"高層"那些不懂技術的beta user的眼中,要了解自己在他們心中有沒有value。說穿了,這不只是你為公司做了多少事,牲犧了多少自我,更是你的表面功夫,嘴炮能力的高低。隨便講個比例,辛辛苦苦的完成了一個projcect,在老板眼中可能可以拿到三成的value。如果就此打住,那你就是這樣了,公司不會感謝你,不景氣的時候,你仍然是裁員名單的正取生。但如果嘴炮能力夠,懂得吹噓,才有可能拿到那佔大部份的七成。更有甚者,會有另一票完全沒辛苦過的人,會來搶這七成。這是事實,也是人性。只是得問問自己,要站在哪個點上?有多sophiticated?某種程度上,我的確是變了,讓我有點討厭自己。
引言
在Android 1.5 SDK提供了AppWidget的功能,因此可以在桌面上擺放各式各樣的widget。Widget的特色是interactive,包括對使用者或是framework。使用者可以暫停一個music player; framework可以定期更新widget的內容。相較於應用程式,是活潑多了! 也因為此特色,widget都應該是一個broadcast receiver,待會要介紹的,也是最陽春的widget,被強迫要深入時,再來update。
kezeodsnx 發表在 痞客邦 留言(2) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
本篇主要參考intent and intent filter,加上個人說明與補充而成。
引言
對一個android的應用程式而言,最重要的檔案是AndroidManifest.xml。它負責向下一層的framwork註冊該應用程式,包括此應用程式的名字,位置 (哪個category),用哪個icon,有什麼功能 (avtivity,service,broadcast receiver,content provider)等等。使得framework (package manager)接到通知 (intent)時,能夠根據目前系統註冊的情況,濾出符合條件的功能。
kezeodsnx 發表在 痞客邦 留言(2) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
說明
先把emulator跑起來後,在console下adb logcat後,就會有一堆message跑出來了,如
I/SystemServer( 568): Starting Battery Service.
kezeodsnx 發表在 痞客邦 留言(3) 人氣()
來源:Android的应用程序结构分析:HelloActivity
本例以一個簡單的HelloActivity程序為例,簡單介紹Android應用程序的源代碼結構。事實上,Android應用程序雖然不是很復雜,但是通常涉及了JAVA程序,XML文件,Makefile多方面的內容。HelloActivity雖然簡單,但是麻雀雖小,五髒俱全,是學習 Android應用程序的最好示例。
第一部分:HelloActivity的源代碼
HelloActivity工程的源代碼在Android目錄的development/samples/HelloActivity/中,代碼的結構如下所示:
development/samples/HelloActivity/
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
Google提供的Android第一層的目錄和文件如下所示:
|-- Makefile (整個android的Makefile)
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
來源: 上課講義摘錄之23:JNI與Android VM之關係--Android大舞台 文章講義分享 --Google Android 論壇
1. 從如何載入*.so檔案談起
由於Android的應用層級類別都是以Java撰寫的,這些Java類別轉譯為Dex型式的Bytecode之後,必須仰賴Dalvik虛擬機器(VM: Virtual Machine)來執行之。VM在Android平台裡,扮演很重要的角色。
此外,在執行Java類別的過程中,如果Java類別需要與C組件溝通時,VM就會去載入C組件,然後讓Java的函數順利地呼叫到C組件的函數。此時,VM扮演著橋樑的角色,讓Java與C組件能透過標準的JNI介面而相互溝通。
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
來源:Android模擬器adb命令介紹
在SDK的Tools文件夾下包含着Android模擬器操作的重要命令adb,adb的全稱為(Android Debug Bridge就是調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。
adb的工作方式比較特殊採用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
在linux 2.6後使用的cpio 格式,方法都類似:
user-ubuntu:/home/user/android-sdk-linux_x86-1.5_r2/platforms/android-1.5/images# mkdir ramdisk-ext
user-ubuntu:/home/user/android-sdk-linux_x86-1.5_r2/platforms/android-1.5/images# cd ramdisk-ext/
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
安裝
下載完後,解壓縮:
root@user-ubuntu:/home/user/temp/source/blog# ls
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
簡介
NDK是SDK的companion tool,N是指Native,有一點imply performance的感覺,開發者可透過NDK繞過application framework,指接使用底層的資源。NDK需與SDK搭配使用。可在此下載。
NDK讓開發者可以在自己的android應用程式中使用所謂的native code,這些code可能是由C/C++實作,這對暨存的C/C++程式在移植到android上有相當大的便利。對此,NDK提供了以下:
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
原作:劉旭暉 轉載請註明出處 http://blog.csdn.net/colorant/
增訂:Rider
1. Android內核Porting相關背景知識
1.1 運行平台
Google 的Android平台到20020227為止,應用部分還是以二進制的 Binary形式發佈的,其编譯的目標平台 ARM926EJ-S的CPU是屬於ARMV5T的版本,所以ARMV4架購的CPU平台無法使用其二進制代碼。關於這點,可以参考下面這篇文章,Benno在此做了詳細的理論分析和代碼測試:http://benno.id.au/blog/2007/11/21/android-neo1973 . 不過依照目前現階段情形除了原本基於ArmV5或以上的架構的平台可以實際運行Android外,亦可在 ARMV4 上面運行了,詳細操作步驟請參考文章最下面 Benno’s 的一些連結資訊,他有 release 一些 patch 可以供 porting 實驗之用。
1.2 軟體環境(開發所需資源)
Android Official Download:
Kernel, emulator, development tool 等下載點: http://code.google.com/p/android/downloads/list
kezeodsnx 發表在 痞客邦 留言(0) 人氣()
[轉載請註明出處] http://kezeodsnx.pixnet.net/blog
作者: kezeodsnx
架構
Android使用的是Java,因此需要一個Java platform,意思是需要有能力執行Java的bytecode。而Java platform的架構為:
。Java bytecode
kezeodsnx 發表在 痞客邦 留言(0) 人氣()