輸入法(IME)是讓使用者輸入文本的控制項。Android提供了一個可擴充的的IME的架構,它允許應用程式給使用者提供另外的IME,如軟鍵盤或語音輸入。這些IME一旦安裝,使用者就可以從系統的設定中選擇他們想要使用的IME,並且這個設定對整個系統都是有效,每次只有一種IME是可用的。要在Android系統中添加一種IME,你就要建立一個包含繼承了InputMethodService類的類應用程式。另外,你通常還要建立一個“settings”Activity,把選項傳遞給IME服務。你還可以定義一
設定作業欄的樣式如果你對應用程式中的可視構件進行了定製化的設計,那麼你可能也會要對操作欄做一些重新設計,以便跟應用程式的設計匹配。要這樣做的話,需要使用Android的樣式與主題架構中的一些特殊的樣式屬性來重新設定作業欄的樣式。注意:改變外觀的背景圖片依賴與當前按鈕的狀態(選擇、按下、解除選擇),因此你使用的可描畫的資源必須是一個可描畫的狀態列表。警告:對於你提供的所有可描畫的背景,要確保使用NinePatch類型可描畫資源,以便允許圖片的展開。NinePatch類型的圖片應該比40像素高30像
如果你的app使用者量潛力上來說是巨大的, 而且使用者會時常使用你的app的, 比如twitter用戶端, SNS外掛程式等等, 你可以考慮用廣告的收入方式而發布免費的app. 說起廣告banners, 大家一定不會陌生了. 最流行的就是google adsense. 但本人對adsense的印象很不好. 自己有個adsense的帳號, 但時不時廣告都會變成公益廣告, 而且收入奇低, -__-#至今未收到他們的支票... 所以, 按道理上來說, Android app和google
http://rayleeya.javaeye.com/blog/755657 三、記憶體監測工具 DDMS --> Heap 無論怎麼小心,想完全避免bad code是不可能的,此時就需要一些工具來協助我們檢查代碼中是否存在會造成記憶體流失的地方。Android tools中的DDMS就帶有一個很不錯的記憶體監測工具Heap(這裡我使用eclipse的ADT外掛程式,並以真機為例,在模擬器中的情況類似)。用Heap監測應用進程使用記憶體情況的步驟如下:1. 啟動eclipse後,切
Android SDK 提供好幾個 Preference 組件,例如 CheckBoxPreference、EditTextPreference、DialogPreference、ListPreference 等,這些組件是跟 Android 提供的 Preference 儲存機制綁定的,你可以通過這些組件來修改應用的一些配置,如所示,這是 Android
ps:對於軟體開發人員來說,保護代碼安全也是比較重要的因素之一,不過目前來說Google Android平台選擇了Java Dalvik VM的方式使其程式很容易破解和被修改,首先APK檔案其實就是一個MIME為ZIP的壓縮包,我們修改ZIP尾碼名方式可以看到內部的檔案結構,類似Sun JavaMe的Jar壓縮格式一樣,不過比較去別的是Android上的二進位代碼被編譯成為Dex的位元組碼,所有的Java檔案最終會編譯進該檔案中去,作為Managed
By 何明桂(http://blog.csdn.net/hmg25) 轉載請註明出處 對於之前發布的翻頁效果的源碼,由於寫得太匆忙,注釋講解的不多,且本人文筆較差,至使很多人對其中的很多部分不是很清楚,尤其是其中的光影部分,而我也不知道如何去向其解釋,真是讓我汗顏無比,所以今天利用閑暇來給大家分析一下。 ps: 由於零碎時間有限所以文字也有些零碎,望見諒~ 首先來分析,翻起頁與下一頁交匯處的陰影,即(紅圈標註處):
至此,翻書的控制項也寫的差不多了,單頁翻書控制項和之前寫的翻書控制項大致差不多,之前的是一次顯示2頁,考慮到螢幕尺寸不一定能剛好達到2頁的正常比例,為了不引起變形,繼續寫了這個單頁翻書的控制項。 不少網友對My Code感興趣,不過因為公司的保密協定,代碼不能公布,在此只能提供技術指導,請見諒。 寫好這個控制項不難,對寫過Android遊戲的人來說應該很容易,主要採用surfaceView的動畫來實現特效,再者,有一句比較關鍵性的代碼:view.draw(canvas);
本文給大家總結了Android px和dip及sp的區別及轉換方法,並附有簡短的代碼示範,希望能夠對大家進行代碼轉換時有重要的作用。 Java代碼: public static int dip2px(Context context, float dipValue){ final float scale = context.getResources().getDisplayMetrics().density; return
(http://www.eoeandroid.com/thread-22069-1-1.html) 開篇之前,我要插個題外話,寫給剛入門的朋友看看。也接觸一段時間的遊戲開發了(主要J2ME),雖然時間不是很長,但2年來總結出這麼一個現象:發現挺多的遊戲都是以一種“狀態機器”的形式來寫的,個人感覺這樣的形式並不是很好,一大堆的case…case…看起來很亂,代碼可維護性不強。switch (state) { case 1: brake;
首先聲明,原始碼轉載自國外Neil
http://sourceforge.net/projects/androidpn/ 不只什麼原因Android到目前還是沒有添加Push Notification功能. 目前有幾個第三方的實現,其中 AndroidPN 實現的比較完善,包含伺服器端和服務端參考實現, 是使用XMPP協議作的. 用戶端會啟動一個Service來接受伺服器推送的訊息. 如下是服務端和用戶端:使用者管理 訊息發送介面使用者收到的通知
http://www.mikespook.com/index.php/archives/762 Android 上有一些很有趣的應用,例如《吹裙子》、《吹氣球》之類的。利用的是即時擷取麥克風輸入音量,然後進行相應的處理。網上也不少人問如何處理這個事情,也有一些解答,不過都沒有實際的代碼。簡單摸索了一下,寫了個小 Demo 試了試,果然可以。給大家共用一下。不解釋代碼了,大家看注釋。 package com.xxiyy.spl; import android.media.AudioFormat;
主講人:範一航,來源:華清遠見3G學院 講師本視頻教程的主要內容如下:專題簡介:本專題通過對ARM處理器、Android手機作業系統的分析,讓聽眾瞭解ARM+Android的應用現狀、技術特點及發展前景。專題要點:1、最新ARM應用處理器的特點及應用2、Android系統的技術特點及應用現狀3、ARM+Android技術架構分析4、ARM+Android的發展前景 詳細視頻請參見:http://v.youku.com/v_show/id_XMjYwNTMwMzgw.html
在Android項目中用到JNI,當用了proguard後,發現native方法找不到很多變數,原來是被produard最佳化掉了。所以,在JNI應用中該慎用progurad啊。 解決辦法: 1、在Android.mk中加入一行: LOCAL_PROGUARD_FLAGS := -include $(LOCAL_PATH)/proguard.flags 2、建立proguard.flag檔案,裡面寫入不需要proguard最佳化的類和方法。例如: -keep class oms.miracle.
本文主要介紹Android的Handler的使用方法。Handler可以發送Messsage和Runnable對象到與其相關聯的線程的訊息佇列。每個Handler對象與建立它的線程相關聯,並且每個Handler對象只能與一個線程相關聯。
原文:http://cyher.net/gnulinux/android/android-driver-jogball 1 簡介JogBall是首款Android手機-HTC Dream上附帶的類似軌跡球Trackball的滑輪,通過Jogball使用者可以輕鬆的實現網頁的翻頁、地圖翻轉等操作,這種在手機上增加軌跡球的方式可以取消傳統的4維導航鍵,Jogball並非HTC公司的首例,早在HTC 3300(Dopod
Android SWAP分區理解知識性的瞭解參考http://wiki.cyanogenmod.com/wiki/Swap_and_Compcache/zh使用system分區來實現swap分區:50mk_swap_img:#!/system/bin/shmount -o remount,rw /system;swapoff /dev/block/loop7;if [ ! -e /system/swap.img ];then dd if=/dev/zero of=/system/swap.
Android cupcake、donut使用OpenSSL版本為0.9.8h,代碼所在目錄: external/openssl Android cupcake、donut使用的密鑰庫類型為BKS,版本為bouncycastle 1.32,依賴Java5,即bcprov-1.5-132.jar。bouncycastle
WebView的緩衝可以分為頁面緩衝和資料緩衝。頁面緩衝是指載入一個網頁時的html、JS、CSS等頁面或者資源資料。這些緩衝資源是由於瀏覽器的行為而產生,開發人員只能通過配置HTTP回應標頭影響瀏覽器的行為才能間接地影響到這些快取資料。他們的索引存放在/data/data/package_name/databases下。他們的檔案存放在/data/data/package_name/cache/xxxwebviewcachexxx下。檔案夾的名字在2.x和4.x上有所不同,但都檔案夾名字中都包