当前位置: 首页 > news >正文

苏州建设交通高等职业技术学校网站山东嘉祥做网站的有哪几家

苏州建设交通高等职业技术学校网站,山东嘉祥做网站的有哪几家,outlook企业邮箱注册,1688做网站费用读书笔记系列:第一行代码 Android 6.1 持久化技术简介 三种数据持久化方式:文件存储、SharedPreference存储以及数据库存储,除此之外还可以存储在SD卡中(不安全) 6.2 文件存储 该方法不对存储的内容做格式化处理都…

读书笔记系列:第一行代码 Android

6.1 持久化技术简介

三种数据持久化方式:文件存储、SharedPreference存储以及数据库存储,除此之外还可以存储在SD卡中(不安全)

6.2 文件存储

该方法不对存储的内容做格式化处理都是直接保存到文件中,所以适合存一些简单的文本数据或二进制数据,要想存复杂文本数据,就需要自己定义格式规范方便解析。

6.2.1 将数据存储到文件中

Context类中有一个openFileOutput方法,可将数据保存到指定文件中,需要两个参数,第一个是文件名(文件名不包含路径,所有都默认存在/data/data/<packagename>/files/目录下),第二个参数是文件的操作模式,MODE_PRIVATE和MODE_APPEND,一个是覆盖一个是追加。
openFileOutput()方法返回的是FileOutputStream对象,得到这个对象后就可以使用JAVA方式将数据写入到文件中了,以下是一段简单的示例:

public void save(){String data = "data to save";FileOutputStream out = null;BufferedWriter writer = null;try{out = openFileOutput("data", Context.MODE_PRIVATE);writer = new BufferedWriter(new OutputStreamWriter(out));writer.write(data);} catch (IOException e) {e.printStackTrace();} finally {try {if (writer != null){writer.close();}}catch (IOException e){e.printStackTrace();}}}

一个保存下来输入值的具体案例

public class MainActivity extends AppCompatActivity {private EditText edit;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);edit = (EditText) findViewById(R.id.edit);}@Overrideprotected void onDestroy(){super.onDestroy();String inputText = edit.getText().toString();save(inputText);}public void save(String inputText){FileOutputStream out = null;BufferedWriter writer = null;try{out = openFileOutput("data", Context.MODE_PRIVATE);writer = new BufferedWriter(new OutputStreamWriter(out));writer.write(inputText);} catch (IOException e) {e.printStackTrace();} finally {try {if (writer != null){writer.close();}}catch (IOException e){e.printStackTrace();}}}
}

从文件中读取数据

Context类中还有一个OpenFileInput()方法,可以从文件中读取数据,它只接收文件名参数并返回FileInputStream对象,得到这个对象后就可以用JAVA流的方式读取出来数据了
以下是一段读文本数据的示例:

public String load(){FileInputStream in = null;BufferedReader reader = null;StringBuilder content = new StringBuilder();try{in = openFileInput("data");reader = new BufferedReader(new InputStreamReader(in));String line = "";while((line = reader.readLine()) != null){content.append(line);}} catch (IOException e) {e.printStackTrace();} finally {if (reader != null){try{reader.close();}catch (IOException e){e.printStackTrace();}}}return content.toString();}

onCreate()方法中调用 load()方法来读取文件中存储的文本内容,如果读到的内容不为null,就调用EditText的setText()方法将内容填充到EditText里,并调用setSelection()方法将输入光标移动到文本的末尾位置以便于继续输人,然后弹出一句还原成功的提示。
注意,上述代码在对字符串进行非空判断的时候使用了 Textutils.isEmpty()方法,它可以一次性进行两种空值的判断。当传入的字符串等于 null 或者等于空字符串的时候,这个方法都会返回 true,就不用再分别单独判断了。

http://www.yayakq.cn/news/22960/

相关文章:

  • 类似freenom的免费域名网站wordpress社区插件
  • dede网站开发步骤wordpress nosql
  • 如何自己建站网站制作谈谈对网站建设的认识
  • 网站建设的可行性分析东莞软件开发培训
  • ps上做网站论述三种常见的网络营销方式
  • 没文化可以学网络营销吗seo1新地址在哪里
  • 如何做网站数据库备份dedecms 关闭网站
  • 青州市建设局网站asp怎么做网站
  • 求免费网站能看的2021烟台网站排行榜
  • dedecms做的网站注册卡wordpress
  • 网站功能定制合同网站建设的同义词
  • 西安网站seo厂家网站规划的基本原则
  • 网站代码 输入文字 跳出内容wordpress云主机模板
  • 广东网站建设免费投资公司注册条件和要求
  • 网站建设套餐电话天河建设网站公司排名
  • 网站建设费用做无形资产网站原型设计工具
  • 如何做招聘网站的方案wordpress插件大全
  • 免费的网页制作软件湖北短视频seo营销
  • 陕西宏远建设集团网站WordPress图片无缝
  • 黄冈网站推广收费标准网站ftp的所有权归谁
  • 自己做网站 需要哪些东西网络营销相关的资源网站
  • 注册网站域名要钱吗做网站的语言都有什么
  • 网站制作在线版wordpress如何上传附件
  • 分析网站建设流程织梦网站开发兼职
  • 招聘网站设计方案富文本编辑器wordpress
  • 工商网站如何做企业增资pc网站做移动端适配
  • 做影视网站关停软件界面设计方案
  • 代码错误网站网站前台建设需要哪些技术知识
  • 海阳建设局网站制作网页的代码
  • wordpress 小工具开发口碑营销优化推广