Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發(6)--完成登陸界面的數據保存回顯的操作

Android開發(6)--完成登陸界面的數據保存回顯的操作

編輯:關於Android編程

LoginActivity.java

[java]
package com.example.login;

import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.example.login.service.FileService;

public class LoginActivityextends Activity {

public EditText edit_name,edit_pass;
public Button btn_login;
public CheckBox box_remeber;

public FileService fileService;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
fileService=new FileService(this);

edit_name=(EditText) findViewById(R.id.edit_name);
edit_pass=(EditText) findViewById(R.id.edit_pass);
btn_login=(Button) findViewById(R.id.btn_login);
box_remeber=(CheckBox) findViewById(R.id.cbx_remember);

btn_login.setOnClickListener(new MyOnClickListener());

Map<String, String> map=fileService.readFile("private.txt");
if(map!=null){
edit_name.setText(map.get("name"));
edit_pass.setText(map.get("pass"));
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.login, menu);
return true;
}

class MyOnClickListenerimplements View.OnClickListener{

@Override
public void onClick(View v) {
int id=v.getId();
switch (id) {
case R.id.btn_login:
String name=edit_name.getText().toString();
String pass=edit_pass.getText().toString();
if(TextUtils.isEmpty(name)){
Toast.makeText(LoginActivity.this,"用戶名不能為空", Toast.LENGTH_SHORT).show();
return;
}else if(TextUtils.isEmpty(pass)){
Toast.makeText(LoginActivity.this,"密碼不能為空", Toast.LENGTH_SHORT).show();
return;
}else{
if(box_remeber.isChecked()){
LoginActivity.this.fileService.saveToRom(name, pass,"private.txt");
Toast.makeText(LoginActivity.this,"用戶名和密碼已保存", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(LoginActivity.this,"用戶名和密碼不需要保存", Toast.LENGTH_SHORT).show();
}
}
break;

default:
break;
}


/*if(id==btn_login.getId()){
String name=edit_name.getText().toString();
String pass=edit_pass.getText().toString();
if(TextUtils.isEmpty(name)){
Toast.makeText(LoginActivity.this, "用戶名不能為空", Toast.LENGTH_SHORT).show();
return;
}else if(TextUtils.isEmpty(pass)){
Toast.makeText(LoginActivity.this, "密碼不能為空", Toast.LENGTH_SHORT).show();
return;
}else{
if(box_remeber.isChecked()){
LoginActivity.this.fileService.saveToRom(name, pass, "private.txt");
Toast.makeText(LoginActivity.this, "用戶名和密碼已保存", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(LoginActivity.this, "用戶名和密碼不需要保存", Toast.LENGTH_SHORT).show();
}
}
}*/
}

}
}
[java]
package com.example.login; 
 
import java.util.Map; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.CheckBox; 
import android.widget.EditText; 
import android.widget.Toast; 
 
import com.example.login.service.FileService; 
 
public class LoginActivity extends Activity { 
 
    public EditText edit_name,edit_pass; 
    public Button btn_login; 
    public CheckBox box_remeber; 
     
