android之旅3:内外部存储读写数据
来源:互联网 发布:人皮唐卡 知乎 编辑:程序博客网 时间:2024/05/16 17:42
界面上找到用户名和密码保存成文件
- 不要权限的原因是限制到了程序自己的文件夹
- getCacheDir()和getFilesDir()不同之处在于cache中可能会被删除
public void login(View v){ TextView et_name = (TextView) findViewById(R.id.et_name); String name = et_name.getText().toString(); //类似的方法找到password CheckBox cb = findViewById(R.id.cb); if(cb.isChecked()){//复选框被选中 //getFilesDir()返回的就是data/data/APP_NAME/files //类似的,getCacheDir(),返回data/data/APP_NAME/cache File file = new File(getFilesDir(), "info.txt"); FileOutputStream fos = new FileOutputStream(file); fos.write((name+password).getBytes()); fos.close(); } //创建toast并显示 Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show(); }
public void login(View v){ //用系统给的API直接返回流,文件路径默认为files下 FileOutputStream fos = openFileOutPut("fileName",MODE_APPEND);//MODE_PRIVATE一样权限}
Activity出现时回写到框内
- 要在OnCreate时调用
public void readAccount(){ File file = new File(getFilesDir(), "info.txt"); if(file.exists()){ FileInputStream fis = new FileInputStream(file); //字符流转为字节流 BufferedReader br = new BufferReader(new InputSteamReader(fis)); String text = br.readLine(); TextView tv = (TextView) findViewById(R.id.tv_usrname); tv.setText(text); //数据回写到输入框 }}
外部存储空间读写文件
- 2.2之前,sd卡路径是sdcard
- 4.3之前,sd卡的路径是mnt/sdcard
- 之后都是storage/sdcard
- 现在很多厂商都乱改目录,最好用系统API
- 写sdcard需要权限
- 读在4.0之后用户可选,之前一般不需要权限
<uses-permission android:name="android.permission.WRITE_EXTERNANL_STORAGE"/>
//sdcard的路径回写数据,sd卡关键代码public void login(View v){//SD卡状态:MEDIA_REMOVED 没有SD卡// MEDIA_MOUNTED SD可用 if(Environment.getExternalStorageState().equals(Enviroment.MEDIA_MOUNTED)){ File file = new File(Environment.getExternalStorageDirctory()); }}
计算sd卡的空间
- 区块大小*区块个数=空间(字节单位)
- 字节转换为MB
public void write(){ File file = Environment.getExternalStorageDirectory(); //获取sd卡所有状态 StatFs stat = new StatFs(file.getPath()); long blockSize = stat.getBlockSizeLong(); long totalBlocks = stat.getBlockCountLong(); long availBlocks = stat.getAvailableBlocksLong(); String size = Formatter.formatFileSize(this, availBlocks*blockSize); //write size 到TextView即可}
查看系统API与快速定位代码位置
- 选中界面上的文字关键信息,在代码中搜寻
0 0
- android之旅3:内外部存储读写数据
- Android-读写内外部存储数据,SharePreference,PreferenceActivity,SQLite
- 狂刷Android范例之3:读写外部存储设备
- Android内/外部存储文件读写操作总结
- Android数据库存储sqlite外部存储数据读写
- Android 存储学习之在外部存储中读写文件
- Android学习(15) --在外部存储读写数据相关
- Android中向外部存储读写非字符串类数据
- Android:外部存储的读写
- Android数据存储之内部存储、外部存储
- android中的内外部存储
- 数据存储之外部存储
- Android数据存储之——外部存储
- Android数据存储之External Storage外部存储
- android 学习笔记2-logcat 内外部文件的存储 文件权限 xml读写
- Android存储的内外部存储
- Android 内外部存储,file存储
- 利用Api读写外部存储卡数据
- PHP的命名空间
- 软解码和硬解码的区别
- jqeryUI 文本框自动补全
- java(9)--HTML
- 【hihoCoder】第77周《Koch Snowflake》题目分析
- android之旅3:内外部存储读写数据
- 轻松学习JavaScript二十四:DOM编程学习之操作CSS样式(一)
- 排序算法5之快速排序
- 你好,世界haha
- android初学笔记,Thread结合handler实现质数计算
- 我的个人博客地址
- Spring源代码解析(收藏)
- JAVA面向对象之构造方法
- C++11 并发指南二(std::thread 详解)