首页 > 系统 > Android > 正文

Android开发之完成登陆界面的数据保存回显操作实例

2020-04-11 11:07:59
字体:
来源:转载
供稿:网友

本文实例讲述了Android开发之完成登陆界面的数据保存回显操作。分享给大家供大家参考,具体如下:

LoginActivity.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();           }         }       }*/     }   } }

FileService.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;   } }

StreamTools.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;   } }

login_activity.xml:

<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:

<?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>

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表