1. 程式人生 > >安卓裡簡單的登入註冊

安卓裡簡單的登入註冊

     登入註冊是大部分app必用的功能,一般都是寫進資料庫或者sharedpreferences,這些在這裡先不做考究,我這裡寫一些簡單的登入邏輯,所以先將資訊儲存在本地,所以本文的重點便是註冊登入資訊的傳遞是如何實現的。

     首先,MainActivity用於顯示主介面的資訊,然後,新增一個登入介面的activity,註冊介面的activity,然後儲存資訊的model類。

    先是MainActivity裡的程式碼:

package com.example.myapplication.Activity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import 
com.example.myapplication.R; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
這裡只是用來顯示介面的UI,所以不作什麼操作,接下來是登入介面:
package com.example.myapplication.Activity;

import 
android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.example.myapplication.Model.Name; import
com.example.myapplication.Model.NameList; import com.example.myapplication.R; import java.util.ArrayList; /** * Created by gc on 2016/9/8. */ public class UserActivity extends Activity implements View.OnClickListener { private EditText Ed_user; private EditText Ed_password; private Button button; private TextView textView; private Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user); context=UserActivity.this; init(); } public void init() { Ed_user = (EditText) findViewById(R.id.Ed_user); Ed_user.setOnClickListener(this); Ed_password = (EditText) findViewById(R.id.Ed_password); Ed_password.setOnClickListener(this); button = (Button) findViewById(R.id.BT_user); button.setOnClickListener(this); textView = (TextView) findViewById(R.id.TV_register); textView.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.BT_user: ArrayList<Name> arrayList = NameList.run(); if (Ed_user.getText().toString().length() != 0) { for (int i = 0; i < arrayList.size(); i++) { if (Ed_user.getText().toString().equals(arrayList.get(i).getUser())) { if (Ed_password.getText().toString().equals(arrayList.get(i).getPassWord())) { Toast.makeText(context, "登入成功!", Toast.LENGTH_LONG).show(); startActivity(new Intent(context, MainActivity.class)); } else { Toast.makeText(context, "密碼不正確!", Toast.LENGTH_LONG).show(); } } else { Toast.makeText(context, "使用者名稱不存在!", Toast.LENGTH_LONG).show(); } } } else { Toast.makeText(context, "使用者名稱不能為空", Toast.LENGTH_LONG).show(); } break; case R.id.TV_register: startActivity(new Intent(context,RegisterActivity.class)); break; default: break; } } }
再接下來是註冊介面:
package com.example.myapplication.Activity;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.myapplication.Model.Name;
import com.example.myapplication.Model.NameList;
import com.example.myapplication.R;

import java.util.ArrayList;

/**
 * Created by gc on 2016/9/8.
 */
public class RegisterActivity extends Activity implements View.OnClickListener {
    private EditText ZC_user;
    private EditText ZC_password;
    private EditText NT_password;
    private Button button;
    private Context context;

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        context = RegisterActivity.this;
        init();
    }

    public void init() {
        ZC_user = (EditText) findViewById(R.id.ZC_user);
        ZC_user.setOnClickListener(this);
        ZC_password = (EditText) findViewById(R.id.ZC_password);
        ZC_password.setOnClickListener(this);
        NT_password=(EditText)findViewById(R.id.NT_password);
        NT_password.setOnClickListener(this);
        button = (Button) findViewById(R.id.ZC_register);
        button.setOnClickListener(this);
    }

    @Override
public void onClick(View view) {
        switch (view.getId()) {
            case R.id.ZC_register:
                if(ZC_user.getText().toString().length()!=0){
                    if(ZC_password.getText().toString().length()>5){
                        if(ZC_password.getText().toString().equals(NT_password.getText().toString())){
                            Name name=new Name();
                            ArrayList<Name> arrayList= NameList.run();
                            name.setUser(ZC_user.getText().toString());
                            name.setPassWord(ZC_password.getText().toString());
                            arrayList.add(name);
                            Toast.makeText(context,"註冊成功!",Toast.LENGTH_LONG).show();
                            startActivity(new Intent(context,UserActivity.class));
                            finish();
                        }else{
                            Toast.makeText(context,"兩次輸入的密碼不一致",Toast.LENGTH_LONG).show();
                        }
                    }else{
                        Toast.makeText(context,"密碼至少是6位",Toast.LENGTH_LONG).show();
                    }
                }else{
                    Toast.makeText(context,"使用者名稱不能為空",Toast.LENGTH_LONG).show();
                }
                break;
        }
    }
}
還有一個model類用來存放資訊,這裡我要提一下,一般的話存在本地的資料是非常佔記憶體的,所以能寫入sqltie裡面儘量寫入資料庫裡,不然寫入檔案裡也是可以的:
package com.example.myapplication.Model;

/**
 * Created by Administrator on 2016/9/8.
 */
public class Name {
    public String user;
    public String passWord;

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }
}

package com.example.myapplication.Model;

import java.util.ArrayList;

/**
 * Created by Administrator on 2016/9/8.
 */
public class NameList extends Name {
    static ArrayList<Name> arrayList = new ArrayList<>();

    public static ArrayList<Name> run() {
        return arrayList;
    }
}
ok,這便是真個專案的原始碼,佈局檔案什麼的我就不上傳了,有興趣的可以自己去下載原始碼檢視。