zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    C#学生管理系统/学习
    ESC socket通信不通问题
    JavaWeb/ No 'Access-Control-Allow-Origin' header is present on the requested resource
    JavaWeb/ forward跳转到jsp页面后出现中文乱码问题
    JavaWeb/ MVC模式的初次实践
    docker搭建常用应用以及遇到的坑
    突验 8 进程通信
    实验七 信号
    实验6进程基础
    实验5 shell脚本编程
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4075023.html
Copyright © 2011-2022 走看看