1.activity_main.xml 布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<EditText
android:layout_width="200dp"
android:layout_height="30dp"
android:layout_marginLeft="50dp"
android:layout_marginTop="30dp"
android:id="@+id/write"
android:background="#E6E6FA"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存"
android:id="@+id/save"
android:layout_marginTop="20dp"
android:layout_marginLeft="100dp"
/>
<TextView
android:layout_width="200dp"
android:layout_height="30dp"
android:layout_marginLeft="50dp"
android:layout_marginTop="30dp"
android:id="@+id/show"
android:background="#E6E6FA" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:id="@+id/read"
android:layout_marginTop="20dp"
android:text="读取" />
</LinearLayout>
2.MainActivity.java类
package com.example.a86156.demosql;
import android.content.Context;
import android.support.v7.app.ActionBar;
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.TextView;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
EditText write;
TextView show;
Button save;
Button read;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//隐藏系统默认标题
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
//初始化控件
write = findViewById(R.id.write);
show = findViewById(R.id.show);
save = findViewById(R.id.save);
read = findViewById(R.id.read);
save.setOnClickListener(this);
read.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.save:
String s1 = write.getText().toString();
saveData(s1);
break;
case R.id.read:
String s2 = dataLoad();
show.setText(s2);
break;
default:
break;
}
}
/**
* 定义一个保存数据的方法
*
* @param data 被保存的数据
*/
private void saveData(String data) {
FileOutputStream out = null;
BufferedWriter writer = null;
try {
//userName 表示文件的名称
//MODE_APPEND 表示从文件后面接着写入,不会覆盖之前的数据
//MODE_PRIVATE 表示会重新覆盖之前写入的数据
out = openFileOutput("userName", Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(data);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 从文件中读取数据
* @return 读取到的数据
*/
private String dataLoad() {
FileInputStream in = null;
BufferedReader reader = null;
StringBuilder builder = new StringBuilder();
try {
in = openFileInput("userName");
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return builder.toString();
}
}