Android 的SMS讀取簡訊,可以擷取發信人/收信人的手機號碼(address),Contacts的連絡人,可以過濾手機號碼(address),因此SMS可以通過手機號碼(address)關聯到Contacts連絡人SMS - Contacts 關聯代碼// 通過address手機號關聯Contacts連絡人的顯示名字private String getPeopleNameFromPerson(String address){if(address == null || address ==
Context.MODE_PRIVATE:為預設操作模式,代表該檔案是私人資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容,如果想把新寫入的內容追加到原檔案中。可以使用Context.MODE_APPENDContext.MODE_APPEND:模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有許可權讀寫該檔案。MODE_WORLD
一、 Service簡介Service是android
對於隱式意圖,Android是怎樣尋找到這個最合適的組件呢?記的前面我們在定義活動時,指定了一個intent-filter,Intent Filter(意圖過濾器)其實就是用來匹配隱式Intent的,當一個意圖對象被一個意圖過濾器進行匹配測試時,只有三個方面會被參考到:動作、資料(URI以及資料類型)和類別。動作測試(Action test) 一個意圖對象只能指定一個動作名稱,而一個過濾器可能列舉多個動作名稱。如果意圖對象或過濾器沒有指定任何動作,結果將如下:•
在Android上常用的定時器有兩種,一種是Java.util.Timer,一種就是系統的AlarmService了。 實驗1:使用Java.util.Timer。 在onStart()創建立Timer,每5秒更新一次計數器,並啟動。 Java代碼 mTimer = new Timer();mTimer.schedule(new TimerTask() {@Overridepublic void run() {++mCount;mHandler.sendEmptyMessage(0);}}, 5
在Android中,Dialog是一個非常重要的UI, 它可以方便的給使用者提示,用最簡潔的方式向使用者展示資訊, 以下的圖片是Dialog的一個整體架構,通過它,可以總體對Dialog有一個很清晰的認識. 從這張圖中可以看到,Dialog為父類, 其下有最重要的, 我們最常用的AlertDilog, 而AlertDialog的子類,則是由DatPicker, ProgressDialog,TimePick來組成. 這幾個子類都是我們在程式開發中最常用的,因此要重點理解, 我們可以試著想像一下,
以前做項目碰到過一個需求,就是有5個button,這5個button要圍繞一個點不停的轉動,而且點擊不同的button會進行相應的邏輯,比如activity的跳轉等.就類似於gallery,但是又有所不同有人會首先想到用位移動畫,但是android的位移動畫只是動畫,也就是說你從A點移動B點,看上去是移動過去了,但是點擊的事件觸發卻還是在A點,實際上沒有真正的位移過去,只是欺騙眼睛罷了,但是在android2.2以後api提供了這樣的一個方法setPosition(),這個方法的好處是你可以監聽
沒事逛論壇,無意間看到了一篇非常不錯的文章,轉載如下: 開篇語:最近程式在做一個小效果,要用到touch,結果整得雲裡面霧裡的,乾脆就好好把android touch機制好好看了一下,呵呵。。 android系統中的每個ViewGroup的子類都具有下面三個和TouchEvent處理密切相關的方法: 1)public boolean dispatchTouchEvent(MotionEvent ev) 這個方法用來分發TouchEvent 2)public boolean
1 服務是無介面的可靠的一個組件,可靠是當一個服務啟動的時候一般是不會關閉的,即使該服務依耐的應用進程被Kill了,它也會一直運行,除非記憶體資源緊張、意外關機或是通過代碼來關閉;服務對外部發過來的intent會重複執行,以保證服務品質。 2
為什麼Android虛擬機器比iOS和WP7的虛擬機器要慢很多呢?原因如下:1. Android 模擬器類比的是 ARM 的體繫結構(arm-eabi),而 iOS 和 WP7 的模擬器的目標體繫結構都是 x86 的,另外 iOS 的模擬器中啟動並執行 App 也是編譯為 x86 的。這樣一來 Android 模擬器需要做一些額外的二進位翻譯工作。 2. Android 模擬器用的是 QEMU 的全系統模式(full system),也就說它類比時需要啟動整個 GUEST
錯誤產生:Java代碼{dp.sh.Toolbar.CopyToClipboard(this);return false;}" href="http://blog.csdn.net/zeng622peng/archive/2010/12/25/6097346.aspx#">private Context mcontext;
最新的android4.0原始碼公布以後,相信很多人和我一樣都躍躍欲試,其實4.0的代碼下載和編譯和以前的版本差不多,但是有一些小的差別,寫下來供不明真相的新手來參考首先,開發環境,google建議在ubuntu10.0.4下,並且最好是64位,既然是為了工作和學習,就盡量按照官方要求的來吧。Python 2.5 -- 2.7 ubuntu10.0.4已經預設安裝了,所以不需要安裝,其他環境需要安裝JDK 6 編譯4.0需要jdk 6 ,sdk的編譯需要jdk 5Git 1.7 or
在/res/drawable下面將一個.ico圖片直接重新命名載入,報錯! “ERROR: Failure processing PNG image D:\workspace\2DCodePolling\res\drawable\launcher_icon.png” 錯誤原因:圖片的格式有問題。比如說,你將一張jpg的圖片重新命名成.png的格式,在放 到資源檔中去,它就會報錯。 解決方案:
鎖定 Activity 運行時的螢幕方向Xml代碼<activity android:name=”.EX01″android:label=”@string/app_name”android:screenOrientation=”portrait” // 豎屏 , 值為 landscape 時為橫屏…………</activity>全屏的Activity 要使一個 Activity 全屏運行,可以在其 onCreate()方法中添加如下代碼實現:Java代碼//
1.設定編譯選項為make -j5 TARGET_ARCH=x86 TARGET_PRODUCT=generic TARGET_SIMULATOR=false TARGET_BUILD_TYPE=release TARGET_OS=linux LOCAL_PRELINK_MODULE=false2.build/core/envsetup.mk 中 91行 設定為x86(該步驟可以省略)3.修改build/tools/dexpreopt目錄中Android.mk為Android-arm.mk,
http://code.google.com/p/apps-for-android/source/browse/trunk/Samples/WebViewDemo/ 我對其進行了修改,並加了簡單的注釋,這個例子的不僅是對js的操作,它還對android瀏覽器做了簡單的介紹, 這些我會在注釋中一一講解。 Javascript彈出框有如下三種: Java代碼 alert(); window.confirm("Are you srue?"); window.prompt("Please inpu
RelativeLayout用到的一些重要的屬性: 第一類:屬性值為true或false android:layout_centerHrizontal 水平置中 android:layout_centerVertical 垂直置中 android:layout_centerInparent 相對於父元素完全置中 android:layout_alignParentBottom 貼緊父元素的下邊緣
轉載!Intent是一種運行時綁定(run-time
Activity全屏設定方式1:AndroidManifest.xml<activity android:name="myAcitivty" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />方式2:代碼實現requestWindowFeature(Window.FEATURE_NO_TITLE); // 隱藏標題列getWindow().setFlags(WindowManager.LayoutParams.
Dalvik 虛擬機器支援垃圾收集,但是這不意味著你可以不用關心記憶體管理。你應該格外注意行動裝置的記憶體使用量,手機和平板的記憶體空間是受到限制的。在這篇文章裡面,我們來看看Android SDK裡面的一些記憶體剖析工具(profiling tools)是如何協助我們修整應用程式的記憶體使用量。一、