当前位置: 编程技术>移动开发
本页文章导读:
▪关于looper说明2 关于looper说明二
在非主线程中通过Looper.myLooper()获取looper时,如果没有调用Looper.prepare(),获取的looper为null,Looper.prepare()是用来为当前线程创建消息队列的,也就是如果当前线程没有消息队列.........
▪ 反复导入联系人 重复导入联系人
重复导入联系人时,android会把相同的联系人放在一个联系人名片夹中,通过编辑联系人界面可以看到。这样可能会带来编辑的bug,同时看着也不爽。
研究了下代码,原来,an.........
▪ TableView的步骤说明 TableView的方法说明
//得到有多少个区
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
//计算特定分区中行数
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
//从索.........
[1]关于looper说明2
来源: 互联网 发布时间: 2014-02-18
关于looper说明二
在非主线程中通过Looper.myLooper()获取looper时,如果没有调用Looper.prepare(),获取的looper为null,Looper.prepare()是用来为当前线程创建消息队列的,也就是如果当前线程没有消息队列,将无法创
建Looper。
[2] 反复导入联系人
来源: 互联网 发布时间: 2014-02-18
重复导入联系人
重复导入联系人时,android会把相同的联系人放在一个联系人名片夹中,通过编辑联系人界面可以看到。这样可能会带来编辑的bug,同时看着也不爽。
研究了下代码,原来,android导入时,会调用合并的功能。通过设置RawContacts.AGGREGATION_MODE可以达到导入不合并的效果。
RawContacts.AGGREGATION_MODE可以设置为:
RawContacts.AGGREGATION_MODE_DEFAULT;
RawContacts.AGGREGATION_MODE_IMMEDIATE;
RawContacts.AGGREGATION_MODE_SUSPENED;
RawContacts.AGGREGATION_MODE_DISABLED;
(详见android.provider.ContactsContract.java)
在导入联系人时insert的地方(framework/provider/pim/ContactStruct.java/pushIntoContentResolver())加入
builder.withValue(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_SUSPENDED);
1 楼
slldxmm
2011-09-21
Log.i(TAG, "Insert Beg");
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder op;
ContentProviderResult[] ret = null;
// 生成新id
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME, null)
.build());
// 姓名
op = ContentProviderOperation.newInsert(Data.CONTENT_URI);
op.withValueBackReference(Data.RAW_CONTACT_ID, 0);
op.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
op.withValue(StructuredName.FAMILY_NAME, "毛");
op.withValue(StructuredName.GIVEN_NAME, "泽东");
ops.add(op.build());
// 号码
op = ContentProviderOperation.newInsert(Data.CONTENT_URI);
op.withValueBackReference(Data.RAW_CONTACT_ID, 0);
op.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
op.withValue(Phone.NUMBER, "88888888888");
op.withValue(Phone.TYPE, Phone.TYPE_HOME);
ops.add(op.build());
// 事务新增
try {
ret = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
for (ContentProviderResult r : ret) {
Log.i(TAG, r.toString());
}
Toast.makeText(this, "新增返回id :" + ContentUris.parseId(ret[0].uri), Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
}
Log.i(TAG, "Insert End");
这是我的完整例子,为何如你添加,没有效果啊。
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder op;
ContentProviderResult[] ret = null;
// 生成新id
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME, null)
.build());
// 姓名
op = ContentProviderOperation.newInsert(Data.CONTENT_URI);
op.withValueBackReference(Data.RAW_CONTACT_ID, 0);
op.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
op.withValue(StructuredName.FAMILY_NAME, "毛");
op.withValue(StructuredName.GIVEN_NAME, "泽东");
ops.add(op.build());
// 号码
op = ContentProviderOperation.newInsert(Data.CONTENT_URI);
op.withValueBackReference(Data.RAW_CONTACT_ID, 0);
op.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
op.withValue(Phone.NUMBER, "88888888888");
op.withValue(Phone.TYPE, Phone.TYPE_HOME);
ops.add(op.build());
// 事务新增
try {
ret = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
for (ContentProviderResult r : ret) {
Log.i(TAG, r.toString());
}
Toast.makeText(this, "新增返回id :" + ContentUris.parseId(ret[0].uri), Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
}
Log.i(TAG, "Insert End");
这是我的完整例子,为何如你添加,没有效果啊。
[3] TableView的步骤说明
来源: 互联网 发布时间: 2014-02-18
TableView的方法说明
//得到有多少个区 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; //计算特定分区中行数 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; //从索引路径获取分区和行,用来确定使用哪个值 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; //得到每个分区的标题值,可以自定义,这里得到分区名 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section; //添加索引 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView; //点击一个cell - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //设置行高 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath //此方法将缩进级别设置为行号,返回缩进数字 -(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath; //返回每一行,在这里可以对行数据进行处理 -(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath; //每一行都显示一个展示按钮 -(UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath {return UITableViewCellAccessoryDisclosureIndicator;}
//得到有多少个区 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; //计算特定分区中行数 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; //从索引路径获取分区和行,用来确定使用哪个值 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; //得到每个分区的标题值,可以自定义,这里得到分区名 -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section; //添加索引 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView; //点击一个cell - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //设置行高 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath //此方法将缩进级别设置为行号,返回缩进数字 -(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath; //返回每一行,在这里可以对行数据进行处理 -(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath; //每一行都显示一个展示按钮 -(UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath {return UITableViewCellAccessoryDisclosureIndicator;}
最新技术文章: