Android入门之login设计

效果图:

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>


 

 

你可能感兴趣的:(android)