android 简单文件操作

1.布局

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.logindemo.MainActivity" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="请输入用户名" />
    <EditText 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/et_username"
        />
     <TextView
        
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="请输入密码" />
    <EditText 
        android:inputType="textPassword"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/et_password"
        />
    <RelativeLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        
        >
        <CheckBox 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/cb_remember"
            android:text="记住密码"
            android:checked="true"
            />
        <Button
            android:onClick="login"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="登录"
            android:id="@+id/btn_login" />
    </RelativeLayout>

</LinearLayout>

2.MainActivity.java

package com.example.logindemo;

import java.util.Map;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.example.logindemo.service.LoginService;


public class MainActivity extends ActionBarActivity {
    
    private EditText et_username;
    private EditText et_pwd;
    private CheckBox cb_remember;
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_username = (EditText)this.findViewById(R.id.et_username);
        et_pwd = (EditText)this.findViewById(R.id.et_password);
        cb_remember = (CheckBox)this.findViewById(R.id.cb_remember);
        
        Map<String,String> map = LoginService.getUserInfo(this);
        if(map!=null)
        {
            et_username.setText(map.get("username"));
            et_pwd.setText(map.get("password"));
        }
    }

    
    public void login(View v){
        
        String username = et_username.getText().toString();
        String pwd = et_pwd.getText().toString();
        
        if(TextUtils.isEmpty(username) || TextUtils.isEmpty(pwd)){
            
            Toast.makeText(MainActivity.this, "username or password is empty", Toast.LENGTH_SHORT).show();
            return;
        }
        else
        {
            
            if(cb_remember.isChecked())
            {
                boolean result = LoginService.saveUserInfo(this, username, pwd);
                if(result)
                {
                    Toast.makeText(MainActivity.this, "save user info success", Toast.LENGTH_SHORT).show();
                }
            }
            
            if("test".equals(username) && "123".equals(pwd))
            {
                Toast.makeText(MainActivity.this, "login success", Toast.LENGTH_SHORT).show();
            }
            else
            {
                
                Toast.makeText(MainActivity.this, "username or password is error", Toast.LENGTH_SHORT).show();
            }
        }
        
    }
}

3.service

package com.example.logindemo.service;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

import android.content.Context;

public class LoginService {
    
    public static boolean saveUserInfo(Context context,String username,String pwd)
    {
        try
        {
            File file = new File(context.getFilesDir(),"info.txt");
            FileOutputStream fos = new FileOutputStream(file);
            fos.write((username+"##"+pwd).getBytes());
            fos.close();
            return true;
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return false;
        }
        
    }
    
    public static Map<String,String> getUserInfo(Context context)
    {
        try
        {
            File file = new File(context.getFilesDir(),"info.txt");
            FileInputStream fis = new FileInputStream(file);
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));
            String strs = br.readLine();
            String arr[] = strs.split("##");
            Map<String,String> map = new HashMap<String,String>();
            map.put("username", arr[0]);
            map.put("password", arr[1]);
            return map;
            
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return null;
        }
    
    }

}
原文地址:https://www.cnblogs.com/zoro-zero/p/3928254.html