Android简单获得通讯录
ContactActivity:
1 package com.example.practice5_service;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7
8 import com.example.adapter.simpleAdapter;
9
10 import android.app.Activity;
11 import android.content.ContentResolver;
12 import android.database.Cursor;
13 import android.net.Uri;
14 import android.os.Bundle;
15 import android.provider.CallLog;
16 import android.support.v4.widget.SimpleCursorAdapter;
17 import android.view.Menu;
18 import android.view.MenuItem;
19 import android.widget.ListAdapter;
20 import android.widget.ListView;
21
22 public class ContactActivity extends Activity {
23 private ListView phone_listview;
24 private List<Map<String,String>> addressList;
25 private simpleAdapter adapter;
26
27 private ListAdapter listAdaper;
28 private ContentResolver resolver;
29 @Override
30 protected void onCreate(Bundle savedInstanceState) {
31 super.onCreate(savedInstanceState);
32 setContentView(R.layout.activity_contact);
33 initView();
34 loadData();
35 }
36
37 public void initView() {
38 phone_listview=(ListView) findViewById(R.id.phone_listview);
39 addressList=new ArrayList<Map<String,String>>();
40 adapter=new simpleAdapter(this,addressList,R.layout.phone_message,
41 new String[]{"id","name","phoneNum"},
42 new int[]{R.id.phone_id,R.id.name_phone,R.id.num_phone});
43
44 phone_listview.setAdapter(adapter);
45 }
46 public void loadData(){
47 //内容接受者取得内容提供者中的数据
48 resolver=super.getContentResolver();//获得ContentResolver,有增删改查的方法
49 Cursor result=resolver.query(CallLog.Calls.CONTENT_URI, null, null, null, null);//获得CallLog.CONTENT_URI对应的信息
50 while(result.moveToNext()){
51 Map<String,String> row=new HashMap<String, String>();
52 int id=result.getInt(result.getColumnIndex(CallLog.Calls._ID));
53 String name=result.getString(result.getColumnIndex(CallLog.Calls.CACHED_NAME));
54 String phoneNum=result.getString(result.getColumnIndex(CallLog.Calls.NUMBER));
55 row.put("id", String.valueOf(id));
56 row.put("name", name);
57 row.put("phoneNum", phoneNum);
58 addressList.add(row);
59 }
60 result.close();
61 adapter.notifyDataSetChanged();
62 }
63 }
simpleAdapter:
1 package com.example.adapter;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import android.content.Context;
7 import android.view.View;
8 import android.view.ViewGroup;
9 import android.widget.BaseAdapter;
10 import android.widget.SimpleAdapter;
11
12 public class simpleAdapter extends SimpleAdapter {
13
14 public simpleAdapter(Context context, List<? extends Map<String, ?>> data,
15 int resource, String[] from, int[] to) {
16 super(context, data, resource, from, to);
17 // TODO Auto-generated constructor stub
18 }
19 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。