Android存储的使用笔记-注意点
2016-08-04 08:43
302 查看
1.其他应用的SharedPreferences
创建该程序对应的Context,具体创建方法是:
Context wantApplication=createPackageContext(“该程序对应 的包名”,模式);如
useCount=createPackageContext(“com.example.adminstrator”,Context.CONTEXT_INGORE_SECURITY)
即可获得Context了,获得Context就是获得整个应用程序,因为Context代表了整个全局信息的接口。
然后就能够用useCount.getSharedPreferences(“文件名”,“模式”)获取sharedPreferences对象了
2.文件存储方式
输入输出流,openFileInput()获得fileInputStream
openFileOutput()获得fileOutputStream
或者直接new 一个FileInputStream或者FileOutputStream
读取sd卡的数据时
①调用Environment.getExternalStorageState()方法判断手机上是否插入了SD卡,并且是否具有读写SD的权限
如
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)返回true即为正确
②调用Environment的getExternalStorageDirectory()方法来获取外部存储器即SD卡的目录【也可以直接获得文件new File(”/mnt/sdcard/“);使用file.exists()判断文件是否存在即可】
③使用文件输入输出流来读写sd卡数据
读取时候可以直接通过new FileInputStream(文件名)获得FileInputStream对象,然后使用BufferReader的方式操作即可
但是写入时候如果直接用FileOutputStream会直接清空原有文件而不是追加,所以使用的RandomAccessFile对象;
所以要直接建文件File f=new File(文件名);
然后新建RandomAccessFile的对象具体操作如下
RandomAccessFile ran=newRandomAccessFile(f,“rw“);
//将文件指针移到最后
ran.seek(f.length());
//写入数据
ran.write(字节);
ran.close();
3.SQLite数据库
①获取SQLiteDatabase对象,它代表了与数据库的连接。
SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase(数据库名字,Cursor工厂);
②执行sql语句来对数据库操作
③查询结果并用SimpleCursorAdapter封装Cursor
④关闭SQLiteDatabase,回收资源
简单的升级
一般不使用SQLiteDatabase来打开数据库,通常都是继承SQLiteOpenHelper开发子类,并通过该子类的getReadableDatabase()和getWritableDatabase()方法打开数据库
getWritableDatabase()是以读写方式打开,若数据库的磁盘已经满了,此时只能读不能写,则会出错。
getReadableDatabase()也是先以读写方式打开,若磁盘已满,则会打开失败,接着会尝试以只读方式打开数据库。
子类中的代码一般有onCreate,onUpgrade和构造函数。
创建该程序对应的Context,具体创建方法是:
Context wantApplication=createPackageContext(“该程序对应 的包名”,模式);如
useCount=createPackageContext(“com.example.adminstrator”,Context.CONTEXT_INGORE_SECURITY)
即可获得Context了,获得Context就是获得整个应用程序,因为Context代表了整个全局信息的接口。
然后就能够用useCount.getSharedPreferences(“文件名”,“模式”)获取sharedPreferences对象了
2.文件存储方式
输入输出流,openFileInput()获得fileInputStream
openFileOutput()获得fileOutputStream
或者直接new 一个FileInputStream或者FileOutputStream
读取sd卡的数据时
①调用Environment.getExternalStorageState()方法判断手机上是否插入了SD卡,并且是否具有读写SD的权限
如
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)返回true即为正确
②调用Environment的getExternalStorageDirectory()方法来获取外部存储器即SD卡的目录【也可以直接获得文件new File(”/mnt/sdcard/“);使用file.exists()判断文件是否存在即可】
③使用文件输入输出流来读写sd卡数据
读取时候可以直接通过new FileInputStream(文件名)获得FileInputStream对象,然后使用BufferReader的方式操作即可
但是写入时候如果直接用FileOutputStream会直接清空原有文件而不是追加,所以使用的RandomAccessFile对象;
所以要直接建文件File f=new File(文件名);
然后新建RandomAccessFile的对象具体操作如下
RandomAccessFile ran=newRandomAccessFile(f,“rw“);
//将文件指针移到最后
ran.seek(f.length());
//写入数据
ran.write(字节);
ran.close();
3.SQLite数据库
①获取SQLiteDatabase对象,它代表了与数据库的连接。
SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase(数据库名字,Cursor工厂);
②执行sql语句来对数据库操作
③查询结果并用SimpleCursorAdapter封装Cursor
④关闭SQLiteDatabase,回收资源
简单的升级
一般不使用SQLiteDatabase来打开数据库,通常都是继承SQLiteOpenHelper开发子类,并通过该子类的getReadableDatabase()和getWritableDatabase()方法打开数据库
getWritableDatabase()是以读写方式打开,若数据库的磁盘已经满了,此时只能读不能写,则会出错。
getReadableDatabase()也是先以读写方式打开,若磁盘已满,则会打开失败,接着会尝试以只读方式打开数据库。
子类中的代码一般有onCreate,onUpgrade和构造函数。
相关文章推荐
- Android笔记使用SharedPreferences进行数据存储
- 自学Android系列 笔记2 使用文件进行数据存储
- Android笔记使用嵌入式关系型SQLite数据库存储数据
- Android数据存储(七) SQLite使用注意和SQL语句
- 野人学Android基础篇之数据存储第一课--SQLite的使用及注意点
- (笔记)Android的OnGestureListener中onFling()的使用注意
- Android使用笔记--存储空间管理
- 【Android笔记】ubuntu 16.04下android调试工具 Vysor 安装及使用注意
- 一个 Android程序员的小程序入门学习笔记『二』(template 模版的使用注意)
- [笔记] Android Service 使用注意事项
- 【笔记】关于android中shape使用的注意事项
- Android(java)学习笔记153:layout_weight使用注意事项
- Android数据存储SharedPreferences的使用场景和注意事项
- 使用SQL存储过程要特别注意的问题-注意顺序读取
- Android(OPhone) 学习笔记 - 菜单使用
- Android(OPhone) 学习笔记 - Home API 的使用
- 微软企业库4.1学习笔记(十五)缓存模块3 使用数据库作为后端存储
- 使用 Navicat 8 给 MySQL 写存储过程的几点注意
- C#中使用Oracle 存储过程笔记
- C++ Primer学习笔记:引用的使用注意事项