Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
来源:互联网 发布:linux 查看tomcat版本 编辑:程序博客网 时间:2024/06/09 08:30
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:
1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
1 使用SharedPreferences存储数据
2 文件存储数据
3 SQLite数据库存储数据
4 使用ContentProvider存储数据
5 网络存储数据
首先我们会介绍文件存储和SharedPreferences的使用。
文件存储
对于文件存储来说,使用方法和我们普通的java中得使用方法基本一样。代码片段如下:
File file = new File("/data/data/com.mxy/info.txt");try { FileOutputStream fos = new FileOutputStream(file);fos.write((username + "##" + password).getBytes());fos.close();return true; } catch (Exception e) {e.printStackTrace();return false; }这里我们需要先理解android的程序安装位置,安装路径为/data/data/包名,所以我们在我们应用程序所在的目录下创建文件。但是这时候我们写的是绝对路径,如果我们修改了我们程序的包名,那我们这里需要重新修改。Android工程师已经想到了这个问题,提供了获取对应路径的方法getFilesDir(),这时候返回值是/data/data/包名/files,片段如下:
//这种会由程序自动去构建前面的路径,但是需要知道上下文对象Context,这里直接使用的this,如果是外部方法,需要传入该参数//获取的路径为/data/data/包名/filesFile file = new File(this.getFilesDir(),"info.txt");//保存到缓存目录//File file = new File(this.getCacheDir(),"info.txt");同时我们可以使用this.openFileOutput(name, mode)在路径路径为/data/data/包名/files创建名字为name的文件,这里面的mode 参考http://lsw1991abc.blog.163.com/blog/static/215941822012921111538676/ß
Context.MODE_APPEND
Context.MODE_PRIVATE;
Context.MODE_WORLD_READABLE;
Context.MODE_WORLD_WRITEABLE;
SharedPreferences
SharedPreferences是Android平台上一个轻量级的存储类,实现SharedPreferences存储的步骤如下:
一、根据Context获取SharedPreferences对象
二、利用edit()方法获取Editor对象。
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
/** * sharedPerference实际是创建一个xml文件用于保存数据 路径为/data/data/包名/shared_perfs/xxx.xml * 数据格式类似map */case R.id.btn_save_sharedperference:SharedPreferences sp = this.getSharedPreferences("config", this.MODE_PRIVATE);Editor editor = sp.edit();editor.putString("username", "zhangsan");editor.putString("password", "aabb");editor.commit();Toast.makeText(this, "保存成功", Toast.LENGTH_LONG).show();break;case R.id.btn_read_sharedperference:SharedPreferences sp1 = this.getSharedPreferences("config", this.MODE_PRIVATE);Toast.makeText(this, "username:" + sp1.getString("username", "username null") + " password:" + sp1.getString("password", "password null"), Toast.LENGTH_LONG).show();break;获取sd卡信息
//获取sd的信息File file = Environment.getExternalStorageDirectory();StatFs stat = new StatFs(file.getPath());long blockSize = stat.getBlockSize();//获取每个Block的大小long totalBlocks = stat.getBlockCount();//获取Block的总数long availiableBlocks = stat.getAvailableBlocks();//获取可以使用的Block数目String totalStr = android.text.format.Formatter.formatFileSize(MainActivity.this, totalBlocks * blockSize) ;String availiableStr = android.text.format.Formatter.formatFileSize(MainActivity.this, availiableBlocks * blockSize) ;Toast.makeText(MainActivity.this, "总内存:" + totalStr + ",剩余内存:" + availiableStr, Toast.LENGTH_LONG).show();
例子工程下载地址:http://download.csdn.net/detail/mengxiangyue/6997785
转载请注明出处:http://blog.csdn.net/mengxiangyue
2 0
- Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
- Android获取手机和SD卡的存储存储信息
- Android数据读取 写入操作(SD卡文件存储、SharedPreferences存储)
- Android的数据存储和IO-SD卡文件浏览器
- Android开发:SharedPreferences 存储数据、获取数据
- android读取写入SD卡文件夹和SharedPreferences数据
- Android--SharedPreferences的存储和获取数据--案例《登录》
- Android开发之系统信息【1】——获取Android手机中SD卡存储信息
- android(5)(模拟QQ登录,文件存储,SD卡存储,SharedPreferences存储)
- android-SD卡存储信息
- Android学习笔记-数据存储-SharedPreferences和File
- Android数据存储和访问(SharedPreferences存储)
- 获取Android手机中SD卡存储信息
- android SharedPreferences 指定文件 名存储,获取
- 自学Android系列 笔记2 使用文件进行数据存储
- Android入门笔记 - 数据存储 - SharedPreferences
- Android笔记使用SharedPreferences进行数据存储
- android 数据存储SharedPreferences 学习笔记
- ASP.NET—005:GridView增加一行JS实现
- 学习Linux驱动的好去处
- 汇编中add和inc的问题
- ML一:python的KNN算法
- ospf database summary
- Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
- CGRectGetMidX. CGRectGetMidY. CGRectOffset、CGRectOffset使用法解析
- android view构造函数研究及错误ERR inflating class
- 学习c++的优秀博客(更新ing)
- Cocos2D 2.1开发简单iPhone游戏(3)
- 第五章 子网划分和CIDR(无类别域间路由)
- linux僵尸进程产生的原因以及如何避免产生僵尸进程(waitpid应对多进程的情况)
- android:layout_paddingLeft和android:layout_marginLeft区别
- ARM裸机串口UART