Android 上百實例源碼分析以及開源分析

首先 介紹幾本書籍(下載包中)吧。

01_Android系統概述

02_Android系統的開發綜述

03_Android的Linux內核與驅動程序

04_Android的底層庫和程序

05_Android的JAVA虛擬機和JAVA環境

06_Android的GUI系統

07_Android的Audio系統

08_Android的Video 輸入輸出系統

09_Android的多媒體系統

10_Android的電話部分

11_Android的連接部分

12_Android的傳感器系統

13_Android應用開發揭秘(含代碼)

14_Android 電話與短信應用

15_Android鬥地主[牌桌實現源碼]

16_Android核心分析

17_Android開發權威指南

18_Android開發指南中文版-應用程序框架

19_Android驅動開發入門及手機案例開發分析教程

20_Android手機開發應用案例分析之手機版開心網功能實現

21_Android硬件驅動開發關鍵技術和HAL移植要領

22_Android中文翻譯組——Android中文API合集(4)

23_Android Google.Android開發入門與實戰

24_Android 精通Android遊戲開發

25_Android 3G應用開發之Android

26_Android 15個Android很有用的代碼片段

27_Android Android 圖像處理篇

28_Android Android_CTS測試研究

29_Android Android_GoogleMaps基礎開發教程

30_Android Android_GPS架構分析

31_Android android_JNI編程_一些技巧

32_Android android_jni操作指南

33_Android Android_NDK開發實例

34_Android Android_RIL層剖析(官方翻譯)

35_Android Android2.2+API+中文文檔系列

36_Android Android的Message機制(簡單小結)

37_Android Android的主題和風格介紹

38_Android Android開發環境搭建

39_Android Android內存泄露調試

40_Android Android日歷完整實現

41_Android Android攝像頭的應用

42_Android Android實現GPS定位

43_Android Android通過JNI調用驅動程序

44_Android Android網絡開發詳解

44_Android android寫的google map api 應用

46_Android android學習資料大全

47_Android Android音視頻的編解碼

48_Android Android應用框架原理與程序設計36技%28高煥堂著、簡體版%29

49_Android Android與JUnit深入淺出

50_Android Android真機開發教程

51_Android Android中文翻譯組——Android中文API合集(4)

52_Android bluetooth 藍牙

53_Android Google_Map_API谷歌地圖

54_Android Android的XML解析

55_Android 牛人Android提高篇

56_Android 手把手教你用Android開發新浪微博客戶端

57_Android Android 開發手冊

58_Android android+底層系統開發

59_Android Android2.3用戶手冊

 

毋庸置疑,看完上面的書籍,你不是高手,都不行。

我隻是每天看一個小時,但是已經看完瞭大半部分,其它時間用於研究c++方面的東西瞭,沒辦法啊,我以前是搞c++的,現在換瞭公司,得學Java瞭,但是我對c++的愛好始終沒有減,有時間的話我把研究好瞭的東西開源出來大傢一起交流下。

 

進入正題瞭,以下是大量的Android 的實例源碼分析(含 開源項目 —-都在下載包中),我一一詳解,簡單的或重復的技術就直接略過瞭,謝謝大傢的指點。

 

1、360新版特性界面源代碼

實現瞭360新版特性界面的效果,主要涉及到Qt的一些事件處理與自定義控件。但源碼好像是c++。

 

2、aidl跨進程調用

服務端onBind暴露,然後客戶端bindService得到aidl對象

 

3、UI設計之 仿做蘑菇街UI設計 源碼

包含viewflipper用來顯示一個展示幻燈片banner 用到瞭OnGestureListener,OnTouchListener接口。

4、Android 程序的安裝、卸載和更新

  通過Intent機制,調出系統安裝應用/卸載應用,直接調用安裝接口,

 

5、Android有未接來電後處理(判斷未接來電)

繼承PhoneStateListener後,當手機的狀態改變後將會觸發onCallStateChanged.手機的狀態分為CALL_STATE_RINGING(響鈴中),CALL_STATE_IDLE(空閑),CALL_STATE_OFFHOOK(忙音)。

 

6、Android與js交互

webview可以通過loadUrl()這個函數對html上的js進行調用同時傳參(js需要參數) 這樣就可以向html傳值瞭。繼承WebChromeClient類,分別使用Android的內置控件重寫瞭Js中對應的對話框,就是說對js中的對話框做處理瞭。

 

7、Android遠程登錄含有loading登錄效

通過使用Handler實現遠程登陸功能以及效果,使用Socket以及DataOutputStream、DataInputStream 實現登陸判斷,代碼含註冊界面、服務器響應。

 

8、android在wifi下手機與電腦的socket通信

手機作為服務端,電腦使用MFC編程作為客戶端,原理是,手機建立一個ServerSocket,並獲取自己的ip地址和端口port;然後電腦通過socket連接手機的ip:port。熟悉c++的人可以測試。

 

9、Android之Wifi學習教程

主要講解瞭四個類ScanResult,wifiConfiguration,WifiInfo,WifiManager的使用方法。

 

10、Android之用PopupWindow實現彈出菜單

使用瞭popupWindow窗體輕松實現瞭菜單很難實現的界面。多級菜單中包含瞭子菜單。

很有學習價值。

 

11、Android自動開關機實現

通過BroadcastReceiver 實現自定義消息。

 

12、Android中監聽電話狀態

Android在電話狀態改變是會發送action為android.intent.action.PHONE_STATE的廣播,而撥打電話時會發送action為android.intent.action.NEW_OUTGOING_CALL的廣播.

 

13、Android自動發送短信

sendTextMessage方法中第一個參數表示短信的目的電話號碼,第二個參數表示短信服務中心號碼,如果為null則使用默認的短信服務中心號碼。第三個參數表示短信內容,第四個參數表示發送短信結果內容,第五個參數表示發送短信到目的地址後的回復信息。

 

14、BrewClock倒計時

使用CountDownTimer這個記錄下載時間類實現計數。將後臺線程的創建和Handler隊列封裝成為瞭一個方便的類調用。

 

15、FiveChess五子棋

通過一個自定義類繼承SurfaceView 實現界面,擴展瞭 Const,SurfaceHolder.Callback, Runnable等接口。

 

16、DialogShow

一個極其簡單的Dialog例子

 

17、dialog去除邊框代碼

看標題就應該知道,是一個對話框的外觀效果的例子。

 

18、BOOK看遍所有UI控件

一個例子實現瞭Android 裡面所有的UI控件

 

19、奇藝高清UI界面源代碼

一款很好看的界面,有首頁,分類,搜索,我的資料,更多。分別實現瞭貼圖輪換,界面闕套,以及多標簽,輪換動畫等特效。從這代碼中可以學習到界面佈局,理解BaseAdapter適配器的作用。主要是UI設計,具體的看代碼喲。

 

20、hotel賓館系統

一款有java實現的賓館系統,學習Java的可以看下,學習Android的童靴飄過。

 

21、OssSystem(OA系統圖書管理簡單版)

簡單的實現瞭圖書管理的系統,主要還是UI設計,其中封裝瞭一個類與服務器交流。

 

22、QQ_UI之分類菜單DEMO

ListView內嵌GridView的實現。

 

23、從android中調用web service的源碼

詳細見代碼(簡單)

 

24、從網絡上獲取圖片

主要通過InputStream,FileOutputStream,HttpURLConnection實現。

 

25、動畫效果 translate、scale、alpha、rotate 切換Activity動畫控件位置調整

用四個4個TextView 實現瞭不同的動畫效果

 

26、抖動窗口

通過Animation類 實現 編輯框的抖動

 

27、QQ的登錄界面 源代碼

主要是UI設計,在佈局文件中實現。

28、tablelogin(登陸界面)

主要是UI設計,含登陸,註冊等界面。

 

29、多點縮放字體

通過setTouchListener監聽實現多點消息,然後效果實現。

 

30、ImageView 圖片循環跑馬燈的效果

通過Animation 實現ImageView 的動畫效果。

 

31、ViewPager-實現左右兩個屏幕的切換

實現瞭ViewPager-實現左右兩個屏幕的切換 動畫效果(沒有引用Animation)。

 

32、LoginXml

簡單的 登陸界面設計。

 

33、miniTwitter登錄界面

簡單的 登陸界面設計。

 

34、VIEW雙緩沖與SurfaceView比較

如題。

 

35、畢業設計優秀論文

內容包括移動辦公畢業論文,基於Android的移動公交查詢系統設計與實現,基於Android平臺的3G氣象軟件,基於Android平臺的星座查詢軟件設計,基於android手機平臺的吃豆人遊戲設計與開發。

 

36、超爽的android抽屜效果

寫瞭一個繼承LinearLayout的類實現抽屜效果。可以從本例中學習到一些自定義控件。

 

37、Android程序如何升級

詳細見文檔。

 

38、OPENG開發的示例代碼

C版 詳細見代碼。

 

39、MineSweeper

Java實現的掃雷遊戲(經典)。詳細見代碼。

 

40、TankWar坦克大戰

有Java實現的坦克大戰。詳細見代碼。

 

41、多級PopupWindow的小demo