    public FileService fileService; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_login); 
        fileService=new FileService(this); 
         
        edit_name=(EditText) findViewById(R.id.edit_name); 
        edit_pass=(EditText) findViewById(R.id.edit_pass); 
        btn_login=(Button) findViewById(R.id.btn_login); 
        box_remeber=(CheckBox) findViewById(R.id.cbx_remember); 
         
        btn_login.setOnClickListener(new MyOnClickListener()); 
         
        Map<String, String> map=fileService.readFile("private.txt"); 
        if(map!=null){ 
            edit_name.setText(map.get("name")); 
            edit_pass.setText(map.get("pass")); 
        } 
    } 
 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        // Inflate the menu; this adds items to the action bar if it is present.  
        getMenuInflater().inflate(R.menu.login, menu); 
        return true; 
    } 
 
    class MyOnClickListener implements View.OnClickListener{ 
 
        @Override 
        public void onClick(View v) { 
            int id=v.getId(); 
            switch (id) { 
            case R.id.btn_login: 
                String name=edit_name.getText().toString(); 
                String pass=edit_pass.getText().toString(); 
                if(TextUtils.isEmpty(name)){ 
                    Toast.makeText(LoginActivity.this, "用戶名不能為空", Toast.LENGTH_SHORT).show(); 
                    return; 
                }else if(TextUtils.isEmpty(pass)){ 
                    Toast.makeText(LoginActivity.this, "密碼不能為空", Toast.LENGTH_SHORT).show(); 
                    return; 
                }else{ 
                    if(box_remeber.isChecked()){ 
                        LoginActivity.this.fileService.saveToRom(name, pass, "private.txt"); 
                        Toast.makeText(LoginActivity.this, "用戶名和密碼已保存", Toast.LENGTH_SHORT).show(); 
                    }else{ 
                        Toast.makeText(LoginActivity.this, "用戶名和密碼不需要保存", Toast.LENGTH_SHORT).show(); 
                    } 
                } 
                break; 
 
            default: 
                break; 
            } 
             
             
            /*if(id==btn_login.getId()){
                String name=edit_name.getText().toString();
                String pass=edit_pass.getText().toString();
                if(TextUtils.isEmpty(name)){
                    Toast.makeText(LoginActivity.this, "用戶名不能為空", Toast.LENGTH_SHORT).show();
                    return;
                }else if(TextUtils.isEmpty(pass)){
                    Toast.makeText(LoginActivity.this, "密碼不能為空", Toast.LENGTH_SHORT).show();
                    return;
                }else{
                    if(box_remeber.isChecked()){
                        LoginActivity.this.fileService.saveToRom(name, pass, "private.txt");
                        Toast.makeText(LoginActivity.this, "用戶名和密碼已保存", Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(LoginActivity.this, "用戶名和密碼不需要保存", Toast.LENGTH_SHORT).show();
                    }
                }
            }*/ 
        } 
         
    } 

package com.example.login;

import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.example.login.service.FileService;

public class LoginActivity extends Activity {

 public EditText edit_name,edit_pass;
 public Button btn_login;
 public CheckBox box_remeber;
 
 public FileService fileService;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_login);
  fileService=new FileService(this);
  
  edit_name=(EditText) findViewById(R.id.edit_name);
  edit_pass=(EditText) findViewById(R.id.edit_pass);
  btn_login=(Button) findViewById(R.id.btn_login);
  box_remeber=(CheckBox) findViewById(R.id.cbx_remember);
  
  btn_login.setOnClickListener(new MyOnClickListener());
  
  Map<String, String> map=fileService.readFile("private.txt");
  if(map!=null){
   edit_name.setText(map.get("name"));
   edit_pass.setText(map.get("pass"));
  }
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.login, menu);
  return true;
 }

 class MyOnClickListener implements View.OnClickListener{

  @Override
  public void onClick(View v) {
   int id=v.getId();
   switch (id) {
   case R.id.btn_login:
    String name=edit_name.getText().toString();
    String pass=edit_pass.getText().toString();
    if(TextUtils.isEmpty(name)){
     Toast.makeText(LoginActivity.this, "用戶名不能為空", Toast.LENGTH_SHORT).show();
     return;
    }else if(TextUtils.isEmpty(pass)){
     Toast.makeText(LoginActivity.this, "密碼不能為空", Toast.LENGTH_SHORT).show();
     return;
    }else{
     if(box_remeber.isChecked()){
      LoginActivity.this.fileService.saveToRom(name, pass, "private.txt");
      Toast.makeText(LoginActivity.this, "用戶名和密碼已保存", Toast.LENGTH_SHORT).show();
     }else{
      Toast.makeText(LoginActivity.this, "用戶名和密碼不需要保存", Toast.LENGTH_SHORT).show();
     }
    }
    break;

   default:
    break;
   }
   
   
   /*if(id==btn_login.getId()){
    String name=edit_name.getText().toString();
    String pass=edit_pass.getText().toString();
    if(TextUtils.isEmpty(name)){
     Toast.makeText(LoginActivity.this, "用戶名不能為空", Toast.LENGTH_SHORT).show();
     return;
    }else if(TextUtils.isEmpty(pass)){
     Toast.makeText(LoginActivity.this, "密碼不能為空", Toast.LENGTH_SHORT).show();
     return;
    }else{
     if(box_remeber.isChecked()){
      LoginActivity.this.fileService.saveToRom(name, pass, "private.txt");
      Toast.makeText(LoginActivity.this, "用戶名和密碼已保存", Toast.LENGTH_SHORT).show();
     }else{
      Toast.makeText(LoginActivity.this, "用戶名和密碼不需要保存", Toast.LENGTH_SHORT).show();
     }
    }
   }*/
  }
  
 }
}

