博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
16读取通话记录
阅读量:5364 次
发布时间:2019-06-15

本文共 2464 字,大约阅读时间需要 8 分钟。

  • 所需权限

  • layout 布局文件

    mainActivity

list填充文件

  • 逻辑代码 mainActivity.java

    package com.qf.day16_contentresolver_call_demo2;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.logging.SimpleFormatter;import android.net.Uri;import android.os.Bundle;import android.provider.CallLog;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.view.Menu;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;/** *  * 通话记录的数据 *  * 1,获取ContentResolver对象 2,ContentResolver对象 通过Uri地址 获取数据 3,展示数据 *  */public class MainActivity extends Activity {
    private ListView lv; private TextView tv; private ContentResolver contentResolver; //content://call_log/calls private Uri callUri = CallLog.Calls.CONTENT_URI; private String [] coumns = new String[]{CallLog.Calls._ID,CallLog.Calls.NUMBER,CallLog.Calls.DATE}; //存数据源的集合 private List
    > list = new ArrayList
    >(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); tv = (TextView) findViewById(R.id.tv); contentResolver = getContentResolver(); //解析器 通过Uri地址获取指定的字段项 Cursor cursor = contentResolver.query(callUri, coumns, null, null, null); while(cursor.moveToNext()){ Map
    map = new HashMap
    (); long id = cursor.getLong(cursor.getColumnIndex(CallLog.Calls._ID)); String number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER)); long date = cursor.getLong(cursor.getColumnIndex(CallLog.Calls.DATE)); map.put("id", id); map.put("number", number); map.put("date", format.format(date)); list.add(map); } SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, list, R.layout.item, new String[]{ "number","date"}, new int[]{R.id.tv_number,R.id.tv_date}); lv.setAdapter(adapter); //如果没有数据 展示VIew lv.setEmptyView(tv); }}

转载于:https://www.cnblogs.com/muyuge/p/6152243.html

你可能感兴趣的文章
记录Ubuntu 16.04 安装Docker CE
查看>>
安东尼奥·维瓦尔第——巴洛克音乐的奇葩
查看>>
pandas的增删改查
查看>>
HDU 5933/思维
查看>>
字节对齐
查看>>
Design Tic-Tac Toe
查看>>
SQL中的去重操作
查看>>
uva 12097 - Pie(二分,4级)
查看>>
mongodb索引
查看>>
nginx源码学习资源(不断更新)
查看>>
【bzoj2882】工艺 后缀自动机+STL-map
查看>>
[redis] redis
查看>>
Linux的加密认证功能以及openssl详解
查看>>
[Tools] 使用XP远程登录Win8系统
查看>>
【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识
查看>>
HDU- 2265 Encoding The Diary
查看>>
socket基本概念
查看>>
[第三方]SCNetworkReachability 获取网络状态控件使用方法
查看>>
在Windows上使用putty连接一台Linux主机
查看>>
Socket常见错误
查看>>