1、布局效果图:
2、string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">文件保存</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<!-- 一下为新添加的内容 -->
<string name="filename">文件名称</string>
<string name="filecontent">文字内容</string>
<string name="button">保存</string>
<string name="success">保存完成</string>
<string name="fail">保存失败</string>
</resources>
3、实现布局:activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<!-- 1、显示文字:文件名称 -->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/filename"
/>
<!-- 2、显示输入文本框,为了得到输入文本框中的值,为其定义一个id -->
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/filename"
/>
<!-- 3、显示文字:文字内容-->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/filecontent"
/>
<!-- 4、显示输入文本框,为了得到输入文本框中的值,为其定义一个id -->
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="4"
android:id="@+id/filecontent"
/>
<!-- 5、按钮 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"
/>
</LinearLayout>
4、响应按钮:
package com.example.file;
import com.example.service.FileService;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//写布局的相应代码
Button button=(Button) this.findViewById(R.id.button);
button.setOnClickListener(new ButtonOnClickListener());
}
//final:终结类的继承
private final class ButtonOnClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//1.通过输入文本框得到,文件的名称和输入的内容
EditText filenameText=(EditText) findViewById(R.id.filename);
EditText contentText=(EditText) findViewById(R.id.filecontent);
String filename=filenameText.getText().toString();
String content=contentText.getText().toString();
//2.材料已经准备好了,开始保存。将业务逻辑单独的放在一起。
FileService service=new FileService(getApplicationContext());
try {
service.save(filename,content);
//3.保存完成,参数是:要显示的文字和持续的时间
Toast.makeText(getApplicationContext(), R.string.success, 1).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
e.printStackTrace();
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}