Handler and Thread
来源:互联网 发布:matlab 2013b for mac 编辑:程序博客网 时间:2024/05/19 00:08
package gt.gt;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.pm.ApplicationInfo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class SoftWare extends Activity implements Runnable {
List<Map<String,Object>> list=null;
ListView itemlist=null;
private ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.infos);
setTitle("软件信息");
itemlist=(ListView)findViewById(R.id.itemlist);
pd=ProgressDialog.show(this, "请稍后","正在收集软件信息。。。",true,false);
Thread thread=new Thread(this);
thread.start();
}
@Override
public void run() {
fetch_installed_apps();
handler.sendEmptyMessage(0);
}
private Handler handler=new Handler(){
public void handleMessage(Message msg){
refreshListItems();
pd.dismiss();
}
};
public List fetch_installed_apps(){
List<ApplicationInfo> packages=getPackageManager().getInstalledApplications(0);
list=new ArrayList<Map<String,Object>>(1);
Iterator<ApplicationInfo> l = packages.iterator();
while(l.hasNext()){
Map<String,Object>map =new HashMap<String,Object>();
ApplicationInfo app=(ApplicationInfo)l.next();
String packageName=app.packageName;
String label="";
try{
label=getPackageManager().getApplicationLabel(app).toString();
}
catch(Exception e)
{
Log.i("Exception",e.toString());
}
map=new HashMap<String,Object>();
map.put("name", label);
map.put("desc", packageName);
list.add(map);
}
return list;
}
private void refreshListItems(){
list=fetch_installed_apps();
SimpleAdapter notes=new SimpleAdapter(this,list,R.layout.info_row
,new String[]{"name","desc"},new int[]{R.id.name,R.id.desc});
itemlist.setAdapter(notes);
setTitle("软件信息,已经安装"+list.size()+"款应用");
}
}
- Handler and Thread
- Handler and Thread
- thread loop and handler
- Android Thread and Handler
- android handler, thread and looper
- Android Dev Intro - Thread Looper and Handler
- Handler + Thread
- handler thread
- Handler Thread
- Android 后台任务(二)Thread And Handler
- Handler Thread Looper
- Android Thread 与 Handler
- Handler Thread looper
- AsyncTask VS Thread+Handler
- Android: thread & handler
- android Thread/Handler 实现
- android thread handler timertask
- handler thread 使用 2
- .net学习前奏----.Net应该学什么怎么学(三)?
- 最小割专辑
- 父窗口与弹出窗口之间的传值问题?
- Handler and Thread
- .net学习前奏----.Net应该学什么怎么学(四)?
- Handler and Thread
- 关于几点问题的几点小思考
- GDAL源码剖析(六)之GDAL开发及其调试
- Job的任务执行流程之TaskCleanup
- 心里有点空,写点东西鼓励一下自己
- 信息资源管理 第三章
- 3168 Sort ZOJ7
- 汇编字符串处理指令 二
- C++容器(顺序容器、关联容器)