Android7.0持久化技术
持久技术即数据数据存储问题,Android有多种成熟的存储方式,例如SharedPreferences,SQLite等
SharedPreferences()方法
Android中主要有三种方法得到SharedPreferences对象
1.Context类中getSharedPreferences()方法
this.getSharedPreferences("sharedPreferences对象名",MODE_PRIVATE);//第一个参数 sharedP的名字 ,第二个是操作模式,目前只有MODE_PRIVATE可用。
2.Acitivity类中的getPreferences()方法
this.getPreferences(MODE_PRIVATE);//会自动当前活动的雷鸣作为SharedPreferences()的文件名
3.PreferenceManager类中的getDefaultSharedPreferences
PreferenceManager.getDefaultSharedPreferences();//静态方法
获得Editor对象
保存数据
SharedPreferences.Editor editor = getSharedPreferences("test",MODE_PRIVATE).edit();editor.putString("key","value");editor.apply();
读取数据
SharedPreferences sharedPreferences = this.getSharedPreferences("aa",MODE_PRIVATE);String data = sharedPreferences.getString("key","null");//第一个是key,第二个参数是如果没有那个键对值,就用第二个参数替换。
SQLite数据库存储
1.创建数据库
Android通过SQLiteOpneHelper帮助类来处理数据库
public class MySqlite extends SQLiteOpenHelper {public static final String CREATE_BOOK = "create table Book ("+ "id integer primary key autoincrement)";//sql语言private Context mContext ;public MySqlite(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);mContext = context}//第一个参数context,第二个参数数据库名,第三个参数自定义cursor指针(一般传入null),第四个数据库版本号@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_BOOK);//execSQL(sql语句)}//重写@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("drop table if exists Book");onCreate(db);}//重写
}
2.Activity中的操作
public class SqlActivity extends Activity {private MySqlite mySqlite;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mySqlite = new MySqlite(this,"Book.db",null,1);mySqlite.getWritableDatabase();//创建或打开一个数据库,当不可写入时,异常mySqlite.getReadableDatabase();//创建或打开一个数据库,当不可写入时,将以只读的方式打开数据库}
}
3.数据操作
SQLiteDataBase通过 contentValues对象来传递数据
注入方法 为 Insert
SQLiteDatabase sqLiteDatabase = mySqlite.getWritableDatabase();ContentValues values = new ContentValues();values.put("key","value");sqLiteDatabase.insert("表名",null,values);//第二个参数 如果元素为空,则注入null
更新方法
db.update("表名",contentValues,"约束","约束")第三,第四参数用约束更新某一行或几行,若不用,则表示更新所有行。
删除
db.delete("表名","约束","约束");
查询
不必每个参数都设置。
Android7.0持久化技术相关推荐
- Android7.0新特性、新功能
[本文转载来自http://blog.csdn.net/hao54216/article/details/52388755] 前言: 总想写点自己的东西,因为很多Android知识网上大部分都有教程, ...
- 第一行代码学习笔记第六章——详解持久化技术
知识点目录 6.1 持久化技术简介 6.2 文件存储 * 6.2.1 将数据存储到文件中 * 6.2.2 从文件中读取数据 6.3 SharedPreferences存储 * 6.3.1 将数据存储到 ...
- Android7.0反射类找不到的问题
Java中使用反射的地方较多,尤其是各种框架中.最近在Android7.0的项目中遇到个问题很奇怪,反射使用的类找不到了,但是编译的时候没问题啊.然后在代码中使用非反射的方式调用代码也是没有问题的,这 ...
- Redis高可用详解:持久化技术及方案选择
文章摘自:https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关 ...
- redis作用_Redis高可用详解:持久化技术及方案选择
本文将先说明上述几种技术分别解决了Redis高可用的什么问题,然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案.在介绍RDB和AOF方案时,不仅介绍其作用及操作方法,同时还会介绍 ...
- Android开发笔记(一百五十九)Android7.0的分屏模式
现在的手机屏幕越来越大,使得在屏幕上同时开多个窗口不再奢侈,因此Android从7.0开始顺势推出了分屏功能,也被称作多窗口模式.比如把竖长的手机屏幕分成上下两个窗口,一边在上面的窗口中观看电影,一边 ...
- 小米5c android7.0,小米5C推送安卓7.1:系统更流畅,联通信号更稳定
原标题:小米5C推送安卓7.1:系统更流畅,联通信号更稳定 不久前MIUI让小米5和小米Max两款机型已经吃上了Android7.0牛轧糖版本,与此同时小米5C作为搭载自主处理器的一款手机,待遇也相当 ...
- Android第一行代码学习思考笔记(碎片、广播、持久化技术和Android数据库)
Android第一行代码学习思考笔记(碎片.广播.持久化技术和Android数据库 第四章 手机平板要兼顾--探究碎片 4.1碎片是什么(Fragment) 4.2碎片的使用方式 4.2.1碎片的简单 ...
- Android数据持久化技术
Android 数据持久化技术 数据持久化 文件存储 将数据存储到文件中 从文件中读取数据 SharedPreferences存储 使用SharedPreferences存储数据 从SharedPre ...
最新文章
- 重新配对_郑思维和陈清晨当年配对也很强,为什么被拆开重新和黄雅琼配对
- tomact错误日志是那个_如何查看tomcat启动异常日志详情
- 4G最快网速相当于30M宽带
- 视频营销、B2B营销、EDM营销之营销方式大PK
- 如何查看超大文本文件
- 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点
- Zen Cart 常用SQL命令
- androidStudio导入库文件
- fpga烧写bin文件_FPGA中可执行文件:bit/bin/mcs/elf
- ipa在线安装搭建_免电脑 iOS 12 一键越狱+手机端直接自动安装插件教程
- C# MessageQueue例子
- c++ vs2015 播放音乐_三星s20都取消了耳机孔,1k-2k的播放器会成为直推党新选择吗?...
- SQL中order by的高级用法
- 【场景实现】Vue+element如何让帖子评论带上emoji,这个需求让我在富文本Quill开始了踩坑连连看
- 七年之痒,从小米6看小米公司的善与罪
- Win8 纯净版安装详细教程
- 区块链的希望与原罪:从金融场景谈起
- springboot集成ES实现磁盘文件全文检索
- 自媒体运营的八条建议
- windows server2012 r2修改用户名