码迷,mamicode.com
首页 > 其他好文 > 详细

内部存储文件读写

时间:2015-05-30 15:17:54      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:

Rom内存

  • 存储内存,相当于电脑的硬盘
  • Android中专有名词:内部存储空间/internal storage
  • 内部存储空间是必须的,没有内部存储系统就不用运行,并且如果内部存储满了就不能再系统中安装新的应用
  • 存储空间大小不会超过2G,大于这个大小的内存空间一定是外部存储空间
  • 老式智能机自带的512M是内部存储空间,插入SD卡就是外部存储空间
  • 新一代智能机不支持插入SD卡,自带32G外部存储空间

SD卡

  • 外部存储,相当于电脑的移动硬盘
  • Android中专有名词:外部存储空间/external storage
  • 外部存储是可有可无的,一般情况是会有的

盘符路径

  Android中的内部存储盘符路径是:data/data/…

  系统会在该文件夹下为所有应用创建一个包名文件夹,这些文件夹就是应用的内专属存储空间,专门用来存放应用在使用过程中产生的一系列数据文件。

Toast提示框

  需要配合show()方法使用,

  Toast.makeText(ConText, text, duration).show()

  第三个参数决定提示框显示的时间,可以使用系统常量LENGTH_SHORT/LENGTH_LONG,分别表示3s和5s;也可以使用0和1;

路径api

  getFilesDir 返回包含data/data/<package name>/files路径的的File对象

  getCacheDir 返回包含data/data/<package name>/cache路径的File对象

  当内部存储空间的比较少的时候,cache文件件中的文件可能会被删除,但是也可能不会被删除,我们可以设置一个阀值(比如1MB)来确定cache文件夹清空的时间,阻止系统原生的不确定

上下文

   getFilesDir是属于ContextWrapper的方法,ContextWrapper是Context的包装类,Context和ContextWrapper是差不多相同的

   上下文是获取应用环境的全局环境信息(getFilesDir/getCacheDir)的一个接口,当然不同的环境使用上下文得到的结果不同。

结构

  • Context
    • ContextWrapper
      • ContextThemeWrapper    
        • Activity      
          • many other   

对象

  • FileOutputStream
  • FileInputStream
  • inputStream
  • BufferedRead

代码

 

 1     /**
 2      * 记住用户名和密码
 3      * @param view
 4      */
 5     public void login(View view){
 6         String name = et_name.getText().toString();
 7         String pass = et_pass.getText().toString();
 8         
 9         CheckBox cb = (CheckBox)findViewById(R.id.cb);
10         if (cb.isChecked()) {
11             File file = new File(getCacheDir(), "info.txt");
12             try {
13                 FileOutputStream fos = new FileOutputStream(file);
14                 fos.write((name + "##" + pass).getBytes());
15                 fos.close();
16                 Toast.makeText(this, "登陆成功", 0).show();
17             } catch (Exception e) {
18                 e.printStackTrace();
19                 Toast.makeText(this, "登陆失败", 0).show();
20             }
21         }
22     }
23     
24     /**
25      * 账号密码回显
26      */
27     public void readAccount(){
28         File file = new File(getFilesDir(), "info.txt");
29         if (file.exists()) {
30             try {
31                 FileInputStream fis = new FileInputStream(file);
32                 BufferedReader br = new BufferedReader(new InputStreamReader(fis));
33                 String text = br.readLine();
34                 String[] strings = text.split("##");
35                 et_name.setText(strings[0]);
36                 et_pass.setText(strings[1]);
37             } catch (Exception e) {
38                 e.printStackTrace();
39             }
40         }
41     }

 

内部存储文件读写

标签:

原文地址:http://www.cnblogs.com/xinjianwenjianjia/p/4540354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!