zoukankan      html  css  js  c++  java
  • Android入门之login设计

    效果图:


    MainActivity.java

    package jk.quickpay.login;
    
    import jk.quickpay.login.FileService;
    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;
    
    public class MainActivity extends Activity {
    
    	public EditText edit_name, edit_pass;
    	public Button btn_login;
    	public CheckBox box_remeber;
    	public FileService fileService;
    
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		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"));
    		}
    	}
    
    	public boolean onCreateOptionsMenu(Menu menu) {
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    	class MyOnClickListener implements View.OnClickListener {
    
    		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(MainActivity.this, "用户名不能为空",
    							Toast.LENGTH_SHORT).show();
    					return;
    				} else if (TextUtils.isEmpty(pass)) {
    					Toast.makeText(MainActivity.this, "密码不能为空",
    							Toast.LENGTH_SHORT).show();
    					return;
    				} else {
    					if (box_remeber.isChecked()) {
    						MainActivity.this.fileService.saveToRom(name, pass,
    								"private.txt");
    						Toast.makeText(MainActivity.this, "用户名和密码已保存",
    								Toast.LENGTH_SHORT).show();
    					} else {
    						Toast.makeText(MainActivity.this, "用户名和密码不需要保存",
    								Toast.LENGTH_SHORT).show();
    					}
    				}
    				break;
    			default:
    				break;
    			}
    		}
    	}
    }
    


    FileService.java

    package jk.quickpay.login;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.HashMap;
    import java.util.Map;
    
    import jk.quickpay.login.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 jk.quickpay.login;
    
    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;
    	}
    }
    


    activity_main.xml

    <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: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_account"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/account" />
    
                <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/password" />
    
                <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" 
                android:orientation="horizontal">
    
                <Button
                    android:id="@+id/btn_login"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.1"
                    android:text="@string/login" />
                 <Button
                    android:id="@+id/btn_reg"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.1"
                    android:text="@string/register" />
                  <Button
                    android:id="@+id/btn_out"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.1"
                    android:text="@string/quit" />
    
            </LinearLayout>
            
                <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>
    


  • 相关阅读:
    【算法】 冒泡排序
    【算法】 插入排序
    【算法】 斐波那契数列
    【C#】 RBAC 权限框架
    【jQuery】 实用 js
    【jQuery】 Ajax
    【jQuery】 常用函数
    【jQuery】 资料
    【jQuery】 效果
    Linaro/Yocto/Openwrt
  • 原文地址:https://www.cnblogs.com/pangblog/p/3301718.html
Copyright © 2011-2022 走看看