您好,登錄后才能下訂單哦!
本篇內容介紹了“如何用android實現簡易登錄注冊界面及邏輯設計”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
本文實例為大家分享了android實現登錄注冊界面及邏輯設計,供大家參考,具體內容如下
1. 第一步 新建文件(相信各位碼農一定會這一步)略。
2. 第二步 登錄注冊界面設計
登錄界面主要包括幾大控件,如登錄、注冊按鈕,賬號(Button)、密碼輸入框(Editext)、復選框等。可以利用shape參數對控件進行美化。界面設計可以線性布局嵌套使用,這樣可以很好的對控件調整,美化界面。
注冊界面主要包括EdiText、Radio button、button、checkbox等,與登錄界面相同,可以利用shape參數改變編輯框的顏色和邊角,使得界面簡潔而美化。
效果如下:
3. 第三步 注冊界面邏輯設計
注冊界面的邏輯功能為將注冊的信息返回給登錄界面(以及存入數據庫),邏輯設計如下:
public class RegisterActivity extends AppCompatActivity { private String sex, infor; @Override protected void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main2); /*獲取控件的id*/ RadioGroup gender = (RadioGroup) findViewById(R.id.group); final RadioButton male = (RadioButton) findViewById(R.id.radioButton); final RadioButton female = (RadioButton) findViewById(R.id.radioButton2); final Spinner spinner = (Spinner) findViewById(R.id.spinner); final CheckBox c1 = (CheckBox) findViewById(R.id.checkBox); final CheckBox c2 = (CheckBox) findViewById(R.id.checkBox2); final CheckBox c3 = (CheckBox) findViewById(R.id.checkBox3); final CheckBox c4 = (CheckBox) findViewById(R.id.checkBox4); Button button1 = (Button) findViewById(R.id.but); /*獲取checkbox里勾選的性別*/ gender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (checkedId == male.getId()) { sex = male.getText().toString(); } else { sex = female.getText().toString(); } } }); /*設置注冊按鈕的事件監聽器,實現從注冊界面到登錄界面的跳轉*/ Button buttton1 = (Button) findViewById(R.id.but); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { /*將checkbox里的選中的值賦給hobby*/ String hobby = " "; if (c1.isChecked()) { hobby += c1.getText().toString(); } if (c2.isChecked()) { hobby += c2.getText().toString(); } if (c3.isChecked()) { hobby += c3.getText().toString(); } if (c4.isChecked()) { hobby += c4.getText().toString(); } /*將Spinner里的值賦給spin,將所有的信息法如infor中*/ String spin = spinner.getSelectedItem().toString(); String site1 = ((EditText) findViewById(R.id.username1)).getText().toString(); String site2 = ((EditText) findViewById(R.id.password1)).getText().toString(); String site3 = ((EditText) findViewById(R.id.password2)).getText().toString(); infor = "用戶:" + site1 + "\n性別:" + sex + "\n學歷:" + spin + "\n愛好:" + hobby; /*判斷編輯框內容是否為空*/ if (!"".equals(site1) && !"".equals(site2) && !"".equals(site3)) { Toast.makeText(Main2Activity.this, infor, Toast.LENGTH_LONG).show(); if (site2.equals(site3)) { Intent intent = new Intent(RegisterActivity.this, MainActivity.class); /*將注冊的信息打包,通過intent傳給登錄程序*/ Bundle bundle = new Bundle(); bundle.putCharSequence("site1", site1); bundle.putCharSequence("site2", site2); bundle.putCharSequence("site3", site3); bundle.putCharSequence("infor", infor); intent.putExtras(bundle); setResult(0x11, intent); finish(); } else { Toast.makeText(Main2Activity.this, "請確認密碼一致", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(Main2Activity.this, "請將信息填寫完整", Toast.LENGTH_SHORT).show(); } } }); } }
4. 第四步 登錄界面邏輯設計
登錄面的邏輯功能主要是獲取注冊界面返回的信息并填入編輯框,和將賬號密碼進行匹配,實現登錄功能;
public class MainActivity extends AppCompatActivity { /*將注冊界面返回的賬號密碼填入編輯框*/ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 0x11 && resultCode == 0x11) { Bundle bundle = data.getExtras(); String username = bundle.getString("site1"); String password = bundle.getString("site2"); String information=bundle.getString("infor"); EditText et_username = (EditText) findViewById(R.id.username); EditText et_password = (EditText) findViewById(R.id.password); et_username.setText(username); et_password.setText(password); } } @Override protected void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); Button login = (Button) findViewById(R.id.login); final EditText ET_username = (EditText) findViewById(R.id.username); final EditText ET_password = (EditText) findViewById(R.id.password); Button btn = (Button) findViewById(R.id.btn); /*給登錄按鈕設置單擊事件監聽器*/ login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String inusername = ET_username.getText().toString(); String inpassword = ET_password.getText().toString(); if (inusername != null && inpassword != null) { if (inusername.equals("admin") && inpassword.equals("admin")){ Intent intent = new Intent(MainActivity.this, SuccessActivity.class); startActivity(intent); } else { new AlertDialog.Builder(MainActivity.this).setTitle("登陸信息有誤").setMessage("請輸入正確的賬戶名與密碼") .setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { } }).show(); } } else { Toast.makeText(MainActivity.this, "請輸入用戶名和密碼", Toast.LENGTH_SHORT).show(); } } }); /*為注冊按鈕設置單機事件監聽器*/ btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this, RegisterActivity.class); startActivityForResult(intent, 0x11); } }); } }
*5. 第五步 完善工作
具體的簡易登錄注冊邏輯代碼完成,接下來就可以為其設計啟動界面和登錄成功界面,注意:Activity組件需要在Mainfest文件里注冊。
“如何用android實現簡易登錄注冊界面及邏輯設計”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。