Time of Update: 2017-02-27
Android程式中一旦載入的圖片比較多,就有可能出現Out of Memory而導致程式崩潰。這個一方面是因為Android系統本身對於每個單獨的進程有記憶體大小的限制(有16M,64M,128M,256M等等),另一方面是因為Android系統對於圖片資源的記憶體回收比較慢(文章http://jiangnane.com/index.php/archives/230中對Android源碼進行了分析,發現Android的setImageViewBitmap(Bitmap
Time of Update: 2017-02-27
package name是Android系統中為每一個應用程式分配的一個標識,每個應用的標識都必須是不同的。在應用開發過程中,有時候可能需要對package name進行修改,這裡主要總結修改package name的方式和常見問題及有效解決辦法。在AndroidManifest.xml中的package欄位明確指出了package的名稱,但是僅僅通過修改package欄位來修改應用的package name是不夠的,因為package
Time of Update: 2017-02-27
這些天在寫android應用,遇到了一件很詭異的事情:某個圖片資源作為背景被設定到layout上,在eclipse的layout設計介面內能顯示,但是啟動模擬器後圖片完全無法顯示;我將應用打包到真機上測試,發現圖片能顯示!但事實遠未那麼簡單。。後來我將應用打包給我的幾個朋友測試,發現圖片又是無法顯示。其中,我的應用程式支援的版本是2.1,模擬器版本是2.1,我的機器版本是4.0,兩個朋友的機器分別是2.1和2.3。於是我猜想該圖片在2.1和2.3上不相容,於是單獨建立一個工程,對該圖進行測試,結
Time of Update: 2017-02-27
看到一個帖,做的筆記,文章在:http://topic.csdn.net/u/20110304/15/ae5279b1-692e-48a7-a5b9-0e579a3a6974.html我想記錄的是:做提醒功能的一個服務,自動解鎖+亮屏。寫一個Activity啟動該服務即可,用一個線程開啟服務,要是黑屏的狀態下啟動才有效果。import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock;
Time of Update: 2017-02-27
Android 程式調試工具 Google為我們提供的代碼調試工具的亮點:traceview和 dmtracedump
Time of Update: 2017-02-27
最近在搞android 新浪微部落格戶端,有一些心得分享弄android用戶端表情功能可以用以下思路1.首頁把新浪的表情下載到本地一檔案夾種,表情圖片的命名要用新浪微博表情原來的命名比如 新浪的害羞表情是shame.gif
Time of Update: 2017-02-27
前言TextView的drawableLeft、drawableRight和drawableTop是一個常用、好用的屬性,可以在文本的上下左右放置一個圖片,而不使用更加複雜布局就能達到,我也常常喜歡用RadioButton的這幾個屬性實現很多效果,但是苦於不支援讓drawbleLeft與文本一起置中,設定gravity為center也無濟於事,終於有空研究了一下,這裡與大家一起分享。一、效果圖查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.biancen
Time of Update: 2017-02-27
3.1多了三個大包android.hardware.usb 、android.mtp 、 android.net.rtp !android.mtp讓串連的camera和其他裝置,直接使用PTP(映像傳輸協議)的MTP(媒體傳輸協議)。保持裝置串連,上層app可以接收到通知,取消,管理這些裝置的檔案和儲存,檔案的傳輸和中繼資料等。它為我們提供了定義PTP和MTP的MtpConstants,描述USB
Time of Update: 2017-02-27
1.介紹我們知道android遊戲主要包含兩方面。一方面是控制類,這個通過一些迴圈以及監聽機制來實現。另一方面就是顯示類。在現實類中最常見的就是view,view的機制比較適合重新整理比較慢的應用,像是象棋之類的。本文要提到的SurfaceView是繼承自view類。surfaceview的好處是可以隨意控制對象的位置,大小等屬性,最關鍵是的提供了SurfaceHolder類,使用getHolder方法擷取,相關的有Canvas lockCanvas()
Time of Update: 2017-02-27
1.介紹現在遊戲中的廣告基本上已經成為了遊戲創作者的一個重要的收入來源。其實插入廣告還是挺簡單的,本文選擇百度廣告聯盟作為案例(總覺得百度不會拖欠工資)。註:不過,插入廣告軟體會稍微卡一些,而且真的很耗流量。(本文並不是照抄百度的文檔,會很直白哦)2.代碼部分首先肯定是註冊百度廣告同盟帳號,和下載sdk。地址:http://munion.baidu.com/第二步,開啟eclipse,把裡面的jar檔案匯入庫中。將百度推廣的jar包複製到您工程的Libs目錄下,並按如下步驟將其匯入:右鍵點擊你的
Time of Update: 2017-02-27
傳統介面的布局方式總是行列分明、坐落有序的,這種布局已是司空見慣,在不知不覺中大家都已經對它 產生了審美疲勞。這個時候瀑布流布局的出現,就給人帶來了耳目一新的感覺,這種布局雖然看上去貌似毫 無規律,但是卻有一種說不上來的美感,以至於湧現出了大批的網站和應用紛紛使用這種新穎的布局來設計 介面。記得我在之前已經寫過一篇關於如何在Android上實現照片牆功能的文章了,但那個時候是使
Time of Update: 2017-02-27
本文將告訴你如何讓你的應用程式支援各種不同螢幕大小,主要通過以下幾種辦法:讓你的布局 能充分的自適應螢幕根據螢幕的配置來載入合適的UI布局確保正確的布局應用在正確的裝置螢幕上提供可以根據螢幕大小自動調整的圖片使用 "wrap_content" 和 "match_parent"為了確保你的布局能夠自適應各種不同螢幕大小,你應該在布局的視圖
Time of Update: 2017-02-27
大家好,今天給大家帶來一個仿360手機衛士懸浮窗效果的教程,在開始之前請允許我說幾句不相干的廢 話。不知不覺我發現自己接觸Android已有近三個年頭了,期間各種的成長少不了各位高手的協助, 總是有很多高手喜歡把自己的經驗寫在網上,供大家來學習,我也是從中受惠了很多,在此我深表感謝。可 是我發現我卻從來沒有將自己平時的一些心得拿出來與大家分享,共同學習,太沒有奉獻精神了。於是我痛
Time of Update: 2017-02-27
前言Android Build 系統是 Android 源碼的一部分。關於如何擷取 Android 源碼,請參照 Android Source 官方網站:http://source.android.com/source/downloading.html。Android Build 系統用來編譯 Android 系統,Android SDK 以及相關文檔。該系統主要由 Make 文 件,Shell 指令碼以及 Python 指令碼組成,其中最主要的是 Make 檔案。眾所周知,Android
Time of Update: 2017-02-27
Android裡面可以通過終端使用AM命令啟動某個指定的Activity。工作中因為新開發的機器需要進行螢幕 座標校準,機器因為還沒調試好,每次座標校準都沒有出現,機器使用不了,只能通過終端調用座標校準的 Activity啟動。例如啟動 coordinate.apk的主activityam start -n com.apical.apicalcoordinate/com.apical.apicalcoordinate.coordinateActivity其中
Time of Update: 2017-02-27
根據最近泄露的一份代碼顯示,最新的Android 4.3果凍豆系統將會支援應用和小組件根據使用頻率次數排序,而不僅僅是目前預設採用的根據字母順序排序。Myce網站首先在GoogleChromebook Pixel的Google Launcher代碼中發現了這一特殊的功能,而並不是在之前泄露版的Android 4.3測試系統中發現的新特性。另外,根據一位內部人士透露,即將發布的Android 4.3系統也對核心的系統內建應用程式介面進行了更新。並且這位內部人士表示,Android
Time of Update: 2017-02-27
Android中,View的Listener方法,在是否使用匿名類匿名對象時,有各種不 同的寫法。OnClickListener和其他Listener方法一樣,都是View類的接 口,重載實現後就能使用,其介面定義如下:public interface OnClickListener { /** * Called when a view has been clicked. * * @param v The view that
Time of Update: 2017-02-27
1.1 SurfaceFlinger從這一小節開始,我們正式切入SurfaceFlinger的分析。為了保持講解的連貫性,部分內容可能在前面的章節中已經有所涉及了,接下來將會對其中的細節做更多的擴充講解。內容組織如下:l 首先介紹Android 4.1引入的新特性(Project Butter),理解這個項目是必要的,可以說SurfaceFlinger有很大一部分的內容就是圍繞它來的l SurfaceFlinger的啟動過程及工作方式l
Time of Update: 2017-02-27
1.1.1 應用程式的典型繪圖流程我們知道,BufferQueue有最多達32個BufferSlot,這樣設計的目的是什嗎?一個可能的原因就是提高圖形渲染速度。因為假如只有兩個buffer,可以想象一下,當應用程式這個生產者的產出效率大於消費者的處理速度時,很快它就會dequeue完所有緩衝區而處於等待狀態,從而導致不必要的麻煩。當然,實際上32隻是最大的容量,具體值是可以設定的,大家可以結合後面的ProjectButter小節來理解一下。前面小節我們已經學習了BufferQueue的內部原理,
Time of Update: 2017-02-27
1.1.1 BufferQueue中的緩衝區分配我們知道,BufferQueue中有一個mSlots數組用於管理其內的各緩衝區,最大容量為32。從它的聲明方式來看,這個mSlots在程式一開始就靜態分配了32個BufferSlot大小的空間。不過這並不代表緩衝區也是一次性靜態分配的,恰恰相反,從BufferSlot的內部變數指標mGraphicBuffer可以看出,緩衝區的空間分配應當是動態(從下面的注釋也能看出一些端倪):// mGraphicBuffer points to the