Android学习笔记(十五)

本章主要讲了隐式Intent字符串拼接

本章总结

隐式Intent

打开隐式Intent

通过隐式Intent可以让操作系统寻找适用的Activity。

简略形式

 Intent i = ShareCompat.IntentBuilder.from(getActivity()).setType("text/plain").setText(getCrimeReport()).getIntent();//简略表达

更多系统支持的Activity 点击 官方文档

从隐式Intent取回数据

查询联系人列表返回一个uri对象,uri即为可标识的资源。查找的联系人就是一个资源,我们先新建查找目标的数组,这里只查询一个NAME。建立游标,游标中第一行即为查询的结果(只有一个数据)。

检查是否有支持的Activity
举例:调用拨号界面
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);

字符串拼接

使用%1$s %2$s对应动态字符串的第一个位置和第二个位置

属性值举例说明
  • %n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 
  • %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 
  • %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 

使用getStrng(动态字符串,字符串1,字符串2…) 可完成绑定

挑战练习

ShareCompat

又一个隐式intent

添加一个按钮布局,然后在数据库中根据联系人姓名查表,这里注意查的事CommonDataKinds.Phone表

注意添加权限授权

<uses-permission android:name="android.permission.READ_CONTACTS"/>

但是添加完也不够,手机默认拒绝你的权限,手动在应用信息界面允许权限。

显示效果

发表评论