创建联系人列表并和联系人打电话应用程序

简介:


  1. }
复制代码

解析
1.在main.xml中添加两个TextView
用于显示"Name:"的静态标签

  1. <TextView
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:text="Name: "
  5. />
复制代码

用于动态添加并显示联系人的姓名内容的TextView

  1. <TextView
  2. android:id="@+id/row_entry"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. />
复制代码

2.修改LinearLayout的布局方向

  1. androidrientation="horizontal" //说明横向排布
复制代码

3.AndroidManifest.xml中说明使用权限

  1. <uses-permission
  2. android:name="android.permission.READ_CONTACTS"></uses-permission>
  3. //说明可以访问读取联系人信息
  4.  
  5. <uses-permission
  6. android:name="android.permission.CALL_PHONE"></uses-permission>
  7. //说明可以使用打电话功能
复制代码

4.Java代码中的读取联系人信息处理

  1. try {
  2. Cursor c =
  3. getContentResolver().query(People.CONTENT_URI, null,null, null, null);
  4. //Cursor,该接口提供从数据库提取信息返回结果中随机读写访问
  5. //ContentResolver 提供应用程序访问Content模型
  6. //ContentResolver.query()抽取给定的URI,返回一个在结果之上的Cursor
  7. startManagingCursor(c);
  8. //该方法允许Activity基于Activity的生命周期来为你处理管理给定的Cursor的生命周期
  9. name = new String[] { People.NAME };
  10. //新建用户名数组 People类用于列出联系人 People.NAME得到联系人姓名
  11.  
  12. to = new int[] { R.id.row_entry };
  13. //创建一个TextView引用数组 用来放置获取的 People.NAME
  14. sadapter = new SimpleCursorAdapter(this,R.layout.main, c, name, to);
  15. this.setListAdapter(sadapter);
  16. //创建一个简单的适配器从一个cursor指针到TextView或是ImageView的map专栏适配器。
  17. //构造方法(Context,layout,Cursor,from,to),第一参数是设备上下文,第二个参数是布局文件,第三个参数是指向联系人URI的Cursor指针,form代表来源的字符串(联系人名),to把联系人名放到的地方(TextView)
  18. } catch (Exception e) {
  19. Toast.makeText(this, "联系人读取错误",Toast.LENGTH_LONG).show();
  20. //Toast显示提示,不打扰用户。.show()用来显示Toast
  21. }
复制代码

5.Java代码中的点击事件处理(选择后电话联系该联系人)

  1. protected void onListItemClick(ListView l,View v, int position, long id) {
  2. // TODO Auto-generated method stub
  3. super.onListItemClick(l, v, position, id);
  4. callIntent=new Intent(Intent.ACTION_CALL);
  5. //创建一个带有Call动作的Intent
  6. Cursor c=(Cursor)sadapter.getItem(position);
  7. //通过选中的Items位置来获取相应的联系人指针 Cursor
  8. PhoneID=c.getLong(c.getColumnIndex(People.PRIMARY_PHONE_ID));
  9. //获取相应联系人电话号码
  10. //getLong()返回请求数据的一个长整型
  11. //为给定的列,返回基于0的索引值
  12. //People.PRIMARY_PHONE_ID 获取主键电话号码
  13. callIntent.setData(ContentUris.withAppendedId(android.provider.
  14. Contacts.Phones.CONTENT_URI, PhoneID));
  15. //为Intent设置操作的数据
  16. //ContentUris操作带有数据内容的Uri的实用方法、它们带有"Content"体制
  17. //withAppendedId()把给定的ID添加到path后面 第一个参数是开始的,后面参数是添加的
  18. startActivity(callIntent);
  19. //开启Intent
  20. }
复制代码


     本文转自xyz_lmn51CTO博客,原文链接: http://blog.51cto.com/xyzlmn/819251 ,如需转载请自行联系原作者

相关文章
|
Android开发 iOS开发 Windows
方法:安卓手机如何批量添加联系人到通讯录
第I步:你得有安卓手机,再者,你到电脑上打开软件,金芝号码提取导入助手。第II步:这两个准备工作做好了以后,你打开你的Excel表格,把表格里面的铭字和号码各自复制好,分别放进软件里面的第三个功能“导入通讯录”,然后在这个功能下方点“通讯录生成”,你就可以获得一个文件,你把文件保存到电脑桌面。第III步:再通过你电脑上的溦xin或者Q,发去给你的手机溦xin或者手机Q,在手机上点开这个文件,就可以安卓手机批量添加联系人到通讯录了。
方法:安卓手机如何批量添加联系人到通讯录
方法:怎样把大量批量号码导入联系人到手机通讯录?
第一步:我们手里有一个excel表格,里面有铭字和号码,这是常见的格式,当然只有号码也可以。你把它们复制好,然后在电脑上打开软件:金芝号码提取导入助手,把刚才复制好的东西粘贴进来第二步:点它下方的按钮“转成通讯录”,你会得到一个通讯录格式的文件,然后你从电脑上把这个文件发给你的手机,在手机上打开它,就能把大量号码导入到通讯录成为联系人。第三步:怎么把文件从电脑上发给手机,这很简单啊,登录你的电脑某信或者某扣,发给你的手机某信或者某扣就ok了,很常见的方式啊。
方法:怎样把大量批量号码导入联系人到手机通讯录?
|
存储 Android开发
技巧:如何批量往手机通讯录导入联系人
想把几百个、几千个甚至上万个的联系人导入手机通讯录,如果手动去把人铭和11位号码一个个输入我的手机,数量多的话工作量太大了,这将是个耗时耗力的过程。那么我们自然会问:如何将手机号码批量导入手机通讯录?网上查了很多资料,我看到了一个简单方法,下面写个教程,操作非常简单,通过借助网上常见的便捷软件,金芝号码提取导入助手,来一键快速完成。
931 0
技巧:如何批量往手机通讯录导入联系人
|
存储 Android开发
方式:把excel表格里的电话号码联系人导入到手机通讯录
怎么把excel表格里的电话号码联系人导入到手机通讯录?这里我演示一个网上常见的工具软件,金芝号码提取导入助手,来看看他是如何快速简单的完成这个事情的。此外,它也可以导入安卓手机的,比如小米华为等,不只是苹果手机可以。
993 0
方式:把excel表格里的电话号码联系人导入到手机通讯录
|
存储 Android开发
方法:如何批量把excel表格联系人号码导入华为手机通讯录
看着电脑上的excel表格里上千个员工,很是头大,我是华为手机,如何批量把excel表格联系人号码导入华为手机通讯录?开始的时候信心满满的想着一个个自己手打铭字和输入一个个数字,一天存几百个,几天就搞定了,但是开始存了几十个就手指都累了而且容易出错,想想这大量重复枯燥的工作量都怀疑人生。于是上网找了很多的办法,折腾了大半天,终于发现有人介绍了一个网络上常见简单便捷操作的软件工具,金芝号码提取导入助手。在电脑上安好了软件,简单操作了三步,不到三分钟,就把excel表格里面的几千个联系人快速批量存入了手机通讯录。我下面做个教程指导。
1833 0
方法:如何批量把excel表格联系人号码导入华为手机通讯录
通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。编写程序完成以下功能:输入姓名,若通讯录文件中存在,则将该联系人信息输出;若不存在,则输出“Not Found”。
通讯录文件中存有若干联系人的信息,每个联系人的信息由姓名和电话号码组成。编写程序完成以下功能:输入姓名,若通讯录文件中存在,则将该联系人信息输出;若不存在,则输出“Not Found”。
533 0
|
iOS开发
iOS获取通讯录联系人信息(二)
iOS获取通讯录联系人信息
124 0