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

电商网站开发 知乎扬中网站网站建设

电商网站开发 知乎,扬中网站网站建设,浙江网站建设多少钱,中国建设银银行招聘网站读书笔记系列:第一行代码 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/688330/

相关文章:

  • 成都高端模板建站公司注册地址异常如何处理
  • 如果做网站赚钱枣强网址建站
  • 网站宽带值多少合适wordpress 默认图片
  • 西安高端网站制作公司网站推广的主要方法有哪些
  • 网站备案有什么要求吗淮北招聘网最新招聘信息
  • 快速网站建设推荐微信小程序商店
  • 网站改版 网站存在问题怎么用7牛云做网站
  • 商丘网站建设运营公司环球资源平台的优势
  • wap网站 微信登录wordpress ckvideo
  • 苏州智能网站开发网站设计时应考虑哪些因素
  • 什么直播可以做游戏视频网站吗wordpress侧边栏选项卡
  • 网站案例模版网站怎么做域名
  • 电商网站开发思路模版建设六马路小学 网站
  • 做网站用python还是php外包网络推广公司推广网站
  • 内蒙网站建设宁津建设局网站
  • 沈阳网站建设沈阳建网站网站
  • 快印店网站建设84wzjs建网站先要申请网址吗
  • 鄂州网站设计制作宽屏大气企业网站源码
  • 网站动态和静态的区别ps网页设计说明书
  • 昆明专业做网站建站目的
  • 做网站域名的成本成都网站制作沈阳
  • 怎么搭建自己的博客网站建设中网站源码
  • 建设银行成都官网招聘网站十大网站
  • ftp上传网站之后怎么做深圳住建局最新通知
  • 建网站卖东西视频网站的制作教程
  • 网站建站报价wordpress获取首页地址
  • 百度蜘蛛站长服务平台python报修网站开发源码
  • 整站下载器 做网站地图网站内部链接如何进行优化建设
  • 四川建站模板网站公司大连网络营销公司有哪些
  • discuz论坛和网站同步登录原创先锋 北京网站建设