【Android】ContentValues的用法
ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而HashTable却可以存储对象。
在忘数据库中插入数据的时候,首先应该有一个ContentValues的对象所以:
ContentValues initialValues = new ContentValues();
initialValues.put(key,values);
SQLiteDataBase sdb ;
sdb.insert(database_name,null,initialValues);
插入成功就返回记录的id否则返回-1;
就可以插入一行数据,详细见下面代码
public Uri insert(Uri uri, ContentValues initialValues) {
if (uriMatcher.match(uri) != CONTACTS) {
throw new IllegalArgumentException("unknow uri " + uri);
}
ContentValues values;
if (initialValues != null) {
values = new ContentValues(initialValues);
System.out.println("contentValues插入成功,initailValues不是空的");
} else {
values = new ContentValues();
}
Long now = Long.valueOf(System.currentTimeMillis());
// 设置默认值
if (values.containsKey(ContactColumn.CREATED) == false) {
values.put(ContactColumn.CREATED, now);
} if (values.containsKey(ContactColumn.NAME) == false) {
values.put(ContactColumn.NAME, now);
} if (values.containsKey(ContactColumn.EMAIL) == false) {
values.put(ContactColumn.EMAIL, now);
} if (values.containsKey(ContactColumn.MOBILE) == false) {
values.put(ContactColumn.MOBILE, now);
} if (values.containsKey(ContactColumn.MODIFIED) == false) {
values.put(ContactColumn.MODIFIED, now);
}
System.out.println("应该插入成功了吧");
long RowId = contactsDB.insert(CONTACTS_TABLE, null, values);
if (RowId > 0) {
Uri noteUri = ContentUris.withAppendedId(CONTENT_URI, RowId);
getContext().getContentResolver().notifyChange(noteUri, null);
System.out.println("到这里也是没问题的!");
return noteUri;
}
throw new IllegalArgumentException("unknow uri " + uri);
}
当然以上代码是根据Uri来操作的所以要想明白代码怎么回事?还要明白ContentProvider到底是怎么存储数据的!
【Android】ContentValues的用法的更多相关文章
- Android ContentProvider基本用法
转自:https://www.jianshu.com/p/601086916c8f 一.基本概念 ContentProvider是Android系统中提供的专门用户不同应用间进行数据共享的组件,提供了 ...
- 【Android学习】android:layout_weight的用法实例
对于android:layout_weight的用法,用下面的例子来说明: <LinearLayout xmlns:android="http://schemas.android.co ...
- Android之Adapter用法总结-(转)
Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...
- Android之Adapter用法总结(转)
Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...
- Android webservice的用法详细讲解
Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...
- Android之Adapter用法总结
http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器 ...
- xamarin android viewpager的用法
1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...
- Android开发PreferenceActivity 用法的代码
将开发过程中常用的一些内容做个收藏,下面资料是关于Android开发PreferenceActivity 用法的内容,希望对大伙有一些用处.public class Setting extends P ...
- ZT onActivityResult在android中的用法
onActivityResult在android中的用法 举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就 ...
随机推荐
- git与eclipse集成之导入组件到Eclipse工程
从工作目录中选择要导入的组件,右键选择:Import Projects,弹出窗口如下图所示,选择Import as general project 点击next,修改或使用默认的组件名称 点击fini ...
- nc 搭建环境流程及问题
1 拷贝目录,包括eclipse及home两个文件夹 2 将jdk环境配置为home里的jdk,现在为1.5 3 在mde development 中设置数据库链接及应用服务及端口号 4 新建mde项 ...
- 51nod--1265 四点共面 (计算几何基础, 点积, 叉积)
题目: 1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4 ...
- SpriteKit 学习体会贴(不断完善中)
1. 关于 SKShapeNode 刚接触SpriteKit时,看到这个类,以为它会比SKSpriteNode更为轻量级,但其实不是: Shape nodes are useful for conte ...
- Python 三种过滤去重方法
SET集合去重 set(1,1,2) REDIS去重 布隆过滤器
- Android PermissionUtils:运行时权限工具类及申请权限的正确姿势
Android PermissionUtils:运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6 Permis ...
- grep匹配某个次出现的次数
cat file | grep -c 'xxx' 统计xxx在file中出现的行数 cat file | grep -o 'xxx' 统计xxx在file中出现的次数
- ACM-ICPC 2018 焦作赛区网络预赛 I Save the Room
Bob is a sorcerer. He lives in a cuboid room which has a length of AAA, a width of BBB and a height ...
- css 样式 记录
/* Track */::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); -webkit-bo ...
- dict-test
#! -*- coding:utf-8 -*-"""键必须是唯一的,但值则不必len(dict) 计算字典元素个数,即键的总数str(dict) 输出字典,以可打印的字符 ...