android 訊息機制淺析(二)

前面的文章中對android訊息機製作了一個簡單介紹,通常的用法為:1、在帶有訊息迴圈的線程中建立handler;2、在其他線程中建立訊息,並綁定handler,通過handler發送訊息;3、在handler的handleMessage方法中處理訊息。在這裡有幾個疑問:1、既然要在帶有訊息迴圈的線程中建立handler,那麼為什麼通常我們建立handler時,不需要建立訊息迴圈呢?這是因為通常我們在主線程中建立handler,而主線程預設是建立訊息迴圈的,這個封裝在android架構中。2、哪

android手機簡訊總結

public String getSmsInPhone(){final String SMS_URI_ALL = "content://sms/"; final String SMS_URI_INBOX = "content://sms/inbox";final String SMS_URI_SEND = "content://sms/sent";final String SMS_URI_DRAFT = "content://sms/draft";StringBuilder

android 訊息機制淺析

android訊息機制主要涉及到以下內容:Message, Looper,Handler。其原理為:訊息線程(預設是主線程,也就是UI線程),維護一個訊息迴圈和一個訊息佇列,背景工作執行緒向訊息佇列中添加訊息,訊息迴圈從隊列中取出訊息並處理。其中Looper類負責訊息迴圈和訊息佇列,Message類是訊息的載體,Handler類負責訊息佇列中添加訊息和訊息的處理。Looper的prepare介面負責為調用線程建立一個Looper對象,下面是android源碼,漢字部分為本文添加的注釋:   

android gravity padding margin 布局屬性使用說明

android:gravity              用來設定控制項自身內容在控制項中的布局,比如一個Button控制項設定                                     android:gravity="center"則表示該Button中的文字在Button上置中顯示。android:layout_gravity  用來設定控制項相對於其父控制項的布局,比如一個Button控制項設定                                        

android 擷取通訊錄連絡人資訊

  android 中擷取通訊錄中連絡人資訊,代碼如下:   /** * 擷取連絡人資訊,包括:名稱、號碼、頭像 * @return */ private ArrayList<PhoneContactor> getPhoneContacts(){ Log.i(TAG, "getPhoneContacts"); ContentResolver

Android的記憶體機制和溢出說明

Android的虛擬機器是基於寄存器的Dalvik,它的最大堆大小一般是16M。但是Android採用的是Java語言編寫,所在很大程度上,Android的記憶體機制等同於Java的記憶體機制(Java記憶體機制在網上文章很多,大家有興趣瞭解的可以去Google或者百度尋找一些資料)。因此在一些程式員開發的時候,記憶體的限制問題給很多初學開發人員帶來記憶體溢出等嚴重問題。在我們不使用一些記憶體的時候,我們要盡量在Android或者其他平台上避免在運行其他程式時,儲存必要的狀態,使得一些死進程所帶

android中跳轉到系統管理應用程式介面的方法

在編寫android應用程式時,如果需要調用系統原生的管理應用程式介面呢?本人在一個項目中遇到過,本人沒有發現這方面現成的intent,不過通過看原始碼實現了。android原始碼application_settings.xml <PreferenceScreen android:title="@string/manageapplications_settings_title"

android表徵圖設計規範

2.0以後有三種尺寸,分別為36*36/48*48/72*72 你會看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目錄用來儲存不同尺寸的表徵圖,在AndroidManifest.xml中只需要寫@drawable/icon就可以,它會根據螢幕解析度去找不同目錄下的表徵圖 hdpi裡面主要放高解析度的圖片,如WVGA (480x800),FWVGA (480x854) mdpi裡面主要放中等解析度的圖片,如HVGA

Android使用Application代替全域變數

public class MyApp extends Application { private Integer[] state; public Integer[] getState() { return state; } public void setState(Integer[] state) { this.state = state; } @Override public void onCreate() { // TODO Auto-generated method stub super.

[基礎]Android SDK版本與API Level對應列表[收集]

Platform VersionAPI Level Symbol Android 3.011 Honeycomb (蜂巢)Android 2.3.310 Gingerbread (薑餅) Android 2.39 Gingerbread (薑餅) Android 2.28 Froyo ( 凍優酪乳) Android 2.17 Eclair (法式奶油夾心甜點) / Flan (水果餡餅) Android 2.0.16 Eclair (法式奶油夾心甜點) Android 2.05 Eclair (

android dip dp px pt sp 的區別及聯絡

 dip: device independent pixels(裝置獨立像素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這個,不依賴像素。       px: pixels(像素). 不同裝置顯示效果相同,一般我們HVGA代表320x480像素,這個用的比較多。       pt: point,是一個標準的長度單位,1pt=1/72英寸,用於印刷業,非常簡單易用;       sp: scaled

Android的簡訊接收處理—-Broadcast和Receiver的使用

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mysrc" android:versionCode="1" android:versionName="1.0"> <application

Android簡單判斷是否連網

在做軟體開發的時候軟體可能需要判斷使用者的手機是否能連網,下面就是簡單的判斷方式:ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cwjManager.getActiveNetworkInfo(); if (info != null && info.isAvailable()){ //do }

android下的web service用戶端開發

 最近協助老師開發一個程式,需要調用webservice服務,找到了以下資料,與大家分享。While working on a new mobile applicationfor one of my clients, I had to make calls out to web services to retrieve(取回) data.  Using the Android framework tomake these calls was very cumbersome(難處理的).     

Android 禁止系統休眠,使螢幕不變暗

Android 禁止系統休眠,使螢幕不變暗,保持遊戲中螢幕高亮實現這一功能的方法有兩種,一種是在Manifest.xml檔案裡面聲明,一種是在代碼裡面修改LayoutParams的標誌位。具體如下:1、在Manifest.xml檔案裡面用user-permission聲明。代碼如下:   <uses-permission android:name="android.permission.WAKE_LOCK"> 

Android中擷取網狀圖片的方法(如果手機緩衝裡面有就從緩衝擷取)

最近工作比較閑,除了用公司的imac機學學iphone外,有必要對以前的項目裡面的痛點進行一下總結了,對於Android開發中的痛點,一是網路擷取內容的處理,二是UI設計方面。對於我來說,特別麻煩就是UI設計方面的東西,公司的開發以iphone為主,畢竟香港人的iphone普及比較高(銷售價格好像是全球最低的),為了模仿iphone的Tabbar,用TabActivity+ActivityGroup的處理方式不知道出了多少問題了,還好都一一解決了。   

在 Ubuntu 下配置 Android 開發環境

1、配置android的開發環境,第一肯定是配置jdk,ubuntu下安裝jdk的方法有很多:(1)在 Ubuntu 下,只需要執行:sudo apt-get install sun-java6-jdk  注意:這種方法雖然非常簡單,不需要配置環境變數,有時候直接打這個命令並不可行,遇到錯誤的同學,可以通過PPA在Ubuntu11.04中安裝java,具體過程如下:開啟終端,輸入命令:sudo add-apt-repository ppa:ferramroberto/javasudo

android實現傳送簡訊demo

main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><

android中Browser地址欄隱藏

public class HelloWebView extends Activity {    WebView mWebView;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(

mac下反編譯Android的apk步驟

1.下載開源工具apktoolhttp://code.google.com/p/android-apktool/注意其中的apktool.jar也在該網站例如apktool1.4.1.tar.bz2 解壓奪成zip改名為.jar即可然後使用命令列:./apktool d ~/testdeJava/Contacts.apk I: Baksmaling...I: Loading resource table...I: Loaded.I: Loading resource table from

總頁數: 2771 1 .... 579 580 581 582 583 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.