这个白板界面看这蛋疼。3天了都,我才懒得写你呢,哼,破网速。
30号的话没记什么,几乎都在写代码--
0701:
ContentProvider(内容提供者),包装别人可以做的增删改查,(AIDL是远程方法调用),他是远程数据访问,类似网站;
↓↑
↓↑URI
ContentResolver(内容提取者、解析者)
insert,delete,updata,query查,getType获得MIME数据类型,onCreate,getContext获得上下文对象,//MIME类型:可供指定应用程序打开
ContentResolver操作那个所暴露的数据,4个方法增删改查,用是getContentResolver()的方法
URI:统一资源定位符,以content://开头,配置的authority,资源部分,组成;
操作系统的ContentProvider:
1.调用Activity的getContentResolver()获取ContentResolver对象,
如:
// 查找电话号码,有电话号码URI,电话号码数据中对应联系人的ID列名
Cursor phonesCursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?",
new String[] { contactId + "" }, null);
2.根据需要调用ContentResolver的增删改查方法操作数据,
获取联系人:可扩展ListView,每一项可展开:ExpandableList:
ExpandableListView elv;
ExpandableListAdapter adapter = new BaseExpandableListAdapter() {;
里面一大堆重写的方法:
isChildSelectable返回ture;hasStableIds返回ture;
//方法决定每个组选项的外观getGroupView
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
TextView tv = new TextView(ContactProviderTestActivity.this);
tv.setText(namesList.get(groupPosition));
tv.setPadding(50, 10, 10, 10);
return tv;
}
getGroupId返回参数;getGroupCount返回 外数组list.size();获取指定位置处的组数据getGroup返回参数;
getChildrenCount返回 内数组List.get(参数).size();
决定每个子选项的外观getChildView:
{ TextView tv = new TextView(ContactProviderTestActivity.this);
tv.setText(infoList.get(groupPosition).get(childPosition));
tv.setPadding(10, 10, 10, 10);
return tv;
}
getChild返回childPosition;getChild返回childPosition;
取数据:ContentProvider.....【然后就是相当于把电子书上的代码抄起..】
------------
//若不是Activity里加载视图,如在某点击事件里:用代码加: //加载result.xml界面布局代表的试图 View
resultDialog=getLayoutInflater().inflate(R.layout.某某, null);
//获取resultDialog里ID为list的 ExpandableListView
list=resultDialog.findViewById(R.id.list);
elv = (ExpandableListView) findViewById(某某id);
ExpandableListAdapter adapter = new BaseExpandableListAdapter() {;
elv.setAdapter(adapter);
//使用对话框来显示查询结果
new AlertDialog.Builder(context.this).setView(resultDialog) .setPosition("确定",null) .show();
--------------
下午,添加联系人:(操作系统的ContentProvider)
-------------
管理多媒体内容,等会获取Sd卡图片,作业;
-------
后天讲自定义ContentProvider
今天看了整天的DN视频,又有点想我的圣骑了,嗯好想去PK啊~可惜咱还得上课~
。。好吧典型的假时先玩后赶类型,晚上敲代码咯~