Android实时文件夹创建方法
本文实例讲述了android实时文件夹创建方法。分享给大家供大家参考。具体如下:
实时文件夹是一种用来显示由某个contentprovider提供的数据信息的桌面组件。要创建一个实时文件夹,必须要有两方面的支持。一方面是,要定义一个用来创建实时文件夹的activity。另一方面是,所指定数据信息uri的contentprovider必须支持实时文件夹的查询。本节中就将要介绍如何为应用程序创建实时文件夹。
与在launcher的桌面上添加一个快捷方式类似,用户在桌面上长按后选择实时文件夹就会弹出一个可用实时文件夹的列表对话框。若我们想把自己应用程序内的activity也添加到这一列表中,同样只需要在该activity注册时添加一个action为android.intent.action.create_live_folder的intentfilter。而在这个创建实时文件夹的activity中,我们要把实时文件夹的信息以附加信息的形式存储在一个intent对象当中,并通过result返回给launcher应用程序执行添加。下表列出了与实时文件夹信息相关的附件信息的键值与数据类型。
实时文件夹的键值与数据类型
其中display_mode有两种,其值为1时,以栅格(grid)形式显示展开后的实时文件夹内容,为2时则是以列表(list)形式显示。除了以上的附加信息,对于要查询数据的uri则是以data的形式存储在intent对象中的。由于contacts的contentprovider已经实现了对实时文件夹的相关支持,所以下面我们就以创建所有联系人的实时文件夹的程序来作为本节的示例。
testactivity类
package com.ljq.activity; import android.app.activity; import android.content.intent; import android.net.uri; import android.os.bundle; import android.provider.contactscontract; import android.provider.livefolders; public class testactivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); if(getintent().getaction().equals(livefolders.action_create_live_folder)){ intent intent = new intent(); intent.setdata(uri.parse("content://contacts/live_folders/people")); intent.putextra(livefolders.extra_live_folder_base_intent, new intent(intent.action_view,contactscontract.contacts.content_uri)); intent.putextra(livefolders.extra_live_folder_name, "电话本"); //快捷方式的标题 intent.putextra(livefolders.extra_live_folder_icon, intent.shortcuticonresource.fromcontext(this, r.drawable.png1));//快捷方式的图标 intent.putextra(livefolders.extra_live_folder_display_mode, livefolders.display_mode_list);//显示模型 setresult(result_ok, intent); } else{ setresult(result_canceled); } finish(); } }
清单文件
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.activity" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".testactivity" android:label="@string/app_name"> <!-- 注意此处 --> <intent-filter> <action android:name="android.intent.action.create_live_folder" /> <category android:name="android.intent.category.default" /> </intent-filter> </activity> </application> <uses-sdk android:minsdkversion="7" /> </manifest>
运行结果
希望本文所述对大家的android程序设计有所帮助。
上一篇: 亚马逊推出云计算认证项目
下一篇: 设计模式-模板
推荐阅读
-
Android实时文件夹创建方法
-
Android通过应用程序创建快捷方式的方法
-
Android中new Notification创建实例的最佳方法
-
Android中new Notification创建实例的最佳方法
-
Android编程Widget创建与使用方法简明教程
-
Android基于OpenGL的GLSurfaceView创建一个Activity实现方法
-
Android编程Widget创建与使用方法简明教程
-
Android获取手机文件夹及文件列表的方法
-
Android开发中Activity创建跳转及传值的方法
-
Android基于OpenGL的GLSurfaceView创建一个Activity实现方法