assets、raw(文件夹、作用,区别) 、 SharedPreference(存放配置信息)
来源:互联网 发布:初中数学网络研讨 编辑:程序博客网 时间:2024/06/14 22:24
保存数据到dada\dada\apk名\files
- 写入和读取内存中的文件,写到apk中的文件夹files中,只有Root的手机才能查看系统文件
public void onClick(View v) { //这里我是利用一个点击事件做的测试 switch (v.getId()){ case R.id.bt_mian_one: //如果是保存 try {//此文件被存放在,内存目录中,如果文件没有,会自动创建 // openFileOutput此方法是Activity特有的写入方法 //参数一被读取的文件名,参数二:读取模式,读取自己的采用私有模式 FileOutputStream fileOutputStream=openFileOutput(editTextone.getText().toString(), Context.MODE_PRIVATE); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileOutputStream); //把值写入文件,write 可以从指定Bytes数组位置开始写到Bytes数组指定位置 bufferedOutputStream.write(editTexttwo.getText().toString().getBytes()); //关闭写入 fileOutputStream.flush(); bufferedOutputStream.flush(); fileOutputStream.close(); Toast.makeText(this, "写入完成", Toast.LENGTH_SHORT).show(); bufferedOutputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } break; case R.id.bt_mian_two://如果是读取 try { FileInputStream fileInputStream=openFileInput(editTextone.getText().toString()); //此处我使用字节流读取(字符串),平时推荐使用字节流 //字节输入流转换成字符输入流 InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream); BufferedReader bufferedReader=new BufferedReader(inputStreamReader); editTexttwo.setText(bufferedReader.readLine()); //关闭流 fileInputStream.close(); inputStreamReader.close(); bufferedReader.close(); Toast.makeText(this, "读取完成", Toast.LENGTH_SHORT).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } break; } }
读取内存卡中的文件
- 首先,你必须设定权限,文件会创建在你指定的位置
- 然后,在读取内存的文件的方法的基础上,把读取的源方法换成
- FileOutputStream fileout=new FileOutputStream(“/mnt/sdcard/被读取的文件名”);
设定读写内存卡的权限
打开 AndroidManifest.xml 写入如下代码
<!--创建文件,和删除文件系统的权限--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission> <!--文件,读取权限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <!--文件写入权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
public void onClick(View v) { //这里我是利用一个点击事件做的测试 switch (v.getId()){ case R.id.bt_mian_one: //如果是保存 try { //设定被读取文件的路径 FileOutputStream fileout=new FileOutputStream("/mnt/sdcard/被读取的文件名"); BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileout); //把值写入文件,write 可以从指定Bytes数组位置开始写到Bytes数组指定位置 bufferedOutputStream.write(editTexttwo.getText().toString().getBytes()); //关闭写入 fileOutputStream.flush(); bufferedOutputStream.flush(); fileOutputStream.close(); Toast.makeText(this, "写入完成", Toast.LENGTH_SHORT).show(); bufferedOutputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } break; case R.id.bt_mian_two://如果是读取 try {FileInputStream fileInputStream=FileInputStream("/mnt/sdcard/被读取的文件名"); //此处我使用字节流读取(字符串),平时推荐使用字节流 //字节输入流转换成字符输入流 InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream);BufferedReader bufferedReader=new BufferedReader(inputStreamReader); editTexttwo.setText(bufferedReader.readLine()); //关闭流 fileInputStream.close(); inputStreamReader.close(); bufferedReader.close(); Toast.makeText(this, "读取完成", Toast.LENGTH_SHORT).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } break; } }
assets及raw
作用
- 这个二个文件夹,都可以放置 外部资源(例如:字体、视屏、音频 等。。)
区别
读取
SharedPreferences (存放配置信息)
存放,一些你的设置
- 取到getSharedPreferences(“配置文件名”,Context.MODE_PRIVATE); 参数二:模式类型,私有。
- 取到配置文件的编辑器,SharedPreferences.Editor editor = sharedpreferences.edit();
- 通过编辑器,设值:editor.putString(“键”,”存入的值”);
- 提交编辑器的操作: editor.commit(); //重点
- 通过键取出配置文件内的值:sharedpreferences.getString(“键”,”默认值,意思是,如果没有取到,就返回该值”);
方法图
- 写入的方法,根据需求使用
- 取值的方法,根据需求使用
//取到设置配置文件,没有会自动创建 SharedPreferences sharedpreferences=getSharedPreferences("ces",Context.MODE_PRIVATE); //取到,编辑器,用来写数据,到配置文件中 SharedPreferences.Editor editor = sharedpreferences.edit();//从配置文件中,通过键取到保存的值 sharedpreferences.getString("键","默认值,意思是,如果没有取到,就返回该值"); //取配置 文件中的值 editTextone.setText(sharedpreferences.getString("标题","")); editTexttwo.setText(sharedpreferences.getString("内容","")); //多选 选中事件 check.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){//通过编辑器,给配置设定 键,及存入的值!! editor.putString("标题","存入的值"); editor.putString("内容",editTexttwo.getText().toString());//存完后记得提交,这个是重点,否者无效 editor.commit(); //重点 } } });
阅读全文
0 0
- assets、raw(文件夹、作用,区别) 、 SharedPreference(存放配置信息)
- 存放资源 assets文件夹和raw文件夹
- Assets文件夹和RAW文件夹区别
- android下raw与assets文件夹区别
- 安卓复习之旅—raw和assets文件夹的作用,区别
- Android中assets文件夹和raw文件夹区别
- Android 里 raw和assets 文件夹的区别
- android工程下assets与raw文件夹的区别
- raw和assets文件夹二者有何区别
- Android assets和raw文件夹
- res/raw 和assets文件夹
- res/raw文件夹与assets文件夹
- android下assets文件夹和raw文件夹
- 关于raw文件夹和assets文件夹
- assets与res/raw区别
- android raw与assets区别
- android raw与assets区别
- android raw与assets区别
- 学习笔记:MySQL基准测试之Benchmark Suite
- Android Kotlin资源整理
- Android Studio插件整理
- Andoird控件收集
- Android一些开源第三方
- assets、raw(文件夹、作用,区别) 、 SharedPreference(存放配置信息)
- andrid studio导入java项目
- P1809【USACO2.3.1】Longest Prefix最长前缀 IOI'96
- JDBC使用技术及事例
- Shuffle 与 Storage 模块间的交互
- python pip 国内源
- AxonFramework,存储库
- 跟着Django手册建立了Blog(四)--写静态文件
- MSSQL:使用表格多页浏览数据库