4.文件储存
来源:互联网 发布:android 高仿淘宝 编辑:程序博客网 时间:2024/04/29 06:05
4.储存
A.文件储存
文件都是默认存储到/data/data/<packagename>/files/ 目录下Context类提供openFileOutput()方法,传入文件名和操作模式文件名不可包含路径操作模式有:MODE_PRIVATE 所写内容会覆盖原来的内容 MODE_APPEND 所写内容会追加在原内容后
存储数据
openFileOutput()方法返回一个FileOutputStearm对象,FileOutputStearm f = openFileOutput("name",MODE);然后创建BufferedWriter对象BufferedWriter b = new BufferedWriter(new FileWriter(FileOutputStearm f));b.writer(...);b.close();
读取数据
使用openFiLeInput和BufferedReader。TextUtils.isEmpty(String s)当s为null或者为空,都会返回truesetSelection(x)光标移动到x索引后
B.ShardPreferences储存
用键值对的方式来储存数据文件都是存放在/data/data/<packagename>/shared_prefs/目录下
数据储存到ShardPreferences中
得到ShardPerferences对象的方法1.Context类的getSharedPreferences("file name",MODE)file name 文件名MODE:MODE_PRIVATE默认模式 MODE_MULTI_PROCESS多个进程对同一个文件进行读写2.Activity类的getPreferences(MODE)默认活动名就是文件名3.PerferenceManager类的getDefaultShardPreferences(Context c)静态方法,用当前应用程序的包名来作为文件名
数据存储步骤
1. 调用SharedPreferences 对象的edit()方法来获取一个SharedPreferences.Editor 对象2. 向SharedPreferences.Editor 对象中添加数据比如添加一个布尔型数据就使用putBoolean 方法添加一个字符串则使用putString()方法,以此类推3. 调用commit()方法将添加的数据提交,从而完成数据存储操作。
数据读取步骤
调用SharedPreferences对象的getXxx()方法传入键的名称和查找不到的返回值即可得到值的数据
4.SQLite数据库储存
创建数据库步骤:1.创建一个子类继承SQLiteOpenHelper类,重写构造方法2.构造方法传入4个参数 context 上下文 name 数据库名称 favtory 用来创建cursor对象,默认为null version 版本号,从1开始。3.重写onCreate()和onUpgrade()方法 数据库第一次被创建时,会执行onCreate()方法,适合做表结构的初始化 SQLiteDatabase.execSQL(String sql)来执行SQL语句,创建表 version 如果发生改变,则会调用onUpgrade()方法,适合做表结构的修改4.创建帮助类对象,调用getReadableDatabase()方法来初始化数据库的创建,得到SQLiteDatabase对象
SQLite语句
integer 表示整型real 表示浮点型text 表示文本类型blob 表示二进制类型primary key 将id 列设为主键autoincrement 关键字表示id 列是自增长的。
4.1添加数据
SQLiteDatabase的insert()方法就是用来添加数据的insert(String table,String nullColumnHack,ContentValues values) table 要添加数据的表名 nullColumnHack 一般是null values 保存要添加的数据的ContentValues对象
4.2更改数据
SQLiteDatabase的update()db.update("book",values,"author = ?",new String[]{"maoqi"});"book" 要更改数据的表名"values" 要更改的数据存放的ContentValues对象"author = ?",new String[]{"maoqi"} 更新所有author为maoqi的所对应的数据
4.3删除数据
delete()
4.4查询数据
query()方法返回的是Cursor对象,然后把查询到的数据从Cursor对象中取出 ex:String name = cursor.getString(cursor.getColumnIndex("name")); cursor.moveToFirst() 将数据的指针移动到一行的位置
5.使用SQL语法操作数据库
5.1添加数据的方法如下:
db.execSQL("insert into Book (name, author,pages,price) values(?, ?, ?, ?)", new String[] { "The Da Vinci Code", "Dan Brown","454","16.96" });db.execSQL("insert into Book (name, author, pages,price) values(?, ?, ?, ?)", new String[] { "The Lost Symbol", "Dan Brown", "510","19.95" });
5.2更新数据的方法如下:
db.execSQL("update Book set price = ? where name= ?",new String[] { "10.99","The Da Vinci Code" });
5.3删除数据的方法如下:
db.execSQL("delete from Book where pages > ?", newString[] { "500" });
5.4查询数据的方法如下:
db.rawQuery("select * from Book", null);
6.事务
事务的特性可以保证让某一系列的操作要么全部完成,要么一个都不会完成。//开启事务SQLiteDatabase db = dbHelper.getWritableDatabase();db.beginTransaction();//事务执行成功db.setTransactionSuccessful();//db.endTransaction();
0 0
- 4.文件储存
- 文件储存
- 文件储存
- Android数据储存——文件储存
- Android系统储存方式之文件储存
- ContentProvider 之文件储存
- 图片文件的储存
- FILE文件储存
- Android 文件储存
- 文件储存forAndroid
- 文件的储存
- android文件储存
- 文件的储存
- cifs文件的储存
- nfs文件的储存
- webgame的文件储存方案 .
- 数据储存之文件操作
- plist文件创建,储存,转化
- 批量修改postgresql索引大小写
- 嵌入式学习-uboot-lesson9.2-C点亮LED
- 3.广播
- JDK环境变量设置方法
- 239. Sliding Window Maximum
- 4.文件储存
- 【GOF23设计模式】_状态模式_UML状态图_酒店系统房间状态_线程对象状态切换JAVA250
- Number of 1 Bits
- HeadFirstJava——4_对象的行为
- 恭喜您成为 2016 年度 Microsoft MVP
- 5.内容提供器
- 6.多媒体
- Android App监听软键盘按键的三种方式
- 数组、ArrayList