很好的學習瞭PopupWindow。

 

42、個人消費記錄軟件

很好的學習瞭操作數據庫實現消費記錄。

 

43、仿優酷Android客戶端圖片左右滑動(自動滑動)

JDK中的多線程並發庫:ScheduledExecutorService的使用,用它實現的每兩秒滑動一次圖片,大傢也可以用其它方式實現。Handler+Message機制更新UI。

 

44、高仿基於android2.2(Froyo)的Contacts

實現瞭對聯系人進行操作,詳細見代碼。

 

45、Android防止內存溢出淺析

對防止內存溢出總結瞭幾條。

 

46、換膚 程序

詳細見代碼,非常簡單。

 

47、仿iphone 氣泡短信 DEMO

ListAdapter 實現,詳細見代碼。

 

48、漸入漸出動畫 無閃爍 無黑底 Demo

如題,詳細見代碼。

 

49、高仿 WIN8系統 磁貼點擊下沉傾斜效果源碼

如題,詳細見代碼。

 

50、結合html5jscss測試程序附源碼

emoJavaScriptInterface類為js調用android服務器端提供接口 android

作為DemoJavaScriptInterface類的客戶端接口被js調用調用的具體方法在DemoJavaScriptInterface中定義: 例如該實例中的clickOnAndroid。詳細見代碼。

 

51、簡單的訂機票系統源碼

用調用webservice獲取xml,將獲得xml再解析出來

 

52、獲取Android系統程序信息

如題,詳細見代碼。

 

53、加載網頁進度條

