android基础学习8——文件存储
2017-06-03 14:31
330 查看
文件存储是Android中最基本的一种数据传递方式,他与java中的文件存储类似,都是用过I/O流的形式把数据原封不动地存储到文档中。不同的是,Android中的文件存储分为内部存储和外部存储。内部存储是指将应用程序中的数据以文件方式存储到设备的内部存储空间中(改文件位于data/data/<packagename>/files/目录下),注意:使用真机测试无法进入data目录,只有和获得root权限的手机才可以。
接下来通过一个存储用户信息的案例来学习。
布局文件
编写界面交互代码
程序运行成功后,填入信息,点击保存信息,提示“数据保存成功”
然后点击读取信息
这里如果用的是虚拟机,可以到data/data目录中找到对应的data.txt文件。
接下来通过一个存储用户信息的案例来学习。
布局文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.lenovo.filesave.MainActivity"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:textSize="20dp" android:text="请输入您要存储的信息:"/> <EditText android:id="@+id/et_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView1" android:ems="10"> <requestFocus /> </EditText> <Button android:id="@+id/btn_read" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/et_info" android:layout_below="@+id/et_info" android:text="读取信息"/> <Button android:id="@+id/btn_save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/et_info" android:text="保存信息"/> </RelativeLayout>
编写界面交互代码
package com.example.lenovo.filesave; import android.content.Context; import android.content.DialogInterface; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class MainActivity extends AppCompatActivity { private EditText et_info; private Button btn_save; private Button btn_read; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取布局文件中的控件 et_info=(EditText)findViewById(R.id.et_info); btn_save=(Button)findViewById(R.id.btn_save); btn_read=(Button)findViewById(R.id.btn_read); btn_save.setOnClickListener(new ButtonListener()); btn_read.setOnClickListener(new ButtonListener()); } //定义Button按钮的点击事件 private class ButtonListener implements View.OnClickListener { public void onClick(View v){ switch(v.getId()){ case R.id.btn_save: String saveinfo=et_info.getText().toString().trim(); FileOutputStream fos; try{ //保存数据 fos=openFileOutput("hyy.txt", Context.MODE_APPEND); fos.write(saveinfo.getBytes()); fos.close(); }catch(Exception e){ e.printStackTrace(); } Toast.makeText(MainActivity.this, "数据保存成功", Toast.LENGTH_SHORT).show(); break; case R.id.btn_read: String content=""; try{ //获取保存的数据 FileInputStream fis=openFileInput("hyy.txt"); byte[] buffer=new byte[fis.available()]; fis.read(buffer); content=new String(buffer); fis.close(); }catch(Exception e){ e.printStackTrace(); } Toast.makeText(MainActivity.this, "保存的数据是:"+content, Toast.LENGTH_SHORT).show(); break; default: break; } } } }
程序运行成功后,填入信息,点击保存信息,提示“数据保存成功”
然后点击读取信息
这里如果用的是虚拟机,可以到data/data目录中找到对应的data.txt文件。
相关文章推荐
- Android Map开发基础知识学习笔记
- Android Map开发基础知识学习笔记
- Android入门学习_Android SQLite基础
- 学习android需要的基础
- Android开发学习笔记-9 Service基础
- Android(OPhone) 学习笔记 - 代码基础
- android基础--意图的学习
- Android基础学习这获取本机电话号码
- Android Map开发基础知识学习笔记
- Android 学习笔记【基础扫盲篇】
- 《大家一起学习android》第一篇 Java基础学习
- Android Map开发基础知识学习笔记
- Android平台学习基础(2)-SQLite基本操作
- android基础学习<一>--->五大布局对象Framelayout,Linearlayout,Relativelayout,Tablelayout,AbsoluteLayout
- Android Map开发基础知识学习笔记(转)
- Android学习基础要点总结
- 关于Android零基础学习的思考
- 黑马程序员Java培训、Android培训_Java 学习过程记录_语言基础2
- Android开发学习笔记-2 Activity-1 基础
- android学习(一)——基础配置