当前位置: 代码迷 >> Android >> 【android开发】android操作资料
  详细解决方案

【android开发】android操作资料

热度:112   发布时间:2016-05-01 14:35:57.0
【android开发】android操作文件

目的:打开文件,查看文件内容,情况内容,追加内容。

1.创建android project

2.activity内容:

package com.android;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class Activity12 extends Activity implements OnClickListener{	private EditText inputEt;//编辑框	private Button saveBtn;//保存 按钮	private String input_text;//输入的字符串	private OutputStream os;		private TextView showText; //显示读取的内容	private Button openTxtBtn; //open file button	private Button cleanTxtBtn;//clean file	private String text_output; 	private InputStream is;	private byte[] b;		private final String FILE = "filetext.txt";			@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.show);    }		/**	 * 设置显示view	 * @param layoutId	 */	private void setLayout(int layoutId) {		setContentView(layoutId);	}		/**	 * 各种布局下,得到view	 * @param mainOpen	 */	private void initUI(String mainOpen) {		if (mainOpen.equals("main")) {			inputEt = (EditText)findViewById(R.id.edit_txt);			saveBtn = (Button)findViewById(R.id.save);		} else if (mainOpen.equals("open")) {			showText = (TextView)findViewById(R.id.showTxt);			openTxtBtn = (Button)findViewById(R.id.openTxtB);			cleanTxtBtn = (Button)findViewById(R.id.cleanBtn);		}	}	/**	 * 不同布局下添加自己的Event	 * @param str	 */	private void addEvent(String str) {		if (str.equals("main")) {			saveBtn.setOnClickListener(this);		} else if (str.equals("open")) {			openTxtBtn.setOnClickListener(this);			cleanTxtBtn.setOnClickListener(this);		}	}		/* (non-Javadoc)	 * @see android.view.View.OnClickListener#onClick(android.view.View)	 */	@Override	public void onClick(View v) {		// TODO Auto-generated method stub		switch (v.getId()) {		case R.id.save:{			input_text = inputEt.getText().toString();			try {				os = this.openFileOutput(FILE, MODE_PRIVATE);				os.write(input_text.getBytes());			} catch(FileNotFoundException e) {				toast(getString(R.string.fileCloseError) + e);			} catch(IOException e) {				toast("文件写入失败" + e);			} finally {				try {					os.close();				} catch(Exception e) {					toast(getString(R.string.fileCloseError) + e);				}			}			inputEt.setText("");			toast("文件保存成功!!!查看请点击Menu");		}		break;		case R.id.openTxtB: {			toast("文件打开");			try {								is = this.openFileInput(FILE);				//is = getResources().openRawResource(R.raw.filetext);				b = new byte[1024];				int length = is.read(b);				text_output = new String(b);				setTitle("文件字数 " + length);				showText.setText(text_output);			} catch(FileNotFoundException e) {				toast("文件打开失败" + e);			} catch(IOException e) {				toast("文件读取失败" + e);			} finally {				try {					is.close();				} catch(Exception e) {					toast(getString(R.string.fileCloseError) + e);				}			}		}		break;		case R.id.cleanBtn: {			showText.setText("");			toast(getString(R.string.clean));		}		break;		default:			break;		}	}	/* 增加menu	 * @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)	 */	@Override	public boolean onCreateOptionsMenu(Menu menu) {		// TODO Auto-generated method stub				menu.add(0, 1, 1, "Edit").setIcon(R.drawable.edit);		menu.add(0, 2, 2, "Open").setIcon(R.drawable.open);		menu.add(0, 3, 3, "Exit").setIcon(R.drawable.exit);		return super.onCreateOptionsMenu(menu);	}	/* 点击menu item	 * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)	 */	@Override	public boolean onOptionsItemSelected(MenuItem item) {		// TODO Auto-generated method stub		switch (item.getItemId()) {		case 1: 			setLayout(R.layout.main);			initUI("main");			addEvent("main");			setTitle("请输入追加的内容:");			toast("编辑文件");			break;		case 2:			setLayout(R.layout.open);			initUI("open");			addEvent("open");			toast("打开文件");			break;		case 3:			finish();			toast("Byebye");			break;		default:			break;		}				return super.onOptionsItemSelected(item);			}		/**	 * 提示	 * @param str 内容	 */	private void toast(String str) {		Toast.makeText(this, str, Toast.LENGTH_SHORT).show();	}			    }

? 3.布局文件

main.xml 追加文件内容填写页,一个editText 一个button

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@color/hui"    ><EditText  	android:id="@+id/edit_txt"    android:layout_width="350px"     android:layout_height="350px"     /><Button	android:layout_height="wrap_content"	android:id="@+id/save"	android:text="保存"	android:layout_width="80px"/></LinearLayout>

?show.xml 首页

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@color/hui"    >    <TextView  	android:id="@+id/ss"    android:layout_width="wrap_content"     android:layout_height="wrap_content"    android:textSize="30px"    android:text="粗糙文件编辑,请点击Menu"     /></LinearLayout>

? open.xml 操作文件

<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/openlayout"    android:background="@color/hui"    ><TextView  	android:id="@+id/showTxt"    android:layout_width="314px"     android:layout_height="373px" 	android:layout_x="3px"	android:layout_y="3px"    /><Button	android:layout_height="wrap_content"	android:id="@+id/openTxtB"	android:text="打开"	android:layout_width="80px"	android:layout_x="2px"	android:layout_y="378px"/><Button	android:layout_height="wrap_content"	android:id="@+id/cleanBtn"	android:text="清空"	android:layout_width="80px"	android:layout_x="239px"	android:layout_y="378px"/></AbsoluteLayout>

?4.string.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">12</string>    <string name="fileCloseError">文件关闭失败</string>    <string name="clean">清空</string>    <color name = "hui">#FFFACD</color></resources>

?结果:

首页

?点menu

点open

点edit

点exit

?

明天继续完善。美化。。。。

byebye!!!

?

?

  相关解决方案