Time of Update: 2018-12-03
Android上為了讓視頻顯示的更流暢,自然要使用到NDK, 沒有採用YUV420 overlay的方式, 而採用平台移植更安全的RGB565顯示。 在android 2.3上測試通過。 但到了MTK andriod平台(A301)遇到glTexImage2D gl_error 0x501的錯誤(源映像為176*144)。 經過反覆測試, 這個mtk andriod版本支援opengl es,
Time of Update: 2018-12-03
MoviGuard準備發布, 支援rtsp/rtp協議, mpeg4-sp視頻編碼,支援即時視頻觀看,拍照錄影,連接點管理等功能。 後續可支援音頻擴充成手機電視等其他應用。 不用MediaPlayer, 自己實現網路下載和視頻解碼。 對於有C++經驗的同學來說,開發android程式不是件困難的事情。 而越來越成熟的NDK也讓C/C++程式員感覺輕鬆。 總結之前android開發過程中的一點感想: 1) 如果JAVA效能夠用就別用NDK。 C庫不成熟穩定的話,
Time of Update: 2018-12-03
原文http://www.developer.com/ws/10-must-have-android-tools-for-developers.html ByLauren Darcey & Shane Conder Android SDK有一套強大的工具協助開發人員設計,開發,測試和發布高品質的Android應用程式。在這篇文章中,討論了10個最常見的工具,android 開發人員應該瞭解和學習使用。 Android的工具#1:Eclipse的W
Time of Update: 2018-12-03
原文地址:http://www.developer.com/ws/android/programming/the-10-rookie-mistakes-every-android-developer-should-avoid.html 6,把prototype作為一個Android應用程式的基礎直接開發太多次了,我們已經看到一個應用程式,基本上是一個Hello
Time of Update: 2018-12-03
作者: Android開發網原創 時間: 2011-10-09對於GoogleAndroid 4.0 Ice Cream SandWich和微軟WP7.5 Mango在開發技術上作對比,可以看出早期Google學習了Microsoft的WPF的設計方式,由於微軟Windows Phone
Time of Update: 2018-12-03
原文http://www.developer.com/ws/10-must-have-android-tools-for-developers.html ByLauren Darcey & Shane Conder Android的工具#6:LogCatLogCat是Android日誌系統的名稱。
Time of Update: 2018-12-03
原文地址:http://www.developer.com/ws/android/programming/the-10-rookie-mistakes-every-android-developer-should-avoid.html在過去十年中最流行的行動裝置
Time of Update: 2018-12-03
講講編譯的步驟:1. 安裝cygwin 必須是1.7或者更新的版本 安裝cygwin的時候,選擇安裝gcc和make,目的是為了提供編譯環境, make的版本至少是3.812.安裝ndk 2.1 下載ndk-r4b-windows,並將其放到cygwin的/home/Administator目錄 設定環境變數 將/etc/skel/目錄的 .bash_profile .bashrc .inputrc拷貝到/home/administrator目錄,
Time of Update: 2018-12-03
官方意見:1) apache httpclient高效穩定,但是維護成本高昂,故android Team Dev不願意在維護該庫而是轉投更為輕便的httpurlconnection;2) httpurlconnection比較輕便,靈活和易於擴充,它在2.2前存在這樣一個BUG,詳見http://code.google.com/p/android/issues/detail?id=2939 private void disableConnectionReuseIfNecessary() {
Time of Update: 2018-12-03
退避演算法在android中的應用很常見,核心目的是為了節省資源和減少電的消耗:1.遊戲的心跳包;發送一個心跳包之後,下一個心跳包的時間做退避演算法(根據實際情況自己設計演算法來實現)處理;2.雲推送的心跳包(這裡特指用UDP實現,沒有用TCP的長串連);同上;3.應用台更新的時候:Application Inactivity Back-off:boolean appUsed = prefs.getBoolean(PREF_APPUSED, false);long updateInterval
Time of Update: 2018-12-03
Android應用程式的記憶體被限定在16MB,至少在G1手機上是這樣。對於一個手機來說,這已經佔用了非常多的記憶體了,但是對於開發人員想要實現的目標而言,這些記憶體是非常少的。即時你本來就沒打算用掉所有的記憶體,但是你應該儘可能的少用記憶體,來讓其他程式可以保持運行,而不是被系統殺掉。系統在記憶體裡儲存的應用程式越多,使用者在應用程式之間選擇切換的速度就會越快。作為我工作的一部分,我跟蹤了Android應用程式記憶體泄露的情況,發現它們大多數是因為同一個問題:保持了對Context對象的長期的
Time of Update: 2018-12-03
看到不少人在建立android工程之後,又在上面做了不少功夫,封裝之後再封裝。或許是為了實現他們永遠無法拋棄的"MVC"模式,又或者是離不開所謂的“內褲(類庫)”王子的夢想,抑或是抱著創新搏人眼球。總之,這夥兄弟無所不用奇蹟。回過頭來,我們試想一下,framework的核心作用什麼呢--避免重複製造輪子。假設當初這些套件不是用“JAVA+大量的設計模式”,而是採用C/C++,現在的android應該是另外一番風景了。既然,Google的兄弟們,已經給我們造好了輪子了,如果我們所做再封裝僅僅是為了
Time of Update: 2018-12-03
方法實在是很簡單, 為你的httpclient添加一個retry handler就ok了。代碼如下: HttpRequestRetryHandler retryHandler = new HttpRequestRetryHandler() { @Override public boolean retryRequest(IOException arg0, int arg1, HttpContext arg2) {
Time of Update: 2018-12-03
/**擷取EditText游標所在的位置*/ private int getEditTextCursorIndex(EditText mEditText){ return mEditText.getSelectionStart(); } /**向EditText指定游標位置插入字串*/ private void insertText(EditText mEditText, String mText){
Time of Update: 2018-12-03
原因分析:1.用戶端與伺服器的連結已經關閉(可能是用戶端,也可能使伺服器端,一般是用戶端主動關閉),用戶端繼續向服務端寫資料;2.在使用httpclient的threadsafeconnectionmanager或者poolconnectionmanger的時候容易出現,原因是我們設定了串連擷取資料逾時的時間;解決方案:1.為你的httpclient添加retry handler,形如下代碼: HttpRequestRetryHandler retryHandler = new
Time of Update: 2018-12-03
每個屬性都有一個名稱和值,他們都是字串格式。屬性被大量使用在Android系統中,用來記錄系統設定或進程之間的資訊交換。屬性是在整個系統中全域可見的。每個進程可以get/set屬性。在系統初始化時,Android將分配一個共用記憶體區來儲存的屬性。這些是由“init”守護進程完成的,其原始碼位於:device/system
Time of Update: 2018-12-03
閑來無事,分析一下Android的Build系統,希望對自己的工作有所助益;有可能對別人有所協助。 Android無疑是一個很大的系統,目前看來也是還很年輕,又很有活力的一個系統。通過研究它的build子系統,至少可以看到一個大系統是怎樣寫出來的。 Makefile,很多人可能都覺得,這個東西太簡單了,甚至很多時候都不需要,我直接gcc把原始碼編出來就可以了。這種想法,在程式小的時候是可以的,但是要寫一個大型的系統的話,如果還守著以前的手工作坊的模式,那隻會給自己帶來很大的困擾。 我們關注的不是
Time of Update: 2018-12-03
當Android手機(應該是所有的手機都這樣)收到簡訊或者電話時,會自動點亮螢幕,解開螢幕鎖,以方便使用者即時操作,下面用代碼來實現這一功能: KeyguardManager km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);//得到鍵盤鎖管理器對象KeyguardLock
Time of Update: 2018-12-03
部署好cygwin,編譯一下NDK內建的sample,報錯:“ Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk ! ” 原來NDK內建了一個awk.exe, Host 'awk' tool is outdated. 已經到期。找了下解決方案,最直接的辦法是到NDK的host目錄
Time of Update: 2018-12-03
現在,在Android2.3版本裡,可以使用native_activity.h介面實現一個完整的native