美文网首页
2018-03-07 数据保存

2018-03-07 数据保存

作者: 紫杉叶子 | 来源:发表于2018-03-08 08:47 被阅读0次
笔记如下
  • 保存数据到应用私有的目录中并回显
    //相当于/data/data/com...../info.txt
    File file = new File(this.getFilesDir(),"info.txt");
    OutputStream out = new FileOutputStream(file);
  
    String value = number+"#itheima#"+password;
    out.write(value.getBytes());
    out.close();

数据回显

 File file = new File(this.getFilesDir(),"info.txt");
                //     /data/data/com......./cache
//        File file = new File(this.getCacheDir(),"info.txt");
        
        if(file.exists()&&file.length()>0){
            
            // 读取 file 中数据 , 然后回显 
            try {
                BufferedReader br = new BufferedReader(new FileReader(file));
                
                // 111#itheima#111
                 String line = br.readLine();  
                
                String num= line.split("#itheima#")[0];
                String pwd = line.split("#itheima#")[1];
                ed_qqnumber.setText(num);
                ed_qqpassword.setText(pwd);
                
            } catch (Exception e) {
                e.printStackTrace();
            }
            
            
            
        }
  • 将数据保存到公共sdk卡上
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
// 判断sdcar的 状态 
                String status = Environment.getExternalStorageState();
                
                // 这里 status  动态的返回的 sd 卡的状态 
                
                // 如果是mouted --- 挂载 , 那么这个时候 可以去 写 数据到 sd 卡中
                if(!Environment.MEDIA_MOUNTED.equals(status)){
                    
                    // 表示   sd 卡 未 挂载, 那么 这个时候 就提示用户  检查sd 卡的状态 
                    
                    Toast.makeText(this, "请检查 sd 卡的状态 ", 0).show();
                    return;
                }
                
                // 细节二 :
                
                // 返回可用的 空闲的 空间 大小   ---- in bytes
                long freeSpace = Environment.getExternalStorageDirectory().getFreeSpace();
                
                //拿到 sd 卡的总的大小,   in bytes
                Environment.getExternalStorageDirectory().getTotalSpace();
                
                //拿到 sd 卡 已经使用的 的大小,   in bytes
                Environment.getExternalStorageDirectory().getUsableSpace();
                
                // 调用这个api 去获得sd 卡的 可用 控件, 这里还做了一个事, 将 返回的字节 空间 做了单位的
                // 转换 
                String avalableSize = Formatter.formatFileSize(this, freeSpace);
                
                Toast.makeText(this,"可用的 空间 是 : "+ avalableSize, 0).show();
                
                
                
                File file = new File(Environment.getExternalStorageDirectory(),"info.txt");
                OutputStream out = new FileOutputStream(file);
                String value = number+"#"+password;
                
                out.write(value.getBytes());
                out.close();
  • 用sharedPreference保存数据
// 将数据 保存起来, 使用 sharedPreference
                // config文件将会生成 在 应用的文件夹下 --- 一个 xml 格式 的文件
                // 一般 情况下, 应用自己的数据 只有 当前应用 自己可以去读,  所以 通常 会写  
                
                sp = getSharedPreferences("config", 0);
                
                Editor editor = sp.edit();
                
                editor.putString("number", number);
                editor.putString("password", password);
                
                editor.commit();

回显数据

sp = getSharedPreferences("config", 0);
        
        // 如果找到了 number的 值, 那么 就 返回 number的值, 否则 就返回 这里的默认值 
       String num= sp.getString("number", "");
       String pwd= sp.getString("password", "");

相关文章

网友评论

      本文标题:2018-03-07 数据保存

      本文链接:https://www.haomeiwen.com/subject/bhejfftx.html