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>
    


  • 相关阅读:
    Key-Value Memory Network
    Deep Mask Memory Network with Semantic Dependency and Context Moment for Aspect Level Sentiment Clas
    Deep Memory Network在Aspect Based Sentiment方向上的应用
    Deep Memory Network 深度记忆网络
    Self Attention 自注意力机制
    Attention基本公式及其变种
    *端策略优化算法(PPO)
    Policy Gradient 算法
    一本通 农场派对
    A
  • 原文地址:https://www.cnblogs.com/pangblog/p/3301718.html
Copyright © 2011-2022 走看看