FileService.java


[java]
?package com.example.login.service;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Map;

import com.example.login.utils.StreamTools;

import android.content.Context;

public class FileService {

public Context context;

public FileService(Context context) {
this.context = context;
}

public boolean saveToRom(String name,String pass,String fileName){
try{
FileOutputStream fos=context.openFileOutput(fileName, Context.MODE_PRIVATE);
String result=name+":"+pass;
fos.write(result.getBytes());
fos.flush();
fos.close();
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}

public Map<String,String> readFile(String fileName){
Map<String,String> map=null;
try{
FileInputStream fis=context.openFileInput(fileName);
String value=StreamTools.getValue(fis);
String values[]=value.split(":");
if(values.length>0){
map=new HashMap<String, String>();
map.put("name", values[0]);
map.put("pass", values[1]);
}

}catch(Exception e){
e.printStackTrace();
}
return map;
}

}
[java]
package com.example.login.service; 
 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.util.HashMap; 
import java.util.Map; 
 
import com.example.login.utils.StreamTools; 
 
import android.content.Context; 
 
public class FileService { 
 
    public Context context; 
 
    public FileService(Context context) { 
        this.context = context; 
    } 
     
    public boolean saveToRom(String name,String pass,String fileName){ 
        try{ 
            FileOutputStream fos=context.openFileOutput(fileName, Context.MODE_PRIVATE); 
            String result=name+":"+pass; 
            fos.write(result.getBytes()); 
            fos.flush(); 
            fos.close(); 
        }catch(Exception e){ 
            e.printStackTrace(); 
            return false; 
        } 
        return true; 
    } 
     
    public Map<String,String> readFile(String fileName){ 
        Map<String,String> map=null; 
        try{ 
            FileInputStream fis=context.openFileInput(fileName); 
            String value=StreamTools.getValue(fis); 
            String values[]=value.split(":"); 
            if(values.length>0){ 
                map=new HashMap<String, String>(); 
                map.put("name", values[0]); 
                map.put("pass", values[1]); 
            } 
             
        }catch(Exception e){ 
            e.printStackTrace(); 
        } 
        return map; 
    } 
     

package com.example.login.service;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.Map;

import com.example.login.utils.StreamTools;

import android.content.Context;

public class FileService {

 public Context context;

 public FileService(Context context) {
  this.context = context;
 }
 
 public boolean saveToRom(String name,String pass,String fileName){
  try{
   FileOutputStream fos=context.openFileOutput(fileName, Context.MODE_PRIVATE);
   String result=name+":"+pass;
   fos.write(result.getBytes());
   fos.flush();
   fos.close();
  }catch(Exception e){
   e.printStackTrace();
   return false;
  }
  return true;
 }
 
