FBReaderJ
FBReaderJ用於Android平台的電子書閱讀器,它支持多種電子書籍格式包括:oeb、ePub和fb2。此外還支持直接讀取zip、tar和gzip等壓縮文檔。
項目地址:
http://www.fbreader.org/FBReaderJ/
Angle
Angle是一款專為Android平台設計的,適合快速開發的2D游戲引擎,基於OpenGL ES技術開發。該引擎全部用Java代碼編寫,並且可以根據自己的需要替換裡面的實現。
項目地址:http://code.google.com/p/angle/
android-shuffle
android-shuffle是一個GTD(Getting Things Done)個人備忘記事本。
項目地址:
http://code.google.com/p/android-shuffle/
Open GPS Tracker
GPSTracker 是一個能夠使用Android地圖記錄你的駕車或旅行路線的項目,出發前打開軟件選擇開始記錄,你所經過的路線就會實時顯示在地圖上,同時還會顯示當前的行駛速度。程序會按用戶自己設置的標題自動存路線留做日後查看,也可以把路線分享給朋友。GPSTracker項目是一個Map方面的完整應用,包括兩個主要組成部分,第一部分是一個收集和存儲GPS追蹤數據的系統服務,第二部分是Map Activity控制跟蹤數據並在地圖上顯示提供接口。GPSTracker項目用到了osmdroid項目的部分功能,其中OpenStreetMap 是一個可供自由編輯的世界地圖,允許您查看,編輯或者使用世界各地的地理數據來幫助您。
項目地址:
http://code.google.com/p/open-gpstracker/
Rokon
Rokon 是一個強大、可擴展、靈活的Android 2D游戲引擎,基於OpenGL ES技術開發,物理引擎為Box2D,因此能夠實現一些較為復雜的物理效果,有人將它稱為Cocos2d-iPhone引擎的Android版(因為業務邏輯和編碼風格上也確實很像)。
)。
項目地址:http://code.google.com/p/rokon/
LGame
LGame 是一款國人開發的Java游戲引擎,有Android及PC(J2SE)兩個開發版本。其底 層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版采用Graphics2D封裝,Android版采用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本 間主要代碼能夠相互移植。Android版內置有Admob接口,可以不必配置XML直接硬編碼Admob廣告信息。該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內置有Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版 已突破1.2MB,Android版有所簡化也在500KB左右。此外,該引擎還內置有按照1:1實現的J2ME精靈類及相關組件,可以將絕大多數 J2ME游戲平移到Android或PC版中。
項目地址:
http://code.google.com/p/loon-simple/
OpenIntents
通過"Intents",Android給連接軟件和動態替換組件提供了優秀的基礎。Google定義了一批intents(如:打電話啊,聯系人清單上選擇一個聯系人,打開浏覽器,電池更換的時候提供提示,等等,詳細清單請看:available intents和intent class) 但是任何程序可以自由定義額外的intents和content-providers。我們可以很容易的聯想到獨立開發的程序(比如在這次的比賽中)極少有可能會和新定義的intents和接口良好的一起工作。 我們這個項目的目標是收集很可能在多個項目中都有用的想法(而且很可能已經被其他獨立程序員實現了),定義一批比較合理且擴展性比較好的一批 intents和接口,提供基礎但穩定有效的實現,可以被其他Android程序所應用的,特別是其他參加比賽的程序員們。OpenIntents本身也會參加這次的比賽。我們提供小的樣品程序來演示OpenIntents的用法和特性。 因為我們專注於經常被使用到的那些intents,Google也很可能在不久的將來提供他們自己的標准intents(比如關於日歷的。。。)當那個發生的時候,我們會提供透明的接口來直接呼叫Google的實現方法,而你已有的程序可以直接使用Google的新功能而不需要改變任何東西。而且,由於你的程序在設計初期就是已經支持intents的了,當Google的intents出來的時候,你可以很方便的直接他們的intents。還有可能的是 Google可能會借用一些OpenIntents開發的intents。無論如何,如果你的程序使用OpenIntents,在和其他使用 OpenIntents程序提供互相支持的同時,你會得到額外的附加值,從而全面增強用戶體驗。
項目地址:
http://code.google.com/p/openintents/
android-bluetooth
非常官方Android Bluetooth API支持遠程設備掃描、遠程設備配對,服務發現(SDP)和客戶端RFCOMM串行連接。
項目地址:http://code.google.com/p/android-bluetooth/
Android apktool
Android apktool是一個用來處理APK文件的工具,可以對APK進行反編譯生成程序的源代碼和圖片、XML配置、語言資源等文件,也可以添加新的功能到APK文件中。用該工具來漢化Android軟件然後重新打包發布是相當簡單的。
項目地址:
http://code.google.com/p/android-apktool/
quake2android
quake2android是一個將《雷神之錘2》(Quake2)游戲移植到Android平台上的開源項目。支持谷歌Nexus One,三星Galaxy S,摩托羅拉Droid X等手機。
項目地址:
http://code.google.com/p/quake2android/
AndEngine
AndEngine是一個開源的,基於OpenGL實現的Android 2D游戲引擎。
這裡 提供一些基於AndEngine實現的示例。
項目地址:
http://code.google.com/p/andengine/
android-opencv
android-opencv是一個將OpenCV移到Android手機平台的開源項目,該項目使用OpenCV最新的一個分枝並利用一個改良過的Android NDK進行構建。
項目地址:http://code.google.com/p/android-opencv/
android-dalvik-vm-on-java
android- dalvik-vm-on-java該項目的目標是開發一個采用Java實現的Android Dalvik虛擬機。目的是為了學習Dalvik VM的思想和架構。當前支持Dalvik可執行文件格式(.dex),完整的Dalvik指令系統,J2ME CLDC API,多線程(包括同步阻塞,等待和通知)。
項目地址:http://code.google.com/p/android-dalvik-vm-on-java/
Android PC_BCR
Android PC_BCR讓你能夠使用你的Android手機做為PC機的外圍條形碼掃描儀。掃描的條形碼將通過WiFi網絡連接傳PC機中。這個開源項目由多個組件組成,在手機設備上PC_BCR使用ZXing掃描儀器來掃描條形碼,然後程序通過網絡傳到PC中,PC中有專門的PC_BCR程序接收。
項目地址:http://code.google.com/p/android-pcbcr/
android-sms
android-sms能夠將Android SMS短信備份到Gmail中的Android開源程序。
項目地址:http://code.google.com/p/android-sms/
jPCT-AE
jPCT-AE是一個將jPCT移植至Android平台上3D圖形引擎。
項目地址:http://www.jpct.net/jpct-ae/
AndTweet
AndTweet是一個輕量級Twitter客戶端,支持利用觸摸和鍵盤進行快速操作。
項目地址:http://code.google.com/p/andtweet/
android-smspopup
android-smspopup這個Android應用程序能夠攔截收到的短消息並在一個彈出框中顯示消息內容和聯系人頭像。此外還可以自定義LED顏色,振動模式,當第一次提醒顯示沒有看到時會重復提醒用戶哪些信息沒有看過。
項目地址:http://code.google.com/p/android-smspopup/
MyTracks
My Tracks能夠記錄你在戶外活動的GPS軌跡並實時顯示時間,速度,距離和海拔等信息。還可以將這些信息上傳至Google Spreadsheets並在Google My Maps中顯示。
項目地址:http://code.google.com/p/mytracks/
i-jetty
i-jetty是一個將開源Web容器Jetty移植到Google Android手機平台上的開源項目。讓你可以在手機上運行現有的Web應用。
項目地址:http://code.google.com/p/i-jetty/
webOdroid
webOdroid這個開源項目提供了一組完整的工具,能夠根據現有網站創建一個Android應用程序。它提供的特性包括:
- 一個功能齊全的RSS浏覽器
- 能夠顯示文章列表的ListView或GridView控件。
- 提供易於定制的模板
- 在網站上執行遠程搜索
- 根據文章標題提供搜索建議
- 異步下載和緩存RSS供稿和圖片
- 動態抽取和裁剪文章的圖片
- 通過一個專用的Joomla組件能夠集成Joomla網站的搜索功能
項目地址:http://www.webodroid.com/
android-json-rpc
android-json-rpc是一個在android程序中使用的JSON-RPC客戶端類庫。它提供了一個簡單的API來執行JSON-RPC服務調用。
項目地址:http://code.google.com/p/android-json-rpc/
BikeRoute
BikeRoute是一個Android應用程序提供基於GPS線路計劃和定位功能。支持A到B路徑規劃,附近的單車停放處的位置,一步一步的指示,路線圖,衛星導航等功能。
項目地址:
http://code.google.com/p/bikeroute/
Andorid PDF Viewer
Andorid PDF Viewer是一個運行在ANDROID手機上的PDF文件查看器。它是pdf-rendere:
https://pdf-renderer.dev.java.net/ 的一個移植實現。
項目地址:http://andpdf.sourceforge.net/
Spring Android
Spring Android 是Spring框架的擴展,用於簡化 Android 本地應用程序的開發。
項目地址:http://www.springsource.org/spring-android
AchartEngine
AChartEngine是一個針對Android程序開發的開源圖表生成類庫。支持以下幾種圖表類型:
- 折線圖
- 區域圖
- 散點圖
- time chart
- 柱狀圖
- 餅狀圖
- bubble chart
- doughnut chart
range (high-low) bar chart
項目地址:http://code.google.com/p/achartengine/
Opencore
Opencore是google聯合packetvideo推出的多媒體開源框架,其中的h.264解碼器在目前所有的開源h.264解碼器中最好的,在win32和armv4上測試通過,性能好很多,大概提升20%!
OpenCore的另外一個常用的稱呼是PacketVideo,它是Android的多媒體核心。在防站的過程中,PacketVideo是一家公司的 名稱,而OpenCore是這套多媒體框架的軟件層的名稱。在Android的開發者中間,二者的含義基本相同。對比Android的其它程序 庫,OpenCore的代碼非常龐大,它是一個基於C++的實現,定義了全功能的操作系統移植層,各種基本的功能均被封裝成類的形式,各層次之間的接口多 使用繼承等方式。
OpenCore是一個多媒體的框架,從宏觀上來看,它主要包含了兩大方面的內容:
* PVPlayer:提供媒體播放器的功能,完成各種音頻(Audio)、視頻(Video)流的回放(Playback)功能
* PVAuthor:提供媒體流記錄的功能,完成各種音頻(Audio)、視頻(Video)流的以及靜態圖像捕獲功能
項目地址:http://www.opencore.net/
Android Tools
Android Tools是一個輕量級IDE用於創建、構建、安裝和測試Android應用程序。可方便的通過點擊訪問Android的命令、目錄和文件。它還提供一個內置的文本編輯器。Android Tools能夠讓學習和使用Android變得更加簡便。
項目地址:http://fieldbird.sourceforge.net/AndroidTools/
android-binding
android-binding這個開源項目提供了一個框架用於將android view widgets與數據模型相綁定。幫助您在android應用程序中實現MVC或MVVM模式。
項目地址:http://code.google.com/p/android-binding/
Robotium
Robotium 是一個測試框架能夠方便你為Android應用程序編寫強大、健壯的自動黑盒測試用例。利用Robotium的支持,用例開發人員能夠編寫功能、系統和驗收測試方案Robotium支持Activities、Dialogs、Toasts、Menus和Context Menus。
項目地址:http://code.google.com/p/robotium/
QuiteSleep
QuiteSleep是一個Android2.0+應用程序,可以設置免打擾時間段。這個時間段內,打進來的電話將會被阻止並通過SMS或E-Mail發送預定義好的信息給打電話者告知他你正忙或正在睡覺等。
項目地址:
http://code.google.com/p/quitesleep/
fanfoudroid
安能飯否是一款開源的飯否Android客戶端 。目前支持功能: 消息/私信收發,後台提醒,回復/轉發/收藏,查看/關注用戶,拍照/圖片上傳。即將支持功能: 關注管理,隨便看看。
項目地址:http://code.google.com/p/fanfoudroid/
Skylight1
Skylight1是一個開源的Java手機應用程序開發框架和一些Android應用程序與示例。
這個開源項目包含了以下子項目:
- SkylightOpenGL - OpenGL wrapper DSL to the Java binding for OpenGL ES - JSR 239 for Android and Java ME
- Skylight1 DI - 一個依賴注入框架
- Skylight1 Mocks - 一組Android電話的模擬對象,包括回放。
- Skylight1 Utils - 工具類如:FPS計數器,遠程異常堆棧處理。
- Skylight1 UI - 公共可定制UI類
- Skylight1 XML - XML解析類。
- Skylight1 Server - corresponding server side projects and utils
- MarketConsoleScraper - Android Market console scraper contributed by Worksmart Labs
- Skylight1 Demos - api and sample demos including:
- Tanked, a 2D OpenGL demo
- Barnstormer, a 3D OpenGL demo
- Flick Test, a flick example showing borders of adjacent views
- Skylight1 Wallpaper, a live wallpaper example featuring selectable backgrounds and a fingerprint.
Current Android Applications:
- Skylight1 TDC - a test data capture application for Android phones - available here for download
- Skylight1 Game the initial app, a game for Android phones called "Balance the Beer" - available on the market.
- NYC Events - an app that lists NYC Parks, Art and Music events. - available on the market
- Toast - an app that helps you make a toast with your phone! - available on the market
項目地址:http://code.google.com/p/skylight1/
Android團隊提供的示例項目
如果不是從學習Android SDK中提供的那些樣例代碼開始,可能沒有更好的方法來掌握在Android這個框架上開發。由Android的核心開發團隊提供了15個優秀的示例項 目,包含了游戲、圖像處理、時間顯示、開始菜單快捷方式等。
地址:http://code.google.com/p/apps-for-android/
Remote Droid
RemoteDroid是一個Android應用,能夠讓用戶使用自己的無線網絡使用無線鍵盤、觸摸屏操作手機。這個項目為開發者提供了如網絡連接、觸 摸屏手指運動等很好的樣例。
地址:http://code.google.com/p/remotedroid/
TorProxy和Shadow
TorProxy應用實現了Android手機無線電電傳通訊(TOR),和Shadow應用一起使用,可以使用手機匿名上網。從該項目源代碼中,可以 掌握socket連接、管理cookie等方法。
地址:http://www.cl.cam.ac.uk/research/dtg/code/svn/android-tor/
Android SMSPopup
SMSPopup可以截獲短信內容顯示在一個泡泡形狀的窗口中。從這個項目中可以掌握到如何使用內置的短信SMS接口。
地址:http://code.google.com/p/android-smspopup/
Standup Timer
Standup Timer應用用於控制站立會議時間,類似秒表倒計時,可以提醒每個人的講話時間已到,從而保證每個與會者使用時間一樣。從該項目的代碼中,可以學會如何 使用時間函數。另外,這個項目的代碼是采用視圖view、模型model嚴格分離的設計思路。
地址:http://github.com/jwood/standup-timer
Foursquare
是 Foursquare.com的一個客戶端應用,該應用主要分為兩個模塊:API(com.joelapenna.foursquare)和界面前端 (com.joelapenna.foursquared)兩部分。從該項目代碼中,可以學會如何同步、多線程、HTTP連接等技術。
地址:http://code.google.com/p/foursquared/
Pedometer
Pedometer應用用於記錄你每天走路步[]數的。盡管記錄不一定精准,但是從這個項目中,可以學習幾個不同的技術:加速器交互、語音更新、後台運行服 務等。
地址:http://code.google.com/p/pedometer/
OpenSudoku-android
OpenSudoku是一個簡單的九宮格數獨游戲。從代碼中可以學習到如何在視圖中顯示表格數據,以及如何和一個網站交互等技術。
地址:http://code.google.com/p/opensudoku-android
ConnectBot
ConnectBot是Android平台的一個客戶端安全殼應用。從該項目代碼中,可以學習到很多Android安全方面的內容,這些是你在開發應用 時經常需要考慮的安全問題。
地址:http://code.google.com/p/connectbot/
WordPress的Android應用
當然在最後不能不提Wordpress的Android應用了,這是Wordpress官方開發團隊提供的一個項目。從代碼中可以學習到XMLRPC調 用(當然還有更多的優秀內容)。
地址:http://android.svn.wordpress.org/trunk/
Jamendo
Jamendo 在線音樂播放器是一款android 平台在開源的在線音樂播放,該播放器的主要特色如下:
1. 界面美觀,在jamendo 播放器中精美的布局的隨處可見,大量使用自定義控件和Adapter 進行布局,這點可供初學者好好探討研究
2. 構架清晰
3. 在代碼中大量使用全局緩沖機制,如全局Application 緩沖,圖片緩沖等等。。
4. 數據傳遞使用JSON 方式,網絡傳輸(Apache Http 4.0) 。。。
5. 全局的MediaService ,並且伴有NotifyManager 等進行通知
部分截圖如下:
主界面:
MusicSearch界面
Music 播放界面,從圖中可以看出,播放界面做的很美觀
播放界面下方用到了SlidingDrawer
RadioSearch 界面
Jamendo 官方網站: http://www.jamendo.com/en/
分享的內容依次是:
1.分析Music搜索實現,主要是網絡和JSON傳輸
2.分析全局Application緩存實現方法
3.分析Download模塊
4.分析Adapter使用
5.分析全局Service構成
6.分析自定義Widet,代碼中大量使用自定義布局,對新手學習布局很有幫助
7.分析整體結構
學習Android 或者做Android 項目的可以參考這些。