您的位置:首页 > 移动开发 > Android开发

Android数据存储方式(一)文件读写操作

2014-07-31 18:06 1071 查看

                           Android数据存储方式(一)文件读写操作

步骤:
(1)建立一个工程"文件读写"
(2)编写布局activity_main.xml
(3)编写布局open.xml
(4)编写MainActivity.java
功能:将写入的文字装入文件.txt中,然后可以读出来。

外面貌似在下雨,爽啊啊~~~最喜欢下雨时,外面雷声隆隆,房间安安静静地...当然是安安静静地写代码....

main.xml
<LinearLayout

     xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/container"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:background="#000000"

    tools:context="com.xuxin.test.filewriteread.MainActivity"

    tools:ignore="MergeRootFrame" >

    

  <EditText 

      android:id="@+id/et"

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:background="#C0C0C0"

      android:textColor="#009900"

      android:hint="请输入"

      />  

    <Button 

        android:id="@+id/bt"

        android:layout_height="50px"

        android:layout_width="wrap_content"

        android:text="保存"

        android:textColor="#009900"

        android:layout_gravity="right"/>

   

</LinearLayout>

open.xml

<?xml version="1.0" encoding = "utf-8"?>

<LinearLayout

    android:id="@+id/openlayout"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:background="#000000"

xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView 

        android:id="@+id/tv_open_show"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:textColor="#009900"></TextView>

    <RelativeLayout 

         android:layout_width="match_parent"

        android:layout_height="wrap_content">

        <Button 

        android:id="@+id/bt_open"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="打开"/>

        <Button 

        android:id="@+id/bt_clean"

         android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="清空"

        android:layout_toRightOf="@id/bt_open"/>

       

    </RelativeLayout>

   

</LinearLayout>

MainActivity.java

package com.xuxin.test.filewriteread;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import android.support.v7.app.ActionBarActivity;

import android.support.v7.app.ActionBar;

import android.support.v4.app.Fragment;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

import android.os.Build;

import android.provider.ContactsContract.CommonDataKinds.Note;

public class MainActivity extends ActionBarActivity implements OnClickListener {
EditText et;
Button bt;

private EditText inputArt;
private Button saveButton;
private String Text_of_input;
private OutputStream os;

private TextView showmyText;
private Button openTxt,cleanTxt;
private String Text_of_output;
private InputStream is;
private byte[] b;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

   

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        UIinit("main");

        Logic("main");

        

       

    }

  /*

   * 菜单栏选择操作(每次选择菜单后,对界面进行初始化和事件逻辑方法)

   * */  
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 1:
setLayoutShow(R.layout.activity_main);
UIinit("main");
Logic("main");
NoteDebug("编辑文件Layout");
break;
case 2:
setLayoutShow(R.layout.open);
UIinit("open");
Logic("open");
NoteDebug("打开文件Layout");
break;
case 3:
      finish();
      NoteDebug("Byebye");
break;

default:
break;
}
return super.onOptionsItemSelected(item);
}

private void setLayoutShow(int layoutID) {
// TODO Auto-generated method stub
setContentView(layoutID);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, 1, 1, "Edit").setIcon(R.drawable.ic_launcher);
menu.add(0, 2, 2, "Open").setIcon(R.drawable.ic_launcher);
menu.add(0, 3, 3, "Exit").setIcon(R.drawable.ic_launcher);
return super.onCreateOptionsMenu(menu);
}

/** 

            添加事件逻辑方法

 * 

 * */
private void Logic(String string) {
// TODO Auto-generated method stub
if(string.equals("main")){
saveButton.setOnClickListener(this);
} else if(string.equals("open")) {
openTxt.setOnClickListener(this);
      cleanTxt.setOnClickListener(this); 
}
}

/** 

    初始化UI元素方法

 * 

 * */
private void UIinit(String mainROopen) {
// TODO Auto-generated method stub
if(mainROopen.equals("main")){
inputArt = (EditText) findViewById(R.id.et);
        saveButton= (Button) findViewById(R.id.bt);
}
else if(mainROopen.equals("open")){
showmyText= (TextView) findViewById(R.id.tv_open_show);
        openTxt = (Button) findViewById(R.id.bt_open);
        cleanTx
c187
t = (Button) findViewById(R.id.bt_clean);
}
}

/**

           按钮操作处理

 *

 */
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {

case R.id.bt:{
NoteDebug("文件保存");
Text_of_input = inputArt.getText().toString();
try {
os = this.openFileOutput("txtME", MODE_PRIVATE);
os.write(Text_of_input.getBytes());
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
NoteDebug("文件关闭失败"+e1);;
}
catch (IOException e2) {
// TODO Auto-generated catch block
NoteDebug("文件写入错误"+e2);;
}
finally{
try {
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
NoteDebug("文件关闭失败"+e);
}
}
inputArt.setText("");
}
break;

case R.id.bt_open:{
NoteDebug("文件打开");
try {
is = this.openFileInput("txtME");
b = new byte[1024];

int length = is.read(b);
Text_of_output = new String(b);
setTitle("文件字数:"+length);
showmyText.setText(Text_of_output);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
NoteDebug("文件打开失败"+e);
} catch (IOException e) {
// TODO Auto-generated catch block
NoteDebug("文件读取失败"+e);
}
finally{
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
NoteDebug("文件关闭失败"+e);
}
}

}break;
case R.id.bt_clean:{
showmyText.setText("");
NoteDebug("清空");
}break;

default:
break;
}
}

private void NoteDebug(String showString) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), showString, Toast.LENGTH_SHORT).show();
}

    

    

}





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