標題欄顯示網頁標題並且滾動,並且用進度條顯示網頁的加載進度(重新自定義標題欄。詳細見代碼。

 

54、仿大眾點評源碼

隻是簡單的實現瞭UI,沒有與服務器交流。學好Ui非常好的例子。

 

 

55、android獲取網絡數據到本地並查看

詳細見文檔。

 

56、仿QQ微信登錄界面

學習UI非常好的例子,隻是UI登陸註冊等設計,詳細見代碼。

 

57、基於socket通訊的文件續傳

基於socket通訊的文件續傳,android基於socket通訊的文件續傳。詳細見代碼。

 

58、監控別人的行蹤

分別用GPS,google,baidu等定位行蹤。

 

59、仿UCWEB界面源碼

詳細見代碼。

 

60、仿新版人人的效果

非常好學習界面例子,詳細見代碼。

 

61、仿ireader書架

詳細見代碼。

 

62、Android模仿樂淘的應用程序分析源碼

詳細見代碼。

 

63、平臺水波效果

詳細見代碼。

 

64、Android拍照上傳代碼樣例

如題,見代碼。

 

65、模仿微信導航頁效果源碼

前面已經出現過,詳細見代碼。

 

66、拖動 Button 顯示效果

一個button按鈕 可以被拖動到任意位置,主要是通過Ontouch消息實現。

 

67、嵌套TabHost示例

對學習TabHost非常好的例子

 

68、開發 API人臉檢測實例教程

通過兩個主要的API,Android提供瞭一個直接在位圖上進行臉部檢測的方法,這兩個API分別是   android.media.FaceDetector和android.media.FaceDetector.Face,已經包含在Android官方API中。

 

69、強行結束APP進程的方法

android.os.Process.killProcess(android.os.Process.myPid());      

或System.exit(0);

 

70、精仿QQ設置界面

模仿瞭精仿QQ設置界面,學習界面的好例子。詳細見代碼。

 

71、圖片陰影效果和影子效果

自繪實現。詳細見代碼。

 

72、天天動聽 半透明Menu效果

自定義實現,詳細見代碼。

 

73、通過手勢實現的縮放處理

前面已講。

 

74、開發之 SD卡的使用

詳細見文檔。

 

75、模仿engadget菜單

使用TabHost實現的engadget菜單,詳細見代碼。

 

76、模仿UC等軟件啟動畫面加載時閃爍點的樣式

前面有類似。詳細見代碼。

 

77、調用Android中的軟鍵盤

學習瞭InputMethodManager和EditView類。詳細見代碼。

 

78、網絡通信的六種方式示例代碼

針對TCP/IP的Socket、ServerSocket

針對UDP的DatagramSocket、DatagramPackage

針對直接URL的HttpURLConnection

Google集成瞭Apache HTTP客戶端,可使用HTTP進行網絡編程

使用Web Service。Android可以通過開源包如jackson去支持Xmlrpc和Jsonrpc,另外也可以用Ksoap2去實現Webservice

直接使用WebView視圖組件顯示網頁

 

79、客戶端連接服務器並交互實例

如題,詳細見代碼。

 

80、商情商靈商測試系統源代碼

主要使用瞭Sqlite數據庫和listview.gridview控件的配合使用及其它控件

 

 

81、口袋微博 服務器 客戶端代碼

封裝瞭一個Socket的類與服務的交互信息,自定瞭協議規則實現瞭客戶端的對相冊,日子等數據庫的操作,功能有照相以及上傳照片,登陸判斷以及日子管理/註冊等等,是學習的好例子。詳細見代碼。

 

82、懸浮Activity並可拖動(訪懸浮歌詞)

學習WindowManager、.LayoutParams類瞭。

 

83、一個登陸和註冊界面

詳細見代碼。

 

84、用戶註冊,登錄的簡單實現

85、一個簡單登錄的DEMO

86、一個簡單註冊界面

前面已經涉及。

 

87、原來PATH的菜單效果如此簡單。佈局+TranslateAnimation搞定

值得一提的是 interpolator的使用,PATH中使用瞭OvershootInterpolator以及AnticipateInterpolator。interpolator 被用來修飾動畫效果,定義動畫的變化率,可以使存在的動畫效果可以accelerated(加速),decelerated(減速),repeated(重復),bounced(彈跳)等。

 

88、五種不同的Toast效果

很好的學習瞭Toast類。詳細見代碼。開發可借鑒。

 

89、中文天氣預報程序

Google天氣預報的AIP。例如:http://www.google.com/ig/api?&weather=城市名(中文全拼),我發現在模擬器上面返回的結果和在pc上返回的結果不太一樣,pc上有中文的,android模擬器上沒有的。詳細見代碼。

 

90、一個短信應用源碼

詳細見代碼。

 

91、基於股票的一個Android應用

詳細見代碼。

 

92、演化理解 Android 異步加載圖片

Handler+Runnable模式

Handler+Thread+Message模式

Handler+ExecutorService(線程池)+MessageQueue模式

Handler+ExecutorService(線程池)+MessageQueue+緩存模式

詳細見代碼。

 

 

93、在Android遠程上傳以及下載圖片—XFire框架

處理類集中在MyWebServiceHelper,它實現瞭遠程獲取和上傳的細節功能。

裡面有個FileOperate.java類,這個類負責對文件操作。

詳細見代碼。

 

94、指南針定位源碼

開發一個檢測方向的傳感器,程序檢測到手機頂部繞z轉過的多少度,讓指南針圖片反轉過多少度

 

95、語音識別,根據語音,執行對應操作

詳細見文檔,隻是一種思路。

 

96、引用第三方庫的方法

詳細見代碼。

 

97、一個支持暫停下載斷點續傳的源碼

List<Map<String, Async>> listTask用來存放每一個正在進行的下載任務以及管理任務

重寫瞭AsyncTask類用於執行下載

 

98、植物大戰僵屍(簡單版)

詳細見代碼喲。

 

99、一款查詢軟件(身份證號,號碼歸屬等)源代碼

此實例非常好,非常使用,在開發中可以借鑒啊。詳細見代碼。

 

100、新浪、騰訊、網易、搜狐微博OAuth認證整合Android版

很好的學習OAuth認證,掌握瞭帳號安全可靠。詳細見代碼。我們公司自己定義瞭一種規則,原理都是參考他們的。

 

101、微博客戶端源代碼

102、weibo4andriod

原理都差不多,詳細搜索百度。

 

103、Android遊戲源碼——忍者快跑

詳細見代碼喲。

 

104、使用Vitamio打造自己的Android萬能播放器——在線播放

雖然Android已經內置瞭VideoView組件和MediaPlayer類來支持開發視頻播放器,但支持格式、性能等各方面都十分有限,這裡與大傢一起利用開源項目Vitamio來打造屬於自己的

Android萬能播放器!自己百度搜索吧。

 

105、音樂播放器源碼(含歌詞顯示)

106、SeeJoPlayer(播放器 簡單)

107、高仿多米音樂播放器

108、開發源碼分享之在線音樂播放器完整項目

109、android 懸浮窗 監視內存
實現懸浮顯示,內存使用狀況,非常適合學習ActivityManager類以及理解Server使用。

110、Android Home 自定義首頁界面
該實例實現瞭Android默認界面的更換,換上自定義界面,舉一反三,可實現撥打或接受電話界面的自定義,感興趣的筒靴可以好好研究下。

111、android電話、短信黑白名單攔截、電話錄音
攔截軟件,攔截電話,短信
如題,動態註冊廣播,電話來電去電狀態攔截以及顯示、短信彩信消息以及顯示、黑名單數據庫實現判斷等等。

112、手機號碼歸屬地
地區區號記錄。

113、android項目實例 商業項目源代碼
一套完整簡單的商業的項目源碼,包含登陸/註冊/設置/瀏覽/相機/購物等,效果不錯,適合初學者。

114、PopWindow
實例彈出對話框。

115、TestListView02
測試列表視圖。

116、百度手機地圖 實例集合
117、百度地圖API 之 定位周邊搜索POI
118、北京公交線路查詢(離線)
119、百度地圖 搜索Search
如題。

120、android源碼下載工具
121、Android系統源碼獲取及編譯
122、Android系統源碼下載工具

123、Preference_Demo
測試PreferenceActivity ListPreference的一個實例

124、android寫的google map api 應用
如題。

125、OA精靈2011_Android版
如題。

126、Android模仿樂淘的應用程序分析源碼
如題,非常好的一個實例。

127、仿ireader書架
如題。

128、基於股票的一個Android應用(內含源碼)
如題。

129、遊戲場景特效源碼
如題,動畫效果。

130、飛行射擊類遊戲源碼
如題。

131、瘋狂Android講義源碼
如題。

132、android源代碼分析
如題。

133、Android無線點餐系統
含服務器,客戶端程序源碼

134、多種控件多種實現方式Demo
控件的多種實現方式。

135、內置GPS與百度GPS對比 Demo
總結:
1.在獲取當前位置時,原版的GPS定位要比百度封裝的快一些,但差距也並不大。
2.面對多種不同機型或閹割版系統時,原版的GPS就需要做出更周全的封裝(demo中是簡單封裝),而百度版的應該是已經全部封裝好的瞭。
3.系統中有提供谷歌地圖服務類,可以把坐標值直接轉換成物理地址,但該類隻適用於原版GPS方式獲取到的坐標,猜測可能是由於中國地圖存在地址偏移,原版GPS獲取到的是真實坐標,而谷歌地圖服務類中已經有偏移計算瞭。百度版獲取到的坐標應該是偏移後的坐標值,不能使用內置的谷歌地圖服務類轉換,因此采用瞭百度自己提供的搜索類進行轉換;而百度搜索類主要用戶商戶搜索等,並非是提供坐標轉換,直接轉換坐標的方式目前百度還沒有推出,當位置每次變動的時候就搜索一次坐標位置,這會產生一定的流量,相比會更浪費一些。搜索類不能在使用地址時去搜索,因為他不是立即返回的。
4.在精準度上(目前是在室內測試的,均為AGPS),百度更加精準,不知是不是因為百度是國產的。

136、Android 電子雜志(帶翻頁效果)源碼
一個漂亮的android翻頁效果電子雜志在翻動書本的時候,頁角會根據手自動移動,在手松開頁角的時候,會判斷是否成功翻頁。成功,頁角會自動的翻動到目標位置;失敗,頁角會自動的回落到起始位置。請大傢使用android2.1或2.0的系統包,以及將模擬器的大小設置為640*480,讓展示效果最好。

137、Android 實現自動接聽和掛斷電話功能
關鍵點:
PhoneUtils.java是手機功能類,從TelephonyManager中實例化ITelephony並返回
PhoneUtils.getITelephony(telMgr).silenceRinger();//靜鈴
PhoneUtils.getITelephony(telMgr).answerRingingCall();//自動接聽
PhoneUtils.getITelephony(telMgr).endCall();//掛斷
PhoneUtils.getITelephony(telMgr).cancelMissedCallsNotification();//取消未接顯示

138、Android 網絡監視器源碼
 一個不錯的網絡監視器源碼,這個程序有四個主要的模塊:
1.全局的網絡監視,2.本機的網絡信息,3.網絡數據日志記錄,4.網絡測試(比如:ping 測試)。

139、android 遮罩層效果
看到一本電子雜志上有遮罩層的效果,感覺很漂亮,以為很麻煩,搜索瞭很多關於android遮罩層的,也沒有得出一點思路,原來就是一個透明的效果,然後上面彈出的控件是透明或者半透明之類的,可以選擇顏色,還是#ARBG,其中A就是傳說中的透明色的值(可以根據需要設置透明的效果)。

140、Android代碼調用C++代碼和C++代碼調用Android代碼
如題。

141、android基於自定義適配器的ExpandableListView
如題。

142、android源碼一個柱狀圖的Demo
如題。

143、Android之GPS定位詳解
詳細的講解瞭LocationManager和LocationListener、Location、GpsStatus.Listener、GpsSatellite
的使用方法。

144、Gmail備份手機短信【源碼】
 本程序使用GMail備份手機短信,在GMail中創建一個文件,用來備份短信

145、傳說中的3D播放器 源碼
傳說的中的3D播放器,說實話我是沒看出怎麼個3D法來!不過貌似功能挺多的啊,感興趣的自己看看吧!

146、獲取Gps信息的程序源碼
 一個可以獲取手機GPS信息的Android程序源碼,它還把獲取到的信息寫到瞭sqlite數據庫中。

147、教你如何去除Android應用中的廣告
如題。

148、進度條對話框Demo
詳細的講解瞭ProgressDialog的使用方法。

149、Android 版本檢測與管理
通過Url檢測更新、下載並安裝更新、刪除臨時路徑。

150、Android 電量顯示Widgets插件實現
非常好的一個實例。

151、Android 精仿QQ登錄界面源碼
如題。

152、Android 瀑佈流 Demo
UI設計源碼。

153、android源碼捏蒼蠅
一款簡單的遊戲源碼。適合初學者。

154、http 演示Demo
詳細的演示瞭http的使用方法。

155、WIFI 掃描 Demo
如題。

156、帶手勢劃動功能的日歷源碼
如題。

157、瘋狂Android講義源碼
一套完整的教學源碼。

158、AccelerometerPlay
總結:
視圖動畫提供瞭隻讓View對象具有動畫效果的能力,因此想要非View對象具有動畫效果,就得自己實現動畫效果的代碼。事實上,視圖動畫系統也受到瞭限制,它隻會把很少的View對象的特征暴露給動畫效果,如例如,View對象的縮放和旋轉,但是沒有背景色,等等。
視圖動畫的另一個缺點是,它僅能夠在繪制View對象時被修改,並且不是實際的View對象本身。例如,如果要讓一個按鈕,以動畫的形式穿越屏幕,按鈕正確的繪制瞭,但是點擊按鈕的實際位置卻不會改變,因此必須自己來實現這種處理邏輯。
在屬性動畫系統中,這些現在被徹底刪除,並且能夠讓任何對象的任何屬性具有動畫效果(View對象和非View對象),並且能夠實際修改對象自身。屬性動畫在動畫執行方面也更加健壯。在高層次上,可以給想要動畫效果的屬性分配動畫執行器,如顏色、位置、尺寸以及能夠定義的動畫特性(如插值和多個動畫的同步等)。
但是,視圖動畫系統需要較少的創建時間和編寫較少的代碼。如果視圖動畫能夠滿足需求,或者既存的代碼已經做瞭想要完成的動畫效果,就不需要使用屬性動畫效果瞭。針對不同的情況來選擇使用這兩種不同的動畫系統。

159、ActionBarCompat
用戶界面設計指南的應用,自定義標題欄選項卡類。

160、AndroidBeamDemo
此應用程序是專為運行Android4.0的設備,測試NFC功能!

161、BluetoothChat
基於android平臺的藍牙發送功能源碼,學習android下藍牙編程。

162、BasicGLSurfaceView
演示瞭gles2.0的使用,UI設計學習。

163、BackupRestore
數據存儲到雲端服務器,以*.xml文件將手機接入點設置備份至/SDCard/APNBackupRestore目錄,還原備份文件,一鍵刪除手機上現有的接入點設置,郵件發送接入點備份文件。

164、AppNavigation
165、ApiDemos
演示瞭所有控件以及系統api的使用方法。

166、BluetoothHDP
藍牙與外設的通信

167、ContactManager
聯系人管理的 實例

168、GestureBuilder
手勢識別

169、CrossCompatibility
170、CubeLiveWallpaper
171、HoneycombGallery
172、JetBoy
173、LunarLander
174、MultiResolution
175、NFCDemo
176、NotePad
177、RandomMusicPlayer
178、RenderScript
179、SampleSyncAdapter
180、SearchableDictionary
181、SipDemo
182、SkeletonApp
183、Snake
184、SoftKeyboard
185、SpellChecker
186、Spinner
187、SpinnerTest
188、TicTacToeLib
189、TicTacToeMain
190、ToyVpn
191、TtsEngine
192、USB
193、VoicemailProviderDemo
194、VoiceRecognitionService
195、WeatherListWidget
196、WidgetPreview
197、WiFiDirectDemo
Android自帶實例 源碼

 

 

詳細查看源碼,文檔就自己百度吧。不過像這些在線音樂的,他推薦一款開源的吧,很經典。

看下面開源的喲。

 

以下是開源項目(都在下載包中):

 

1、andbatdog電池監控  難度系數最小

Android BatteryDog 是 Android 平臺上用來監控電池電量的服務軟件,它生成電池記錄文件:/sdcard/BatteryDog/battery.csv,該文件包含時間、電量信息、溫度和電壓以及一些簡單的圖形。

項目就四個源碼文件:

BatteryDog_Service

繼承瞭服務Service(後臺運行和跨進程訪問)

創建瞭一個線程負責輸出信息到文件

註冊瞭廣播接收器ACTION_BATTERY_CHANGED

BatteryDog

繼承瞭Activity 佈局battery_dog 文件

主要負責啟動/關閉服務Service 和分析數據然後相關控件顯示出來

BatteryGraph

繼承瞭Activity  動態佈局

顯示相關畫面

Log  負責輸出顯示信息

 

2、Droid Wall 手機防火墻

Droid Wall – Android Firewall 是一個類似於 Linux 下的iptables 的 Android 手機防火墻軟件,允許你限制某些應用訪問數據網絡,包括 2G/3G 以及 Wi-Fi。

項目共六個文件:

Api 包含共享的編程接口。處理所有ip(可用)的“溝通”這個類別。 這是很重要的類。

BootBroadcast   廣播接收機,設置在系統啟動時的iptables規則。這是必要的,因為這些規則是不持久的。

HelpDialog對話框中顯示的“幫助”菜單選項被選中時。

MainActivity 主界面  功能實現部分

PassDialog對話框中顯示要求輸入密碼。

StatusWidget 構件實現的ON / OFF 部件狀態

 

 

3、jchat4android手機聊天程序 (內含開發文檔)

Android jChat 是一個 Android 手機上基於位置的聊天軟件,采用P2P通訊機制。

為瞭編譯jChat,你要使用Eclipse創建一個新的Android項目,然後添加外部JAR和移動的jChat目錄選擇到libs目錄JadeLeapAndroid.jar庫。jChat使用瞭的MapView訪問谷歌地圖數據。

本項目有25個目標文件。項目裡面有代碼註釋以及開發文檔。

4、zz-doctor中醫大夫助理信息系統

輔助中醫大夫儲備藥方、藥名藥理備查。讓大夫能騰出精力集中診斷分析, 而不必消耗精力去記憶瑣碎的細節。平時有空方便時自己錄入儲備或完善經驗方。 更有利於傳承。

系統架構設計:1. PDA: GUI(Android) +Embedded DB (SQLite) ;2. (可配置)定期提示大夫備份數據到附加儲存卡。

本項目有17個目標文件。

DbHelper 負責數據庫的管理 功能有 執行sql語句 以及 升級等

ZZ  程序全局類 繼承Application

MedicineDetail 醫藥詳情介紹

MedicineQuery 醫藥的查詢

RxRecipeDetail 接收方詳情

RxRecipeDetailEdit  接收方編輯詳情

WelcomeRxRecipeQuery 歡迎接收方查詢

IdentifiedString 標識結構類

IdentifiedAutoCompleteTextView 自動匹配標識的信息

IdentifiedStringAdapter 標識信息適配器

UnitAdapter  單位組適配器

ZzUtil  單位類

MedicineSQLBuilder 醫藥數據庫管理類

RecipeMedicineMapSQLBuilder 接收方醫藥信息對應的數據庫類

SQLBuilder  數據庫編輯器 根據參數選擇不同的編輯方式 含main方法

SubjectSQLBuilder 項目數據庫的編輯器

 

由上分析可以得出,該軟件實現瞭數據庫的操作,界面佈局不復雜。

 

 

 

5、一款查詢軟件(身份證號,號碼歸屬等)源代碼 (個人覺得這是一款開源軟件)

此實例非常好,非常使用,在開發中可以借鑒啊。

本項目有24個目標文件。

BaseActivity  頭部bar的佈局

BaseLayout    頭部bar的佈局

DataListHolder  就兩個成員ImageView TextView 你說幹嘛呢

ItemAdapter  繼承適配器

QueryAddress 繼承BaseActivity 實現地址查詢

QueryIDCard  繼承BaseActivity  實現身份證查詢

QueryPhone  繼承BaseActivity  實現手機號查詢

SmallToolsActivity繼承BaseActivity 實現主界面佈局

Splash 繼承Activity 實現閃爍延時效果

UpdateApp 一個確定版本信息升級的類

ApiImpl Api接口 實現瞭地址查詢 身份證查詢 手機信息查詢 更新信息查詢 網絡請求的功能

AddressInfo 定義瞭一個地址信息結構類

AppUpdateInfo定義瞭一個更新信息結構類

IDCardInfo 定義瞭一個身份證結構類

NumberItem定義瞭一個帳號結構類

PhoneInfo 定義瞭一個手機信息結構類

AppInfoHelpr 定義瞭一個程序信息 得到版本信息,版本名

Constants 定義瞭一個公用靜態變量存放類

DeviceHelper 定義瞭一個設備信息類 主要功能有獲取尺寸 讀取手機號

HttpClientHelper 定義瞭一個服務請求類,實現與服務器的交流。

HttpException 繼承 Exception 實現瞭輸出異常信息

HttpPostParameter 實現瞭參數信息的設置

HttpResponse 消息的響應

InternetHelper 內部幫助 可以湖的網絡是否可用

 

由上分析可以得出,該軟件隻是實現瞭與服務器請求信息,以及信息顯示。界面佈局簡單。

 

 

 

6、Zirco-browser:超越海豚的開源瀏覽器

Zirco是Android開源的替代瀏覽器。

說明:如果已卸載系統自帶瀏覽器,使用Zirco Browser的書簽功能可會會出現崩潰的情況。

基本的瀏覽器功能(書簽,歷史,下載…)、無限的選項卡、交通方便的書簽、開幕式和閉幕式的簡易制表符、從傳統的Andr​​oid瀏覽器的書簽導入、可設置為默認瀏覽器、AD -受體阻滯劑(重要提示:瞭解更多)。換句話說,zirco是一個Android的開源替代瀏覽器,功能很強大,除常見的功能外,還支持自定義搜索引擎、自定義usergent、支持導入火狐的書簽、頁面內查找、主頁自定義、地址欄搜索、插件支持、無限制的選項卡瀏覽,左右循環滑動切換;同時支持屏蔽廣告;功能可以說很多都是首創,我最喜歡的還是自定義搜索,終於也可以在手機上使用google自定義搜索瞭,應用自帶中文,不過設置中含有部分英文。

Zirco-browser:超越海豚的開源瀏覽器分析

Base32

Base64

Base64Encoder

HexEncoder

編解碼操作類庫

BulkKeyCouplet  關鍵映射

Dbg Debug編譯操作信息

QueryParams 檢索參數信息 日期

QueryResult   這是模塊類

UserWeave   用戶類 定義瞭用戶信息以及用戶操作

WeaveAccountInfo  帳戶自定義信息類

WeaveBasicObject  基礎類 JSONObject 操作

WeaveConstants   定義常量

WeaveCryptoUtil  加密解密操作類

WeaveException  異常類

WeaveFactory  生產工廠

WeaveHeader   自定義頭信息類

WeaveResponse 自定義響應消息類

WeaveSSLSocketFactory 此套接字工廠將創建SSL套接字使用配置證書驗證(例如,允許自簽名)。

WeaveTransport  傳輸協議類

WeaveUtil

QuickAction 自定義資源以及標題類

QuickActionGrid 表格視圖操作

QuickActionWidget  顯示用戶界面的部件

Controller 控制器的實現

EventConstants  自定義事件的常數類

EventController  事件控制器的實現

IdownloadEventsListener  下載事件的監聽接口

DbAdapter 數據庫適配器的實現

UrlSuggestionItemComparator 網址比較

BookmarksCursorAdapter  書簽光標適配器。

DownloadListAdapter  下載UI列表適配器。

HistoryExpandableListAdapter  歷史顯示自定義適配器

UrlSuggestionCursorAdapter  提出建議的適配器。

WeaveBookmarksCursorAdapter  書簽光標適配器

BookmarkItem書簽自定義類

DownloadItem  下載項目自定義類

HistoryItem 歷史節點

UrlSuggestionItem 網址自定義類

WeaveBookmarkItem 書簽標識類

BookmarksProviderWrapper  歷史/書簽管理。

WeaveColumns  自定義常量信息類

WeaveContentProvider

WeaveContentProvider

ZircoBookmarksContentProvider

IsyncListener   同步監聽接口

WeaveSyncTask  同步任務

AboutActivity  關於界面

AdBlockerWhiteListActivity  廣告攔截器的白名單顯示視圖

BookmarksHistoryActivity  聯合書簽和歷史視圖

BookmarksListActivity  書簽列表視圖

ChangelogActivity更改日志對話框

DownloadsListActivity  下載列表視圖

EditBookmarkActivity   添加、編輯書簽視圖

HistoryListActivity  歷史列表視圖

ItoolbarsContainer   接口定義工具欄容器。

MainActivity  應用程序的主界面

MobileViewListActivity 廣告攔截白名單列表視圖

WeaveBookmarksListActivity 書簽列表視圖

BaseSpinnerCustomPreferenceActivity 自定義的下拉框

HomepagePreferenceActivity  主頁喜好選配視圖

PreferencesActivity 收藏視圖

SearchUrlPreferenceActivity搜索URL收藏視圖

UserAgentPreferenceActivity用戶代理收藏視圖

WeavePreferencesActivity 收藏視圖

WeaveServerPreferenceActivity 服務器收藏視圖

CustomWebView  擴展的WebView類

CustomWebViewClient 擴展的WebViewClient類

DownloadRunnable  下載線程

FaviconUpdaterRunnable 更新線程

HideToolbarsRunnable  隱藏工具欄線程

HistoryUpdater 歷史更新線程

XmlHistoryBookmarksExporter  一個xml解析出歷史書簽的線程

XmlHistoryBookmarksImporter  一個從xml導入歷史書簽的線程

AnimationManager  動畫效果管理類定義瞭多重動畫效果

ApplicationUtils  應用函數

Constants 定義常量

DateUtils 日期時間管理類

IOUtils 實用程序的I/O操作類

ProxyChangeReceiver自定義的代理改變廣播操作

ProxySettings  設置信息

UrlUtils 網站管理類

本項目有81個目標文件。代碼簡單易懂,適合初學者奔向中手,感興趣的童靴可以好好研究喲。

 

7、開源項目pedometer

Pedometer應用用於記錄你每天走路步數的。盡管記錄不一定精準,但是從這個項目中,可以學習幾個不同的技術:加速器交互、語音更新、後臺運行服 務等。

本項目有16個目標文件。

CaloriesNotifier 繼承接口StepListener, SpeakingTimer.Listener

能量通知,實現步伐監聽,說話監聽

DistanceNotifier  繼承接口StepListener,SpeakingTimer.Listener

距離通知,計算並顯示走過的路程。

PaceNotifier  繼承接口StepListener,SpeakingTimer.Listener

步伐通知,計算和顯示速度(步/分鐘),處理輸入所需的步伐,並通知用戶,如果他/她走快或慢。

Pedometer 主界面

PedometerSettings 設置屬性自定義類

Settings  設置界面

SpeakingTimer  說話時間

反復監聽所有對象呼吸。定義由用戶設置的時間間隔。

SpeedNotifier  速度通知

計算和顯示速度(步/分鐘),處理輸入所需的步伐,並通知用戶,如果他/她走快或慢。用途計算速度的步伐和步長的產品。

StepBuzzer   步驟蜂鳴器

一步檢測時震動。通常情況下,這是不重視,用於調試目的。

StepDetector步驟探測器

檢測步驟,並通知所有聽眾

StepDisplayer  步驟顯示

計數步驟提供的步驟檢測,並通過當前的步數的活動。

StepListener 步驟監聽

StepService  步驟服務

BodyWeightPreference

StepLengthPreference

都是對EditMeasurementPreference 繼承 隻允許浮點數

EditMeasurementPreference 繼承EditTextPreference

它可以處理公制/英制設置。

 

這款軟件的關鍵點是類StepService,喜歡的話可以看源碼好好研究。

 

 

8、AndroidPdfViewerPDF查看器

Android PDF Viewer 是Android平臺下的PDF閱讀器。

本項目有100個目標文件。感興趣的童靴可以好好研究喲。

 

 

9、andricoFacebook客戶端

  Facebook的創辦人是Mark Zuckerberg,他是哈佛大學的學生,之前畢業於Ardsley高中。最初,網站的註冊僅限於哈佛學院的學生。在隨後的兩個月內,註冊擴展至波士頓地區的其他高校(如麻省理工學院)以及斯坦福大學、紐約大學、西北大學和所有的長春藤名校。第二年,很多其他學校也被邀請加入進來。最終,在全球范圍內有一個大學後綴電子郵箱的人(如.edu, .ac.uk等)都可以註冊。之後,在Facebook中也可以建立起高中和公司的社會化網絡。而從2006年9月11日起,任何用戶輸入有效電子郵件地址和自己的年齡段,即可加入。用戶可以選擇加入一個或以上網絡,例如中學的、公司的、或地區的。

 Facebook客戶端軟件分析

ByteArrayBody  操作字節流根據字節流獲得進程條的狀態

HttpChainingRunnable 服務連接線程

HttpClientService 客戶端服務線程

HttpMessageFactory 請求由HTTP客戶端服務生成HTTP可以執行的對象。

HttpResponseByHandlerDecorator 設置消息處理

HttpResponseRunnable  封裝HTTP請求處理線程

IhttpResponseRunnable抽象http響應接口

ContactInfo 自定義聯系人信息類

ContactList 自定義聯系人列表類

JsonParser 自定義Json解析類

MainActivity  主程序界面

Preferences 定義存儲數據類

SettingsActivity 設置界面

Synchronize 同步數據處理界面

UiHandler UI界面處理消息類

UserInfo 封裝用戶信息數據的容器

WebActivity 網頁界面

WebViewActivity  網頁視圖界面

Contact 封裝瞭自定義聯系人數據

DBContact 數據庫管理聯系人數據

DBHelper 數據庫的輔助類

AuthorizationActivity  口令認證界面

ExtendedPreferenceActivity 口令認證擴展界面

FB

FBBase

FBMethod 產生Md5值

FBMethodCallback 回調函數

FBMethodFactory 方法工廠

LoginActivity  登陸界面操作

本項目有30個目標文件。感興趣的童靴可以好好研究喲。

 

 

10、TorProxy應用實現瞭Android手機無線電電傳通訊(TOR)

TorProxy應用實現瞭Android手機無線電電傳通訊(TOR),和Shadow應用一起使用,可以使用手機匿名上網。從該項目源代碼中,可以掌握socket連接、管理cookie等方法。

Shadow項目 20個目標文件,TorProxy項目83個目標文件。感興趣的童靴可以好好研究喲。

 

 

11、jamendo-開源在線音樂

本項目共113個目標文件。

粗略介紹每個包作用:

com.teleca.jamendo.widget.*:用戶自定義組建,主要包括進度條、錯誤條、專輯倒影圖片控件、以及相關接口。

com.teleca.jamendo.util.:用戶自定義視圖切換器、圖片緩存、自定義觸摸監聽器(播放進度)、以及分享,計算音樂時間,設置語言等工具幫助類。

com.teleca.jamendo.util.download.:提供下載遠程音樂任務,以及相關接口回調,同時定義操作數據庫相關接口,以及觀察類。

com.teleca.jamendo.service.*:音樂的播放服務,以及下載服務。

com.teleca.jamendo.media.*:音樂播放器引擎以及相關接口(自定義類繼承播放器MediaPlayer)。

com.teleca.jamendo.gestures.*:讀取raw文件存取手勢類,以及相關接口,同時自定義手勢識別界面,用於手勢操作播放音樂。

com.teleca.jamendo.dialog.*:自定義對話框基類,以及相關對話框。

com.teleca.jamendo.db.*:sqlite數據庫操作相關類以及方法,包括相關基類,泛型。

com.teleca.jamendo.api.*:提供對象實體,歌曲、歌曲條目列表,歌曲專輯,歌手,以及相關IO異常處理等

com.teleca.jamendo.api.impl.*:通過服務端解析JSON格式數據並轉化為相應實體對象,列表等。

com.teleca.jamendo.api.util:提供訪問網絡之工具類,url請求緩存,封裝http請求等等。

com.teleca.jamendo.adapter.*:提供適配ListView列表適配器基類,以及相關子類.

com.teleca.jamendo.activity.*:提供操作界面activity,歡迎頁,關於,播放瀏覽,播放,以及搜索,顯示歌曲等界面。

當然我們可以粗略知道UI佈局文件夾,包括UI佈局,菜單佈局,動畫,xml(設置界面),值文件(不同語言版本),raw(手勢文件)

首先我們對其包結構以及相關包用途有個大致的瞭解,接下來,再慢慢來看看這些界面,做到心中有數。

 

Jamendo代碼裡面實現音樂搜索主要是使用瞭Apache Http 4.0 和JSON,Jamendo官網提供API供應用程序查詢數據,且提供瞭四種方式查詢,依次是:Artist,Tag,UserPlaylist和UserStarredAlbums。Jamendo提供

http://api.jamendo.com/get2/id+name+url+image+artist_name/album/jsonpretty/?n=5&order=ratingweek_desc供應用程序查詢和調用,采用JSON的方式與服務器進行數據交互。獲得調用的API URL鏈接,調用Caller.doGet()  實現方式是通過HttpClient,然後就是將獲得的Stream轉換成JSONArray構造所需要的String,最後就是調用  getAlbums(JSONArrayjsonArrayAlbums) 。

在Jamendo程序中,有一個很明顯的特征是存在一個全局的JamendoApplication類,此類繼承自Application,此類的作用主要是實現應用程序集的全局變量,也就是在任何一個Activity中都可以訪問的變量。它不會因為Activity的生命周期結束而消失。通過繼承自Application,我們能夠實現這個目標。

主界面主要由兩部分構成,一個Header和一個ListView,Header部分由一個ViewFlipper構成,主要分三種,一個loading畫面,一個Gallery顯示,一個獲取failed畫面,由於重點是下面的listView部分,所以本部分在此就不詳細說明瞭。

我們知道一般ListView顯示都離不開Adapter,在此也不例外,或繼承自BaseAdapter,然後重寫getView方法,或直接調用Android已經寫好的方法,之所以拿這個來講,是因為這裡稍微有點特殊,它並不是就直接實現getView方法然後,通過調用setAdapter顯示,而是在其中添加瞭一步,將原本能通過一個Adapter顯示的分成兩部分,加入Browse Jamendo 和Libray這兩個TextView,讓用戶更容易理解,通過分析這個listView的實現,可以加深對Adapter實現方式的理解。

在Jamendo中,主要是通過再定義一個SeparatedListAdapter來進行這個工作,我們來看看它是怎麼實現的:我理解的Adapter過程,首先通過調用getCount()來獲得總Row數目,然後對一行調用getView進行繪制,因此要實現在listView裡面另外加入兩部分,那麼對每一部分調用自己的繪圖方式,然後在繪制過程中,判斷if(position == 0) return headers.getView(sectionnum, convertView, parent);然後單獨調用其繪制函數進行繪制。

jamendo 在線音樂分析

JamendoApplication播放與下載服務

AlbumActivity  相冊視圖

ArtistActivity  藝術傢視圖

BrowsePlaylistActivity  播放列表視圖

DownloadActivity  下載界面視圖

HomeActivity  首頁視圖

IntentDistributorActivity  介紹視圖

PlayerActivity播放視圖

PlaylistActivity  播放列表視圖  自動保存播放列表

RadioActivity  收音機視圖  無線電導航

SearchActivity  搜索視圖

SettingsActivity  設置視圖

SplashscreenActivity閃屏視圖

StarredAlbumsActivity五星級相冊視圖  瀏覽專輯列表 打開它所在的專輯

AlbumAdapter  相冊適配器

AlbumGridAdapter  相冊格子式適配器

ArrayListAdapter  數組式列表適配器

DownloadJobAdapter  下載任務適配器

ImageAdapter  圖片適配器

PlaylistAdapter播放列表適配器

PlaylistRemoteAdapter遠程播放列表適配器

PurpleAdapter紫色適配器

PurpleEntry

PurpleListener

RadioAdapter收音機適配器

ReviewAdapter評論適配器

SeparatedListAdapter分隔列表適配器

Album 相冊存儲數據

Artist  藝術傢存儲數據

JamendoGet2Api  API操作

License  自定義許可證(用戶)類

Playlist 播放列表存儲類

PlaylistEntry播放列表條目存儲類

PlaylistRemote遠程播放列表存儲類

Radio  自定義電臺類

Review  自定義評論類

Track 軌跡類

WSError  錯誤類

AlbumBuilder

AlbumFunctions

ArtistBuilder

ArtistFunctions

JamendoGet2ApiImpl用於web請求的ApacheHTTP客戶端API的實現

JSONBuilder  抽象類

LicenseBuilder   認證生成

PlaylistBuilder   遠程播放列表生成

PlaylistFunctions  返回遠程播放列表

RadioBuilder    收音機生成

RadioFunctions   返回生成收音機組

ReviewBuilder    生成評論對象

ReviewFunctions   獲得評論

RSSFunctions    獲得id

TrackBuilder    生成跟蹤對象

TrackComparator  跟蹤比較

Caller   撥打功能

RequestCache  請求緩存

XMLUtil  xml操作

AlbumDatabaseBuilder  專輯數據庫生成

Database  數據庫接口

DatabaseBuilder數據庫建設者模板 – 有利於從SQLite數據庫對象增加

DatabaseImpl采用Android的SQLite數據庫實施

RadioDatabaseBuilder  收音機數據庫生成

TrackDatabaseBuilder  跟蹤數據庫生成

AboutDialog關於對話框

AddToPlaylistDialog添加到播放列表對話框

AlbumLoadingDialog專輯加載對話框

ArtistLoadingDialog  藝術傢加載對話框

LoadingDialog  加載對話框基類

LyricsDialog  歌詞對話框

PlayerAlbumLoadingDialog  專輯播放加載對話框

PlaylistRemoteLoadingDialog遠程播放列表加載對話框

StarredAlbumLoading  五星專輯載入對話框

TutorialDialog  教程信息顯示框

GestureCommand接口

GestureCommandRegister  簡單的手勢命令寄存器

GesturesHandler  處理程序的手勢

PlayerGestureCommandRegiser

PlayerGestureNextCommand

PlayerGesturePlayCommand

PlayerGesturePrevCommand

PlayerGestureStopCommand

自定義手勢類

PlayerEngine  播放引擎接口

PlayerEngineImpl  同上

PlayerEngineListener播放引擎偵聽接口

DownloadService  後臺下載服務

PlayerService後臺播放服務

DrawableAccessor繪制存取

FixedViewFlipper  固定視圖翻轉

Helper  各種隨機函數

ImageCache  緩存下載的圖像,節省帶寬和用戶的數據包

OnSeekToListenerImp   點觸事件

SeekToMode  枚舉

DownloadDatabase下載接口該數據庫存儲在一個外部的SD卡,更具體地說,每個SD卡已用於下載/jamendroid/ downloads.db參考下

DownloadDatabaseImpl  數據庫描述軌道數量

DownloadHelper  各種輔助功能

DownloadJob單一的遠程文件下載任務

DownloadJobBuilder下載任務生成

DownloadJobListener下載任務的監聽接口

DownloadManager所有下載的相關行動接口

DownloadManagerImpl下載管理接口

DownloadObserver下載觀察接口

DownloadProvider下載數據存儲接口

DownloadProviderDbImpl使用SqlLite數據庫存儲

DownloadTask文件下載線程

MediaScannerNotifier  mp3文件下載文件掃描,並把它添加到Android的樂手的圖書館

AlbumBar 專輯欄

ArtistBar藝術欄

FailureBar通知用戶失敗欄

OnAlbumClickListener點擊專輯欄的接口

ProgressBar進程條欄

ReflectableLayout反映UI元素的容器

ReflectiveSurface

RemoteImageView圖片瀏覽擴展類,允許遠程圖像輕松下載

 

該項目共113個目標文件!文檔多,易於學習。請感興趣的同學好好研究啊。

 

 

12、飛行歷 飛行模式 AirPlus

一款Android飛行模式自動切換工具,可以根據設定的時間自動進入和退出飛行模式,在無需關機的情況下讓手機更加省電,減少睡眠時間手機的輻射作用。

支持功能

1.快速進入和快速退出飛行模式

2.自定義添加,刪除,啟用,禁用飛行時間段

3.設置自動切換飛行模式的時間和重復日期

4.設置控制不受飛行模式控制的無線硬件

5.設置是否在切換飛行時進行震動提示

6.進入切換飛行模式10秒鐘提示(延遲飛行,立即飛行,取消飛行)

7.可以進行延遲飛行操作

8.檢測通話狀態,防止正在通話時切換飛行模式

9.設置延遲飛行的提醒間隔

10.設置音量鍵在飛行切換中的作用

分析如下:

Air  主要實現瞭飛機相關數據的封裝容器

AirAlertFullScreen 繼承Activity 實現飛行的全屏模式顯示

AirAlert 繼承AirAlertFullScreen  顯示信息

AirClockTextView  時鐘顯示的文本顯示控件

AirDigitalClock 設置數字時鐘 以及更新數字時鐘

AirModeController 飛行模式的控制,通過廣播實現。

AirModeRadioPreference 飛行模式的單選選擇設置。

AirPlusActivity  程序的主界面涵蓋瞭添加 刪除 菜單 等等功能

Airs 針對飛行數據的管理操作數據庫

AirService 後臺運行實現瞭監聽電話以及關閉後的清除

DontPressWithParentLayout

RepeatPreference

SetAir 設置類操作相關數據

SettingsActivity 設置界面

AirDatabaseHelper  飛行數據庫的操作類

AirProvider 繼承 ContentProvider 實現存儲數據

AirAppWidgetReceiver 應用程序的廣播接受 主要負責程序的更新

AirEndReceiver         結束等操作     

AirInitReceiver     啟動後的初始化

AirReceiver 飛行接受提示 飛行時區的變化以及相關事件的監聽

 

 本項目共25個目標文件。文檔多,易於學習。請感興趣的同學好好研究啊。

 

13、Jchat

Android jChat 是一個 Android 手機上基於位置的聊天軟件,采用P2P通訊機制。

JChat 的編譯:

1、  配置環境,需要的軟件有Android 模擬器,JADE Leap(JADE是多agent開發框架),J2SE (至少1.5)。

2、  進入開發設置,運行模擬器,安裝JChat文件(可通過命令adb install<PATH_TO_APK>\jChat.apk),運行JADE平臺(可通過命令java -cp <PATH_TO_JADE_LEAP_JAR>\JadeLeap.jar-Djade_domain_df_autocleanup=true jade.Boot -gui  ),從模擬器中運行程序JChat,在JADE平臺菜單中設置主機以及端口。最後在JChat程序菜單中點擊連接按鈕進行連接操作(詳情可以看官方文檔–下載包中有)。

3、  源碼分析之前,需要認真學習一下Jade的Android的編程(有聊天程序源碼下載,都在下載包中),編譯源碼,需要到google 中申請 map api 的key,不過由於神奇的國度制約的原因,申請連接的網站無法訪問,需要通過其它的方法,比如代理等等,申請到的key 需要放到 homepage.xml中。

下面來進行分析吧,分析隻是針對源碼,其它的不涉及。

本項目共25個目標文件。

ContactListActivity程序的啟動頁,內部含有控制地圖以及Jade連接等操作,方法onConnected 是JadeGateWay裡面的回調方法。

ChatActivity 是聊天的主界面,主要通過JadaGateway操作連接,發送,接受等

ChatSessionNotificationManager聊天會話通知管理自定義類,記錄瞭所有的進程清單。

Contact 接觸者自定義類,含有名稱,電話號碼,狀態值,是否在sd卡裡面…。

ContactListAdapter接觸者列表適配器,主要用戶顯示聯系人列表的信息。

ContactListChanges接觸者列表變化的自定義類,接觸者列表狀態更新。

ContactLocation  接觸者位置類,是否有移動等動作。

ContactManager  接觸者管理類,主要負責接觸者的添加、刪減以及UI更新等功能。

ContactsPositionOverlay接觸者的位置顯示物,Overlay的子類,主要負責在地圖上顯示自定義圖像,內置滾動與否以及圖像大小改變與否,在地圖上話畫在線聯系人以及場景等。

ContactsUpdaterBehaviour主要表現在其設置由MsnAgent執行。它基本上執行主要業務:定期更新的DF的手機中所有接觸的位置(由模擬的GPS更新)。

GeoNavigator 自定義導航類,啟動或關閉聯絡位置的更新。

GuiEventHandlerUI處理類。

IEventHandler  事件處理類接口。

JadeParameterDialog  Jade參數設置對話框。

JChatApplication  應用程序類,存貯瞭全局變量信息,以及初始化服務器以及端口號,手機號等

MsnAgent 消息代理(Jade的Android的編程)

MsnEventMgr消息事件的自定義類,含有事件名,地圖存儲事件等參數信息,

MsnSession 消息會話,含有所有參與者的電話號碼,以及消息,

MsnSessionAdapter消息會話適配器,顯示消息會話視圖。

MsnSessionManager消息會話管理的自定義類,主要是啟動會話,添加會話,移除會話,返回會話,添加消息到會話等操作。

MsnSessionMessage消息會話消息的自定義累,含有時間、內容、發送者姓名以及電話號碼等。

MultiSelectionListView多選列表

SendSMSActivity 發送消息界面,執行發送任務。

SMSIntentReceiver消息接收廣播,主要負責消息的接收。

程序主要是已消息會話為主,引進瞭Google地圖顯示聯系人的位置等信息。

 

本項目共25個目標文件,還有測試聊天程序7個目標文件,以及開發文檔等,感興趣的童靴好好研究下吧。

 

14、Android下的加密信息客戶端WhisperSystems-TextSecure

TextSecure是Android下的加密信息客戶端,旨在增強用戶和企業通信的安全性。

本項目共289 個目標文件,喜歡的童靴就好好研究下吧。

 

15、ipcamera-for-android 手機變成IPCamera

一款將Android手機變成IP Camera的軟件,在同一個網路,你可以在任意的瀏覽器查看手機監控視頻。其中實現瞭如何透過LocalSocket采集純H.264視頻流。如何封裝FLV格式視頻文件。如何集成一個內置的Web Server。

本項目共7個目標文件,但需要編譯jni文件下有c++文件。感興趣的同學好好研究下吧。

 

16、OpenSudoku一個簡單的九宮格數獨遊戲

OpenSudoku是一個簡單的九宮格數獨遊戲。從代碼中可以學習到如何在視圖中顯示表格數據,以及如何和一個網站交互等技術。它旨在通過手指和鍵盤控制。它預裝90在3個難度級別的謎題,更多的難題,可以從網上下載,它也允許你輸入自己的難題。

本項目共54 個目標文件,還含有其它測試項目。感興趣的同學好好研究下。

 

17、quitesleep手機電話功能軟件

QuiteSleep 是 Android 手機的一個小軟件,它可以控制你在睡眠期間誰可以打電話進來打攪你,也可以定義其他喚醒事件,如果處於靜音狀態,該軟件會給打電話的人發送一條你設定好的短信,告訴他別來打攪你的睡眠。

 

本項目共74 個目標文件。感興趣的同學好好研究下。

 

18、Android全能視頻播放器 VPlayer

VPlayer 是一款Android 平臺上最好的媒體播放器,具有很多實用和方便的功能,幹凈簡潔的界面,加上流暢的播放處理能力,大大增強瞭Android的視頻播放功能。它支持所有流行的視頻播放格式。

VPlayer是一款安卓平臺上較為知名的播放器程序,新的版本中帶來瞭硬件加速解碼和渲染功能,能夠讓絕大部分的Android設備都能夠播放MKV/AVI/MOV/FLV/TS/M4V/ 3GP視頻。

VPlayer是一個硬件加速Android的媒體播放器。它使用硬件視頻解碼器,各種容器和音頻編解碼器組合。

雙核心/高端設備(轟動,銀河S/S2,NEXUS- S),可以播放720p甚至1080pMKV /AVI/MOV /FLV/ TS/ M4V /3GP。VPlayer水渠不到MoboPlayer MX視頻播放器,如西南的球員bettery。ICS的設備可以發揮完整的硬件加速1080P文件,蜂窩片可以播放720P的MKV與完整的硬件加速。如果您使用MIUI,CM7或非官方的光盤不能播放MKV/ FLV / MOV / AVI使用的默認播放器,VPlayer是最好的解決辦法。

 

 

19、rokon_src_2-0-3_遊戲引擎

Rokon 是Android平臺一個開源(New BSD)的2D OpenGL 遊戲引擎,目前版本為 2.0.3 (10/07/09,10/08/17更新到2.1.0) 。其中集成瞭Box2D,幫助你在遊戲中實現物理效果。

引擎作者已經停止更新瞭,所以大傢請謹慎選用這個引擎,畢竟還有一些BUG沒有修改。

詳細資料地址:http://www.eoeandroid.com/thread-26588-1-1.html

本項目共113 個目標文件,感興趣的童靴就研究下。

 

 

20、Angle v1.0_2D遊戲引擎

Angle是一款專為Android平臺設計的,敏捷且適合快速開發的2D遊戲引擎,基於OpenGL ES技術開發。該引擎全部用Java代碼編寫,並且可以根據自己的需要替換裡面的實現,缺陷在於文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。

 

本項目共42 個目標文件,感興趣的童靴就研究下。

 

21、sipdroid語音及視頻通話 (經典)

Sipdroid是一個運行於Android手機平臺上的SIP/VoIP客戶端。

開發環境的配置

下載下來SipDroid源代碼後,不能直接導入到eclipse中,否則是無法使用和編譯的。

首先需要通過command line參照工程目錄下的BUILT.txt文件對工程進行update。

如:android update project-p . -t 2(這裡 -p指的是 –path -t指的是 –target)

由於是開源軟件,需要版本控制的服務器,可以安裝Subclipse(可以參見官網)

這樣就可以將工程import到eclipse中瞭。

整理一些Android視頻通話技術開發的資料:

SipDroid是一款開源的SIP/Voip客戶端軟件,針對Android手機開發平臺。它是通過SIP provider來提供電話通信服務的,在它的最新的版本1.5.5beta中也提供瞭視頻通話的服務。

它運行在標準的SIP協議之上,由於Android內核本身沒有提供SIP協議棧,所以SipDroid軟件中通過JNI直接實現瞭SIP協議棧。它能夠在如下一些網絡中提供VoiP服務:WLAN、3G、EDGE網絡。甚至能夠和Skype、Google Talk, MSN, Yahoo, AIM, and ICQ等用戶進行通話。但前提必須到一些SIP provider註冊賬號(有免費的,也有收費的),SipDroid強烈建議使用PBXes這個sip provider來得到服務。

對於SipDroid實現視頻通話的原理,目前的理解是:發送方是將是將視頻數據傳輸到視頻流媒體服務器,然後再傳輸給接收方的。具體細節目前不是很清楚,因為涉及到許多通信協議。

 

本項目共250 個目標文件,還有jni文件下c++文件需要編譯。感興趣的同學必須得好好研究研究。

 

還有收集到的資源——888個經典Logo

 

還有好多……

 

 

如何閱讀java與c++項目

frameworks 目錄(核心框架——java及C++語言)
|– base    (基本內容)

|   |– api   (?都是xml文件,定義瞭java的api?)

|   |– awt   (AWT庫)

|   |– build   (空的)

|   |– camera   (攝像頭服務程序庫)

|   |– cmds   (重要命令:am、app_proce等)

|   |– core   (核心庫)

|   |– data   (字體和聲音等數據文件)

|   |– docs   (文檔)

|   |– graphics (圖形相關)

|   |– include   (頭文件)

|   |– keystore (和數據簽名證書相關)

|   |– libs   (庫)

|   |– location (地區庫)

|   |– media   (媒體相關庫)

|   |– obex   (藍牙傳輸庫)

|   |– opengl   (2D-3D加速庫)

|   |– packages (設置、TTS、VPN程序)

|   |– sax   (XML解析器)

|   |– services (各種服務程序)

|   |– telephony (電話通訊管理)

|   |– test-runner (測試工具相關)

|   |– tests   (各種測試)

|   |– tools   (一些叫不上名的工具)

|   |– vpn   (VPN)

|   `– wifi   (無線網絡)

|– opt    (可選部分)

|   |– com.google.android     (有個framework.jar)

|   |– com.google.android.googlelogin  (有個client.jar)

|   `– emoji   (standard message elements)

`– policies   (Product policies are operating system directions aimed at specific uses)

    `– base

        |– mid (MID設備)

        `– phone (手機類設備,一般用這個)

 

hardware 目錄  (部分廠傢開源的硬解適配層HAL代碼)

|– broadcom    (博通公司)

|   `– wlan    (無線網卡)

|– libhardware    (硬件庫)

|   |– include    (頭文件)

|   `– modules   (Default (and possibly architecture dependents) HAL modules)

|       |– gralloc   (gralloc顯示相關)

|       `– overlay   (Skeleton for the "overlay" HAL module.)

|– libhardware_legacy (舊的硬件庫)

|   |– flashlight   (背光)

|   |– gps    (GPS)

|   |– include    (頭文件)

|   |– mount    (舊的掛載器)

|   |– power    (電源)

|   |– qemu    (模擬器)

|   |– qemu_tracing (模擬器跟蹤)

|   |– tests    (測試)

|   |– uevent    (uevent)

|   |– vibrator    (震動)

|   `– wifi    (無線)

|– msm7k    (高通7k處理器開源抽象層)

|   |– boot    (啟動)

|   |– libaudio   (聲音庫)

|   |– libaudio-qsd8k (qsd8k的聲音相關庫)

|   |– libcamera   (攝像頭庫)

|   |– libcopybit   (copybit庫)

|   |– libgralloc   (gralloc庫)

|   |– libgralloc-qsd8k (qsd8k的gralloc庫)

|   |– liblights   (背光庫)

|   `– librpc    (RPC庫)

|– ril     (無線電抽象層)

|   |– include    (頭文件)

|   |– libril    (庫)

|   |– reference-cdma-sms (cdma短信參考)

|   |– reference-ril    (ril參考)

|   `– rild     (ril後臺服務程序)

`– ti       (ti公司開源HAL)

    |– omap3     (omap3處理器)

    |   |– dspbridge   (DSP橋)

    |   |– libopencorehw (opencore硬件庫)

    |   |– liboverlay   (overlay硬件庫)

    |   |– libstagefrighthw (stagefright硬件庫)

    |   `– omx    (omx組件)

    `– wlan     (無線網卡)

 

prebuilt 目錄    (x86和arm架構下預編譯的一些資源)

.

|– android-arm   (arm-android相關)

|   |– gdbserver   (gdb調試器)

|   `– kernel    (模擬的arm內核)

|– android-x86   (x86-android相關)

|   `– kernel    (空的)

|– common    (通用編譯好的代碼,應該是java的)

|– darwin-x86    (drawin x86平臺)

|   `– toolchain   (工具鏈)

|       |– arm-eabi-4.2.1

|       |– arm-eabi-4.3.1

|       `– arm-eabi-4.4.0

|– darwin-x86_64   (drawin x86 64bit平臺)

|– linux-x86    (linux x86平臺)

|   `– toolchain   (工具鏈,我們應該主要用這個)

|       |– arm-eabi-4.2.1

|       |– arm-eabi-4.3.1

|       |– arm-eabi-4.4.0

|       `– i686-unknown-linux-gnu-4.2.1(x86版編譯器)

|– linux-x86_64   (linux x86 64bit平臺)

|– windows    (windows平臺)

`– windows-x86_64 (64bit windows平臺)

 

 

system 目錄  (底層文件系統庫、應用及組件——C語言)

.

|– Bluetooth   (藍牙相關)

|– core    (系統核心工具盒接口)

|   |– adb   (adb調試工具)

|   |– cpio   (cpio工具,創建img)

|   |– debuggerd (調試工具)

|   |– fastboot (快速啟動相關)

|   |– include   (系統接口頭文件)

|   |– init   (init程序源代碼)

|   |– libacc   (輕量級C編譯器)

|   |– libctest   (libc測試相關)

|   |– libcutils (libc工具)

|   |– liblog   (log庫)

|   |– libmincrypt (加密庫)

|   |– libnetutils (網絡工具庫)

|   |– libpixelflinger (圖形處理庫)

|   |– libsysutils (系統工具庫)

|   |– libzipfile (zip庫)

|   |– logcat   (查看log工具)

|   |– logwrapper (log封裝工具)

|   |– mkbootimg (制作啟動boot.img的工具盒腳本)

|   |– netcfg   (網絡配置netcfg源碼)

|   |– nexus   (google最新手機的代碼)

|   |– rootdir   (rootfs,包含一些etc下的腳本和配置)

|   |– sh    (shell代碼)

|   |– toolbox   (toolbox,類似busybox的工具集)

|   `– vold   (SD卡管理器)

|– extras    (額外工具)

|   |– latencytop (a tool for software developers,identifying system latency happen)

|   |– libpagemap (pagemap庫)

|   |– librank   (Java Library Ranking System庫)

|   |– procmem (pagemap相關)

|   |– procrank (Java Library Ranking System相關)

|   |– showmap (showmap工具)

|   |– showslab (showslab工具)

|   |– sound   (聲音相關)

|   |– su    (su命令源碼)

|   |– tests   (一些測試工具)

|   `– timeinfo (時區相關)

`– wlan    (無線相關)

    `– ti    (ti網卡相關工具及庫)

 

 

packages 目錄

.

|– apps     (應用程序庫)

|   |– AlarmClock   (鬧鐘)

|   |– Bluetooth   (藍牙)

|   |– Browser   (瀏覽器)

|   |– Calculator   (計算器)

|   |– Calendar   (日歷)

|   |– Camera    (相機)

|   |– CertInstaller   (在Android中安裝數字簽名,被調用)

|   |– Contacts   (撥號(調用)、聯系人、通話記錄)

|   |– DeskClock   (桌面時鐘)

|   |– Email    (Email)

|   |– Gallery    (相冊,和Camera類似,多瞭列表)

|   |– Gallery3D   (?3D相冊)

|   |– GlobalSearch (為google搜索服務,提供底層應用)

|   |– GoogleSearch (google搜索)

|   |– HTMLViewer (瀏覽器附屬界面,被瀏覽器應用調用,同時提供存儲記錄功能)

|   |– IM    (即時通訊,為手機提供信號發送、接收、通信的服務)

|   |– Launcher   (登陸啟動項,顯示圖片框架等等圖形界面)

|   |– Launcher2   (登陸啟動項,負責應用的調用)

|   |– Mms    (?彩信業務)

|   |– Music    (音樂播放器)

|   |– PackageInstaller (安裝、卸載程序的響應)

|   |– Phone    (電話撥號程序)

|   |– Provision   (預設應用的狀態,使能應用)

|   |– Settings   (開機設定,包括電量、藍牙、設備信息、界面、wifi等)

|   |– SoundRecorder (錄音機,可計算存儲所需空間和時間)

|   |– Stk     (接收和發送短信)

|   |– Sync    (空)   ——-○1

|   |– Updater   (空)

|   `– VoiceDialer   (語音識別通話)

|– inputmethods   (輸入法)

|   |– LatinIME   (拉丁文輸入法)

|   |– OpenWnn   (OpenWnn輸入法)

|   `– PinyinIME   (拼音輸入法)

|– providers    (提供器,提供應用程序、界面所需的數據)

|   |– ApplicationsProvider   (應用程序提供器,提供應用程序啟動項、更新等)

|   |– CalendarProvider    (日歷提供器)

|   |– ContactsProvider    (聯系人提供器)

|   |– DownloadProvider   (下載管理提供器)

|   |– DrmProvider    (創建和更新數據庫時調用)

|   |– GoogleContactsProvider (聯系人提供器的子類,用以同步聯系人)

|   |– GoogleSubscribedFeedsProvider(設置信息提供器)

|   |– ImProvider     (空)

|   |– ManagementProvider   (空)

|   |– MediaProvider    (媒體提供器,提供存儲數據)

|   |– TelephonyProvider   (彩信提供器)

|   |– UserDictionaryProvider (用戶字典提供器,提供用戶常用字字典)

|   `– WebSearchProvider   (空)

|– services   

|   |– EasService     (空)

|   `– LockAndWipe    (空)

`– wallpapers      (墻紙)

    |– Basic      (基本墻紙,系統內置墻紙)

    |– LivePicker     (選擇動態壁紙)

    |– MagicSmoke    (壁紙特殊效果)

    `– MusicVisualization   (音樂可視化,圖形隨音樂而變化)

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *