Android 显示安装程序列表及SimpleAdapter说明
来源:互联网 发布:分享淘宝宝贝 编辑:程序博客网 时间:2024/04/29 17:47
一、SimpleAdapter 简要说明
public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
官方说明了其各个参数含义,我这里根据自己的理解解释下:
第一个context,很明显大家根据英文可以知道是上下文的意思,它官方的意思是:SimpleAdapter所要运行关联到的视图,这个是什么呢?就是你这个SimpleAdapter所在的Activity(一般而言),所以这个参数一般是this
第二个是一个泛型只要是一个List就行,这一般会想到是ArrayList,而他内部存储的则是Map或者继承自Map的对象,比如HashMap,这些语法都是Java的基本语法,不再详述了!这里呢是作为数据源,而且每一个ArraList中的一行就代表着呈现出来的一行,Map的键就是这一行的列名,值也是有列名的。
第三个资源文件,就是说要加载这个两列所需要的视图资源文件,你可以左边一个TextView右边一个TextView,目的在于呈现左右两列的值!
第四个参数是一个数组,主要是将Map对象中的名称映射到列名,一一对应
第五个是将第四个参数的值一一对象的显示(一一对应)在接下来的int形的id数组中,这个id数组就是LayOut的xml文件中命名id形成的唯一的int型标识符
一、SimpleAdapter实例,Android 显示安装程序列表
XML文件 infos.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/itemlist"></ListView></LinearLayout>
XML文件 info_row.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="TextView" android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <TextView android:text="TextView" android:id="@+id/desc" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView></LinearLayout>
java文件
package cf.Test;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;@Overridepublic void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.infos);setTitle("软件信息");itemlist = (ListView) findViewById(R.id.itemlist);pd = ProgressDialog.show(this, "请稍候..", "正在收集你已经安装的软件信息...", true,false);Thread thread = new Thread(this);thread.start();} 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()+"款应用.");}public List fetch_installed_apps(){List<ApplicationInfo> packages = getPackageManager().getInstalledApplications(0);list = new ArrayList<Map<String, Object>>(packages.size());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;}@Overridepublic void run() {fetch_installed_apps();handler.sendEmptyMessage(0);}private Handler handler = new Handler() {public void handleMessage(Message msg) {refreshListItems();pd.dismiss();}}; }
- Android 显示安装程序列表及SimpleAdapter说明
- android列表显示的SimpleAdapter适配器
- SimpleAdapter显示程序图标
- Android中使用ListView显示列表之SimpleAdapter的使用
- Android SimpleAdapter显示问题
- android列表框配合SimpleAdapter实现列表
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android SimpleAdapter显示ListView、GridView
- Android学习之listView显示下拉列表(2)(SimpleAdapter适配器)
- Android之SimpleAdapter简单实例和SimpleAdapter参数说明
- Android之SimpleAdapter简单实例和SimpleAdapter参数说明
- Android之SimpleAdapter简单实例和SimpleAdapter参数说明
- Android SimpleAdapter简单实例和SimpleAdapter参数说明
- Android获取安装程序列表
- Android SimpleAdapter 列表(ListView)、表格(GridView)
- 《Java 本地接口规范》- 设计概述
- 屏幕抓词的技术实现
- 做开发很久了 Remoting 一直没有碰过,正好最近的项目上面用,就拿出来给大家看看
- 去尼玛风险
- session的详细解释
- Android 显示安装程序列表及SimpleAdapter说明
- 再严重的感冒,马上就好!!
- 64位Windows操作系统“ ORA-12154: TNS: 无法解析指定的连接标识” 的解决方法
- 创始人和VC的推荐:企业家应该读读这21本书
- 对比C++和Java
- 3.12 lazy class(冗赘类)
- 在struts.xml中加入DelegatingRequestProcessor
- 《Java 本地接口规范》-JNI 的类型和数据结构
- 线性表练习一