Android之零碎记忆点

本文介绍了在Android中如何使用Cursor获取系统通讯录数据,并通过SimpleCursorAdapter进行数据展示的方法。此外,还讲解了如何让Activity管理Cursor的生命周期,简化开发流程。同时,文中也提到了动态添加权限的方法及获取应用包名的几种方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WindowManager wm = ((WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE));


Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null); 

解释:Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);先获得一个指向系统通讯录数据库的Cursor对象获得数据来源。


startManagingCursor(cursor); 

[size=medium]解释:This method allows the activity to take care of managing the given Cursor's lifecycle for you based on the activity's lifecycle. That is, when the activity is stopped it will automatically call deactivate() on the given Cursor, and when it is later restarted it will call requery() for you. When the activity is destroyed, all managed Cursors will be closed automatically.
startManagingCursor(cursor);我们将获得的Cursor对象交由Activity管理,这样Cursor的生命周期和Activity便能够自动同步,省去自己手动管理Cursor。
[/size]


newfs_msdos /dev/block/mmcblk3p2
清数据


ListAdapter listAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_1,   
cursor,
new String[]{People.NAME},
new int[]{android.R.id.text1});

[size=medium]解释:SimpleCursorAdapter 构造函数前面3个参数和ArrayAdapter是一样的,最后两个参数:一个包含数据库的列的String型数组,一个包含布局文件中对应组件id的int型数组。其作用是自动的将String型数组所表示的每一列数据映射到布局文件对应id的组件上。上面的代码,将NAME列的数据一次映射到布局文件的id为text1的组件上。[/size]


mTextViews[1].setTextAppearance(mContext,
android.R.attr.textAppearanceSmall)

[size=medium]解释:[quote]Text color, typeface, size, and style for "small" text.

public static final int textAppearanceSmall
Since: API Level 1

Text color, typeface, size, and style for "small" text. Defaults to secondary text color.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".
Constant Value: 16842818 (0x01010042)[/quote]

详见:[/size][url]http://androidappdocs.appspot.com/reference/android/R.attr.html[/url]


[size=medium]动态添加perssion:[/size]
[quote]权限树(permission-tree)
权限树的设置是为了统一管理一组权限,声明于该树下的权限所有者归属该应用。系统提供了API,应用可以在运行时动态添加。
 PackageManager.addPermission()[/quote]

得到PackageName的方式:
1
ActivityManager mActivityManager;
List<ActivityManager.RunningServiceInfo> mList;

mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
mList = mActivityManager.getRunningServices(20);
for(ActivityManager.RunningServiceInfo am : mList) {
datas.add(am.service.getPackageName());
}

2
intent.getComponent().getPackageName()


3
am.baseActivity.getPackageName()

[img]http://dl.iteye.com/upload/attachment/341422/8a49f1f5-2961-370d-8ce0-cbf400349beb.png[/img]

[size=large]killBackgroundProcesses[/size]
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.killBackgroundProcesses("cn.com.android123.cwj");



 ActivityManager.RunningAppProcessInfo runinfo

pm = ctx.getApplicationContext().getPackageManager()


[url]http://t.baidu.com/guide/avatar[/url]


清数据
newfs_msdos /dev/block/mmcblk3p2


[size=medium]【让本view位于父view的横向中间】[/size]
android:layout_gravity="center_horizontal"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值