編輯:Android開發實例
ps:今天的學習筆記,總結的很抽象,難以講清楚,放上代碼,便於復習...
=============================================================================
1、其實上面的方法,直接使用handler.post(updateThread),然後線程updateThread直接調用run()方法,並沒有調用start()方法, 所以並沒有產生新的線程,都是在主線程裡面運行的
2、要產生新的線程,可以用如下方法: //生成一個HandlerThread對象,實現了使用Looper來處理消息隊列的功能,這個類由Android應用程序框架提供 HandlerThread handlerThread = new HandlerThread("handler_thread"); //必須先調用該類的start(); handlerThread.start(); 這樣就產生了新的線程,然後可以繼承Handler類,生成Handler對象,來控制線程 3、Bundle是鍵值對,鍵為string類型,值可以為多種類型,用於Message的setData()中存儲數據的,加入數據如下 Bundle b = new Bundle(); b.putInt("age", 20);b.putString("name", "Jhon");
===============================代碼=========================================
JAVA CODE :No Title Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
package mars.handler;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
public class HandlerTest2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//打印了當前線程的ID
System.out.println("Activity-->" + Thread.currentThread().getId());
//生成一個HandlerThread對象,實現了使用Looper來處理消息隊列的功能,這個類由Android應用程序框架提供
HandlerThread handlerThread = new HandlerThread("handler_thread");
//在使用HandlerThread的getLooper()方法之前,必須先調用該類的start();
handlerThread.start();
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
Message msg = myHandler.obtainMessage();
//將msg發送到目標對象,所謂的目標對象,就是生成該msg對象的handler對象
Bundle b = new Bundle();
b.putInt("age", 20);
b.putString("name", "Jhon");
msg.setData(b);
msg.sendToTarget();
}
//繼承Handler類,
class MyHandler extends Handler{
public MyHandler(){
}
public MyHandler(Looper looper){
super(looper);
}
@Override
public void handleMessage(Message msg) {
Bundle b = msg.getData();
int age = b.getInt("age");
String name = b.getString("name");
System.out.println("age is " + age + ", name is" + name);
}
}
Android登錄實例
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android登錄實例
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android編程中圖片特效處理方法小結
本文實例總結了Android編程中圖片特效處理方法。分享給大家供大家參考,具體如下: 這裡介紹的Android圖片處理方法包括: 轉換 - drawa
Android中用ViewPager實現多頁面滑動切換及動畫效果的實例
一、首先,我們來看一下效果圖,這是新浪微博的Tab滑動效果。&nbs