赞
踩
Android系统中主要提供了3种方式用于简单地实现数据持久化功能:文件存储、SharedPreference存储、数据库存储。除了这3种方式之外,还可以将数据保存在手机的SD卡中。
文件存储是Android中最基本的一种数据存储方式,不对存储的内容进行任何格式化处理,所有数据原封不动地保存到文件中,适合存储一些简单地文本数据或二进制数据。
Context类中提供了一个openFileOutput();能将数据存储在指定的文件中。这个方法能接收两个参数。
(1) 第一个参数是文件名:且所有文件的默认路径存储到:/data/data//files/目录下的。
(2) 第二个参数是文件的操作模式:表示当指定同样文件名的时候,所写内容会覆盖原文件中的内容,而MODE_APPEND表示文件已存在。
<EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type something here"/>
public class MainActivity extends AppCompatActivity { private EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit =(EditText) findViewById(R.id.edit); } @Override protected 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(); } } } }
需要在sdk中的C:\Users\duo.gao\sdk\platform-tools目录下进行开通权限
点击导入到电脑上,并打开data文件。
Context类提供了一个openFileInput();方法,用于从文件中读取数据。他只接收一个参数,即要读取文件名,到目录下去加载这个文件,并返回一个FileInputStream对象,在通过Java流的方式将数据读取出来。
public class MainActivity extends AppCompatActivity { private EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit =(EditText) findViewById(R.id.edit); String inputText=load(); if (!TextUtils.isEmpty(inputText)){ edit.setText(inputText); edit.setSelection(inputText.length()); Toast.makeText(this, "Restoring succeeded!!1", Toast.LENGTH_SHORT).show(); } } @Override protected 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。