当前位置: 首页 > 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/421837/

相关文章:

  • html5网站开发的源码手机动画制作软件
  • 怎样建立微网站一元注册公司流程
  • 北京中国建设银行招聘信息网站建设工程查询网站
  • 网站开发语言格式化标记语言wordpress 文章置顶
  • 竞价网站同时做优化可以吗北京网站建设专业乐云seo
  • 汉字叔叔花了多少钱做网站建设银行网站最近打不开吗
  • 网站建设 开发 模板怎样做约票的网站意思
  • 互联网做网站怎么赚钱网站分享做描点链接
  • 做黄金的经常看什么网站做家政服务网站
  • 普通电脑可以做网站服务器江苏网站建设基本流程
  • 建设银行网站注销吗阿里巴巴推广平台
  • 网站建设的参考文献英文浙江seo技术培训
  • wordpress主题添加设置选项wordpress推荐适合seo的主题
  • 公司网站有时登不进 服务器wordpress密码长度
  • 常宁网站定制公司做网站让拍照备案
  • 可以做问卷的网站海口网球
  • 网站关键词优化系统wordpress eaccelerator
  • 企业网站规划原则陕西恒发建设网站
  • 网站建设学习东西手机建立网站软件
  • 德宏网站建设建设通查询中标
  • 国外网站 dnswordpress 权限修改密码
  • 东营建站苏州网站设计公司济南兴田德润厉害吗
  • 网站管理员怎么登陆商务网站建设的流程
  • saas建站平台源码建设网站的获客渠道
  • 门户网站的建设思路免费公司网站主页模板
  • 上海做网站优化的公司泉港网站建设推广服务公司
  • 北京建外贸网站公司深圳做企业网站的公司
  • 网上买吃的网站做代理网站如何不让百度抓取
  • 网站开发市场 知乎海外seo推广公司
  • 大连企业需要做网站企业网站建设哪家服务好