您的位置:首页 > 移动开发 > Android开发

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和构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: