天天看點

衆多Android 開源項目推薦,給力工作給力學習

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網站的搜尋功能
衆多Android 開源項目推薦,給力工作給力學習
衆多Android 開源項目推薦,給力工作給力學習

項目位址: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

衆多Android 開源項目推薦,給力工作給力學習

項目位址: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變得更加簡便。

衆多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用戶端 。目前支援功能: 消息/私信收發,背景提醒,回複/轉發/收藏,檢視/關注使用者,拍照/圖檔上傳。即将支援功能: 關注管理,随便看看。 

衆多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等進行通知

   部分截圖如下:

    主界面:

衆多Android 開源項目推薦,給力工作給力學習

    MusicSearch界面

衆多Android 開源項目推薦,給力工作給力學習

    Music 播放界面,從圖中可以看出,播放界面做的很美觀

衆多Android 開源項目推薦,給力工作給力學習

   播放界面下方用到了SlidingDrawer

衆多Android 開源項目推薦,給力工作給力學習

      RadioSearch 界面

衆多Android 開源項目推薦,給力工作給力學習

   Jamendo 官方網站:http://www.jamendo.com/en/

    分享的内容依次是:

   1.分析Music搜尋實作,主要是網絡和JSON傳輸

   2.分析全局Application緩存實作方法

   3.分析Download子產品

   4.分析Adapter使用