我的记事本程序

package first.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.Toast;

public class NotebookActivity extends Activity {
    private EditText name,text;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        name=(EditText)findViewById(R.id.editText1);
        text=(EditText)findViewById(R.id.editText2);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
        menu.add(0, 0, 0, "保存");
        menu.add(0, 1, 0, "清空");
        menu.add(0, 2, 0, "打开");
        return super.onCreateOptionsMenu(menu);
    }
   @Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
       String nameINPUT=name.getText().toString();
       String textINPUT=text.getText().toString();
      if(item.getItemId()==0){
       if(nameINPUT.equals("")){
           Toast.makeText(getApplicationContext(), "输入栏不能为空", Toast.LENGTH_SHORT).show();
       }
       else{
           if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
               fileACTION action=new fileACTION(this);
               try {
                action.save(nameINPUT, textINPUT);
                Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
           }
           else{
               Toast.makeText(getApplicationContext(), "Sd卡不存在", Toast.LENGTH_SHORT).show();
           }
       }
      }
      if(item.getItemId()==1){
          text.setText("");
      }
      if(item.getItemId()==2){
          Intent intent=new Intent();
          intent.setClass(NotebookActivity.this, SDlist.class);
          NotebookActivity.this.startActivityForResult(intent, 10);
      }
      
       return super.onOptionsItemSelected(item);
}
   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
       super.onActivityResult(requestCode, resultCode, data);
               String temp=data.getStringExtra("data");    
            if(resultCode==RESULT_OK){
                fileACTION action=new fileACTION(this);
                
                try {
                    text.setText(action.load(temp));
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            
      }
}
下面这个是文件操作类

package first.test;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.content.Context;
import android.os.Environment;
import android.widget.Toast;

public class fileACTION {
    private Context context;
    public fileACTION(Context context){
        this.context=context;
    }
    public void save(String filename,String text) throws Exception{
       
        File file=new File(Environment.getExternalStorageDirectory(), filename+".txt");
        FileOutputStream outputStream=new FileOutputStream(file);
        outputStream.write(text.getBytes());
        outputStream.close();
       
        }
    public String load(String filename) throws Exception{
        File file=new File(Environment.getExternalStorageDirectory(), filename);
        FileInputStream inputStream=new FileInputStream(file);
        ByteArrayOutputStream arrayOutputStream=new ByteArrayOutputStream();
        byte[] bs=new byte[1024];
        int len=0;
        while((len=inputStream.read(bs))!=-1){
            arrayOutputStream.write(bs, 0, len);
        }
        byte[] data=arrayOutputStream.toByteArray();
        inputStream.close();
        arrayOutputStream.close();
        return new String(data);
    }
    }

接下来是SD卡列表类,用于显示SD卡上的TXT文件列表,并且可以点击打开

package first.test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class SDlist extends Activity {
    private TextView textView;
    private ListView listView;
    String itemdata;
    ArrayList<String> list=new ArrayList<String>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list);
        textView=(TextView)findViewById(R.id.textView1);
        listView=(ListView)findViewById(R.id.listView1);
       
        if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
            File filePATH=new File(Environment.getExternalStorageDirectory().getAbsolutePath());
            if(filePATH.listFiles().length>0){
                for(File file:filePATH.listFiles()){
                    String fileNAME=file.getName();
                    if(fileNAME.indexOf(".txt")!=-1){
                    list.add(fileNAME);}
                }
            }
        }
        else{
            Toast.makeText(getApplicationContext(), "SD卡不存在或写保护", Toast.LENGTH_SHORT).show();
        }
        ArrayAdapter<String> listtemp=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);
        listView.setAdapter(listtemp);
        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                // TODO Auto-generated method stub
                itemdata=(String) listView.getItemAtPosition(arg2);
                Intent intent=new Intent();
                intent.setClass(SDlist.this, NotebookActivity.class);
                intent.putExtra("data", itemdata);
                setResult(RESULT_OK, intent);
               
                finish();
               
            }
        });
       
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值