 public Map<String,String> readFile(String fileName){
  Map<String,String> map=null;
  try{
   FileInputStream fis=context.openFileInput(fileName);
   String value=StreamTools.getValue(fis);
   String values[]=value.split(":");
   if(values.length>0){
    map=new HashMap<String, String>();
    map.put("name", values[0]);
    map.put("pass", values[1]);
   }
   
  }catch(Exception e){
   e.printStackTrace();
  }
  return map;
 }
 
}

StreamTools.java

[java]
package com.example.login.utils;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;

public class StreamTools {
public static String getValue(FileInputStream fis)throws Exception{
ByteArrayOutputStream stream=new ByteArrayOutputStream();
byte[] buffer=newbyte[1024];
int length=-1;
while((length=fis.read(buffer))!=-1){
stream.write(buffer,0,length);
}
stream.flush();
stream.close();
String value=stream.toString();
return value;
}
}
[java]
package com.example.login.utils; 
 
import java.io.ByteArrayOutputStream; 
import java.io.FileInputStream; 
 
public class StreamTools { 
    public static String getValue(FileInputStream fis) throws Exception{ 
        ByteArrayOutputStream stream=new ByteArrayOutputStream(); 
        byte[] buffer=new byte[1024]; 
        int length=-1; 
        while((length=fis.read(buffer))!=-1){ 
            stream.write(buffer,0,length); 
        } 
        stream.flush(); 
        stream.close(); 
        String value=stream.toString(); 
        return value; 
    } 

package com.example.login.utils;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;

public class StreamTools {
 public static String getValue(FileInputStream fis) throws Exception{
  ByteArrayOutputStream stream=new ByteArrayOutputStream();
  byte[] buffer=new byte[1024];
  int length=-1;
  while((length=fis.read(buffer))!=-1){
   stream.write(buffer,0,length);
  }
  stream.flush();
  stream.close();
  String value=stream.toString();
  return value;
 }
}

login_activity.xml


[html]
<RelativeLayoutxmlns: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: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=".LoginActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
android:id="@+id/view_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_name"/>

<EditText
android:id="@+id/edit_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPersonName">

<requestFocus/>
</EditText>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
android:id="@+id/view_pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text_pass"/>

<EditText
android:id="@+id/edit_pass"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPassword"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.17"
android:text="@string/text_login"/>

<CheckBox
android:id="@+id/cbx_remember"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:text="@string/text_rember"/>

</LinearLayout>

</LinearLayout>

</RelativeLayout>
[html]
<RelativeLayout 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: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=".LoginActivity" > 
 
    <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentTop="true" 
        android:orientation="vertical" > 
 
        <LinearLayout 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" > 
 
            <TextView 
                android:id="@+id/view_name" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:text="@string/text_name" /> 
 
            <EditText 
                android:id="@+id/edit_name" 
                android:layout_width="0dp" 
                android:layout_height="wrap_content" 
                android:layout_weight="1" 
                android:ems="10"  
                android:inputType="textPersonName"> 
 
                <requestFocus /> 
            </EditText> 
        </LinearLayout> 
 
        <LinearLayout 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" > 
 
            <TextView 
                android:id="@+id/view_pass" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:text="@string/text_pass" /> 
 
            <EditText 
                android:id="@+id/edit_pass" 
                android:layout_width="0dp" 
                android:layout_height="wrap_content" 
                android:layout_weight="1" 
                android:ems="10" 
                android:inputType="textPassword" /> 
        </LinearLayout> 
 
        <LinearLayout 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" > 
 
            <Button 
                android:id="@+id/btn_login" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:layout_weight="0.17" 
                android:text="@string/text_login" /> 
 
            <CheckBox 
                android:id="@+id/cbx_remember" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:layout_marginLeft="80dp" 
                android:text="@string/text_rember" /> 
 
        </LinearLayout> 
 
    </LinearLayout> 
 
</RelativeLayout> 

<RelativeLayout 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: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=".LoginActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/view_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/text_name" />

            <EditText
                android:id="@+id/edit_name"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:inputType="textPersonName">

                <requestFocus />
            </EditText>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/view_pass"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/text_pass" />

            <EditText
                android:id="@+id/edit_pass"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:inputType="textPassword" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/btn_login"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.17"
                android:text="@string/text_login" />

            <CheckBox
                android:id="@+id/cbx_remember"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="80dp"
                android:text="@string/text_rember" />

        </LinearLayout>

    </LinearLayout>

</RelativeLayout>
String.xml


[html]
<?xmlversion="1.0"encoding="utf-8"?>
<resources>

<stringname="app_name">login</string>
<stringname="action_settings">Settings</string>
<stringname="hello_world">Login</string>
<stringname="text_name">用戶名:</string>
<stringname="text_pass">密 碼:</string>
<stringname="text_login">登陸</string>
<stringname="text_rember">記住密碼</string>
</resources>

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved