Time of Update: 2018-12-08
在一個項目中我們可能會需要用到相同的布局設計,如果都寫在一個xml檔案中,代碼顯得很冗餘,並且可讀性也很差,所以我們可以把相同布局的代碼單獨寫成一個模組,然後用到的時候可以通過<include /> 標籤來重用layout代碼。app_title.xml:複製代碼 代碼如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:id="@+id/titleLayout"
Time of Update: 2018-12-08
複製代碼 代碼如下:package com.yy; import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import
Time of Update: 2018-12-08
對init.rc的解析是在parse_config(): [system/core/init/init_parser.c]中進行的。解析發生在init全過程中的哪個階段,參看《Android init進程啟動過程分析》。一、解析過程1. 掃描init.rc中的token 找到其中的 檔案結束EOF/文本TEXT/新行NEWLINE,其中的空格‘ '、‘\t'、‘\r'會被忽略,#開頭的行也被忽略掉; 而對於TEXT,空格‘
Time of Update: 2018-12-08
有些SIM卡在出廠時並沒有預置VoiceMail number,但電訊廠商又要求能夠根據PLMN去自適應的從手機中讀取到預設的VM number。在此介紹以xml的方式預置VM number的方法,以及如何允許使用者去修改並能夠記住使用者的選擇。VM number使用的優先順序為: SIM卡讀取>使用者佈建>xml預置。在使用者修改voice mail number時,優先儲存到SIM卡。若SIM卡儲存失敗,則以IMSI為單位儲存到手機中。 1、支援以XML的方式預置VM
Time of Update: 2018-12-08
android退出應用程式會調用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),這隻是針對第一個Activity(也就是入口的Activity)時生效。如果有A,B,C三個Activity,而想在B或C中Activity退出,調用上面的方法,往往會銷毀當前的Activity返回上一個Activity。當然也可以逐個返回上一個Activity,直到跳轉到入口的Activity,最後退出應用程式。但
Time of Update: 2018-12-08
很多人對 Android提供的ImageButton有個疑問,當顯示Drawable圖片時就不會再顯示文字了,其實解決的方法有三種: 第一種:就是圖片中就寫入文字,但是這樣解決會增加程式體積,同時寫入程式碼方式會影響多國語言的發布。 第二種:解決方案很簡單,通過分析可以看到ImageButton的 layout,我們可以直接直接繼承,添加一個TextView,對齊為右側即可實現ImageButton支援文字右側顯示。 第三種:更簡潔效率的方法:使用Button ,然後設定Button 的
Time of Update: 2018-12-08
Android中的Adapter在自訂顯示列表時非常有用,比如SimpleAdapter,它的建構函式是: public SimpleAdapter (Context context, List> data, int resource, String[] from, int[]
Time of Update: 2018-12-08
在nvram_cust_pack.c中COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT 複製代碼 代碼如下:kal_uint8 const COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT[] = { #if defined (__CS_SERVICE__) && defined (__SMS_OVER_PS_SUPPORT__) 0x03, /* bearer service : GSM prefer */
Time of Update: 2018-12-08
很多網友可能發現Android中除了Service還有一個IntentService,他們之間到底有哪些區別呢? 在繼承關係上而言IntentService是Service的子類,內部實現的代碼中涉及到一些Android入門開發人員不瞭解的Looper,Android123在早期的文章中已經說明他們的用法,這裡不再贅述,有關原理大家可以看源碼實現如下:複製代碼 代碼如下:public abstract class IntentService extends Service {
Time of Update: 2018-12-08
從昨晚到現在終於調試通了一個startActivityForResult的例子,網上要麼有些說的太複雜了,要麼說的含糊,搞的我走了很多彎路,所以寫篇心得。在一個主介面(主Activity)上能串連往許多不同子功能模組(子Activity上去),當子模組的事情做完之後就回到主介面,還同時返回一些子模組完成的資料交給主Activity處理。
Time of Update: 2018-12-08
很多Android手機上都配有LED燈,比如HTC的手機在充電、新來簡訊等時候都會有響應的指示,其實很簡單的這都是NotificationManager的一些參數而已,下面Android123給大家說下如何通過代碼控制LED燈的閃爍,因為有些機型沒有LED燈或顏色種類較少,發布時需要真機觀察。 複製代碼 代碼如下: final int ID_LED=19871103; NotificationManager
Time of Update: 2018-12-08
Android提供了Invalidate方法實現介面重新整理,但是Invalidate不能直接線上程中調用,因為他是違背了單執行緒模式:Android
Time of Update: 2018-12-08
Settings是WebView提供給上層App的一個配置Webview的介面,每個WebView都有一個WebSettings,要控制WebView的行為,只能通過WebView.getSettings()擷取WebSettings對象的引用,然後再改變它的屬性。Browser有一個BrowserSettings用來管理所有的配置資訊,它是一個單鍵(Singleton)。BrowserSettings是直接管理WebSettings的,而UI部分則是由BrowserPreferencePage
Time of Update: 2018-12-08
由於機器記憶體壞了,換了個記憶體,重新安裝了一個64位的Fedora16,把原來的32位的Fedora15格掉了。於是在重新安裝Android SDK時遇到了非常好玩的事情,先是SDK的安裝檔案和ADT無法下載,我家用的移動的寬頻,就是無法下載,跟朋友聯絡了發現移動和聯通的寬頻無法下載,中國電信是可以正常下載的,真是詭異啊!沒有辦法,到朋友那下了一個。回來安裝時就一直停在Fetching狀態,用了《解決Android
Time of Update: 2018-12-08
Understanding LooperLooper是用於給一個線程添加一個訊息佇列(MessageQueue),並且迴圈等待,當有訊息時會喚起線程來處理訊息的一個工具,直到線程結束為止。通常情況下不會用到Looper,因為對於Activity,Service等系統組件,Frameworks已經為我們初始化好了線程(俗稱的UI線程或主線程),在其內含有一個Looper,和由Looper建立的訊息佇列,所以主線程會一直運行,處理使用者事件,直到某些事件(BACK)退出。如果,我們需要建立一個線程,
Time of Update: 2018-12-08
Sam在Android開發中,有兩種處理資源檔的方式。其一,是將所有資源檔以及JNI程式放置於一個單獨的資源套件。使用到他們時,使用檔案方式讀取。或者直接使用C++層代碼讀取。
Time of Update: 2018-12-08
Android擷取系統cpu資訊,記憶體,版本,電量等資訊 1、CPU頻率,CPU資訊:/proc/cpuinfo和/proc/stat 通過讀取檔案/proc/cpuinfo系統CPU的類型等多種資訊。讀取/proc/stat 所有CPU活動的資訊來計算CPU使用率下面我們就來講講如何通過代碼來擷取CPU頻率:複製代碼 代碼如下:package com.orange.cpu;import java.io.BufferedReader;import
Time of Update: 2018-12-08
通常,在這個頁面中會用到很多控制項,控制項會用到很多的資源。Android系統本身有很多的資源,包括各種各樣的字串、圖片、動畫、樣式和布局等等,這些都可以在應用程式中直接使用。這樣做的好處很多,既可以減少記憶體的使用,又可以減少部分工作量,也可以縮減程式安裝包的大小。下面從幾個方面來介紹如何利用系統資源。1)利用系統定義的id比如我們有一個定義ListView的xml檔案,一般的,我們會寫類似下面的程式碼片段。複製代碼 代碼如下:<ListView android:id="@+id/
Time of Update: 2018-12-08
多點觸摸技術在實際開發過程中,用的最多的就是放大縮小功能。比如有一些圖片瀏覽器,就可以用多個手指在螢幕上操作,對圖片進行放大或者縮小。再比如一些瀏覽器,也可以通過多點觸摸放大或者縮小字型。其實放大縮小也只是多點觸摸的實際應用範例之一,有了多點觸摸技術,在一定程度上就可以創新出更多的操作方式來,實現更酷的人機互動。理論上,Android系統本身可以處理多達256個手指的觸摸,這主要取決於手機硬體的支援。當然,支援多點觸摸的手機,也不會支援這麼多點,一般是支援2個點或者4個點。對於開發人員來說,編寫
Time of Update: 2018-12-08
1.圖片處理1.圓角圖片複製代碼 代碼如下:/** * 轉換成圓角 * * @param bmp * @param roundPx * @return */ public static Bitmap convertToRoundedCorner(Bitmap bmp, float roundPx) { Bitmap newBmp = Bitmap.createBitmap(bmp.getWidth(),