安卓裡簡單的登入註冊
阿新 • • 發佈:2019-01-09
登入註冊是大部分app必用的功能,一般都是寫進資料庫或者sharedpreferences,這些在這裡先不做考究,我這裡寫一些簡單的登入邏輯,所以先將資訊儲存在本地,所以本文的重點便是註冊登入資訊的傳遞是如何實現的。
首先,MainActivity用於顯示主介面的資訊,然後,新增一個登入介面的activity,註冊介面的activity,然後儲存資訊的model類。
先是MainActivity裡的程式碼:
package com.example.myapplication.Activity; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import這裡只是用來顯示介面的UI,所以不作什麼操作,接下來是登入介面:com.example.myapplication.R; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
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; importcom.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,這便是真個專案的原始碼,佈局檔案什麼的我就不上傳了,有興趣的可以自己去下載原始碼檢視。