編輯:關於Android編程
一、Handler
Handler在android裡負責發送和處理消息。它的主要用途有:
1)按計劃發送消息或執行某個Runnanble(使用POST方法);HandlerThread繼承於Thread,所以它本質就是個Thread。與普通Thread的差別就在於,它有個Looper成員變量。這個Looper其實就是對消息隊列以及隊列處理邏輯的封裝,簡單說就是 消息隊列+消息循環。
當我們需要一個工作者線程,而不是把它當作一次性消耗品,用過即廢棄的話,就可以使用它。
package com.android.settings;
}
package com.android.settings;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
/**
* Created by dev on 11/25/13.
*/
public class MyHandlerThread {
private HandlerThread mHandlerThread = null;
private MyHandler mHandler = null;
private Handler mMainHandler = null;
public MyHandlerThread(String threadName) {
super();
mHandlerThread = new HandlerThread(threadName);
mHandlerThread.start();
mHandler = new MyHandler(mHandlerThread.getLooper());
}
public void setmMainHandler(Handler handler) {
this.mMainHandler = handler;
}
public void sendMessage(Message msg) {
mHandler.sendMessage(msg);
}
class MyHandler extends Handler {
MyHandler() {
}
MyHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Message toMainMsg = mMainHandler.obtainMessage();
Log.d("tianxuhong","toMainMsg="+toMainMsg);
toMainMsg.what = 2;
Bundle bundle = new Bundle();
String threadID = String.valueOf(Thread.currentThread().getId());
String threadName = Thread.currentThread().getName();
bundle.putString("id", threadID);
bundle.putString("name", threadName);
toMainMsg.setData(bundle);
mMainHandler.sendMessage(toMainMsg);
}
}
}
計算每個線程的下載起始終止位置公式如下文件讀寫方式4中類型工程源碼目錄package cn.itcast.download;import java.io.File;imp
SQLite數據庫是android系統內嵌的數據庫,小巧強大,能夠滿足大多數SQL語句的處理工作,而SQLite數據庫僅僅是個文件而已。雖然SQLite的有點很多,但並不
在Android 5.0之前,雖然也有手機是雙卡手機,但是雙卡方案都是ODM廠商自己做的,或者是有芯片廠商提供的源碼完成。因此,如果要在4.4甚至更早之前的手機上獲取雙卡
在我們的手持設備中,一般都會自帶設備公司自己開發的文件管理系統、拍照系統之類的東東,今天我給大伙說說入門級開發的文件夾管理器,代碼贼少 總共就6個類吧,沒有