Android
Users
การใช้งาน Parse Server สำหรับการลงทะเบียนและเข้าสู่ระบบแอพ Android
17 นาที
บทเรียนการเข้าสู่ระบบและการลงทะเบียนผู้ใช้ บทนำ ในส่วนนี้เราจะมาดูวิธีการสร้างแอปด้วยการลงทะเบียนผู้ใช้ที่ง่ายโดยใช้ https //www back4app com/product/parse server ผ่าน back4app บทเรียนนี้ใช้แอปพื้นฐานที่สร้างขึ้นใน android studio 4 1 1 โดยมี buildtoolsversion=30 0 2 buildtoolsversion=30 0 2 , compile sdk version = 30 0 2 compile sdk version = 30 0 2 และ targetsdkversion 30 targetsdkversion 30 ในทุกช่วงเวลา คุณสามารถเข้าถึงโปรเจกต์ android ที่สร้างขึ้นด้วยบทเรียนนี้ได้ที่ที่เก็บ github ของเรา https //github com/templates back4app/android parse sdk kotlin https //github com/templates back4app/android parse sdk java เป้าหมาย เราจะเรียนรู้วิธีการเข้าสู่ระบบและลงทะเบียนโดยใช้ parse นี่คือภาพรวมของสิ่งที่เราจะทำให้สำเร็จ ข้อกำหนดเบื้องต้น ในการทำตามบทเรียนนี้ เราต้องการ https //developer android com/studio/index html แอปที่สร้างขึ้นบน back4app หมายเหตุ ติดตาม https //www back4app com/docs/get started/new parse app เพื่อเรียนรู้วิธีการสร้าง parse app บน back4app แอป android ที่เชื่อมต่อกับ back4app หมายเหตุ ติดตาม https //www back4app com/docs/android/parse android sdk เพื่อสร้างโปรเจกต์ android studio ที่เชื่อมต่อกับ back4app อุปกรณ์ (หรือ https //developer android com/studio/run/managing avds html ) ที่รัน android 4 1 (jelly bean) หรือใหม่กว่า 1 นำเข้าห้องสมุด ในขั้นตอนนี้เราจะนำเข้าห้องสมุดที่เราจะใช้ในโปรเจกต์ของเรา เราจะเพิ่มคลาส parse ต่อไปนี้ในกิจกรรมของเรา 1 import com parse parse ; 2 import com parse parseexception ; 3 import com parse parseuser ; 2\ เราจะใช้ฟังก์ชัน lambda บ่อยในโปรเจกต์ของเรา เพราะฉะนั้นเราจำเป็นต้องเพิ่ม java 1 8 ลงในโปรเจกต์ของเราผ่าน build gradle(module\ app) 1 compileoptions { 2 sourcecompatibility javaversion version 1 8 3 targetcompatibility javaversion version 1 8 4 } 2 ลงทะเบียน การลงทะเบียนจะสร้างวัตถุ parse user ใหม่ในคลาสผู้ใช้ ซึ่งแสดงเป็น “ผู้ใช้” ในแอปของคุณ แดชบอร์ด แดชบอร์ด เราจำเป็นต้องตั้งค่าคุณสมบัติอย่างน้อยสองอย่างเมื่อสร้างผู้ใช้ใหม่ => parseuser setusername() parseuser setusername() และ parseuser setpassword() parseuser setpassword() วิธีการที่ใช้ในการบันทึกผู้ใช้ใหม่บน android คือ parseuser signupinbackground() parseuser signupinbackground() , ซึ่งอาจมาพร้อมกับฟังก์ชัน callback หมายเหตุ วัตถุของคลาสพิเศษนี้จะไม่ถูกบันทึกใน แดชบอร์ด แดชบอร์ด ด้วย parseobject save() parseobject save() วิธีการ เพื่อทำให้ signupactivity signupactivity ทำงาน ให้ทำตามขั้นตอนเหล่านี้ นำเข้า 1 นำเข้า com parse signupcallback ; ไปยัง signupactivity signupactivity , นอกเหนือจากการนำเข้าขึ้นอยู่ใน ขั้นตอนที่ 1 2\ เพื่อดำเนินการลงทะเบียนผู้ใช้ ให้ใช้โค้ดต่อไปนี้ใน oncreate() oncreate() เมธอด 1 parseuser user = new parseuser(); 2 // set the user's username and password, which can be obtained by a forms 3 user setusername( "\<your username here>"); 4 user setpassword( "\<your password here>"); 5 user signupinbackground(new signupcallback() { 6 @override 7 public void done(parseexception e) { 8 if (e == null) { 9 showalert("successful sign up!", "welcome" + "\<your username here>" +"!"); 10 } else { 11 parseuser logout(); 12 toast maketext(signupactivity this, e getmessage(), toast length long) show(); 13 } 14 } 15 });1 val user = parseuser(); 2 // set the user's username and password, which can be obtained by a forms 3 user setusername("\<your username here>"); 4 user setpassword("\<your password here>"); 5 user signupinbackground(signupcallback() { 6 if (it == null) { 7 showalert("successful sign up!", "welcome" + "\<your username here>" + "!"); 8 } else { 9 parseuser logout(); 10 toast maketext(this, it message, toast length long) show(); 11 } 12 }); ในโปรเจกต์ตัวอย่าง โค้ดนี้ถูกวางไว้ภายใน ลงทะเบียน ลงทะเบียน ปุ่ม callback นอกจากนี้ ชื่อผู้ใช้และรหัสผ่านจะถูกจับโดยใช้ แก้ไขข้อความ 3\ น่าสนใจที่จะเพิ่มวิธีการเพิ่มเติมเพื่อแสดง alert dialogs และทำให้กระบวนการดูเป็นมืออาชีพมากขึ้น วิธีการด้านล่างทำเช่นนี้ 1 private void showalert(string title,string message){ 2 alertdialog builder builder = new alertdialog builder(signupactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", new dialoginterface onclicklistener() { 6 @override 7 public void onclick(dialoginterface dialog, int which) { 8 dialog cancel(); 9 // don't forget to change the line below with the names of your activities 10 intent intent = new intent(signupactivity this, logoutactivity class); 11 intent addflags(intent flag activity clear task | intent flag activity new task); 12 startactivity(intent); 13 } 14 }); 15 alertdialog ok = builder create(); 16 ok show(); 17 }1 private fun showalert(title string, message string) { 2 val builder = alertdialog builder(this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok") { dialog, which > 6 dialog cancel() 7 // don't forget to change the line below with the names of your activities 8 val intent = intent(this, logoutactivity class java) 9 intent addflags(intent flag activity clear task or intent flag activity new task) 10 startactivity(intent) 11 } 12 val ok = builder create() 13 ok show() 14 } 3 เข้าสู่ระบบ การเข้าสู่ระบบจะสร้างวัตถุ session ซึ่งชี้ไปที่ผู้ใช้ที่เข้าสู่ระบบ หากการเข้าสู่ระบบสำเร็จ parseuser getcurrentuser() parseuser getcurrentuser() จะคืนค่าวัตถุผู้ใช้ และวัตถุ session ที่สร้างขึ้นใน แดชบอร์ด แดชบอร์ด มิฉะนั้น หากชื่อผู้ใช้เป้าหมายไม่มีอยู่ หรือรหัสผ่านไม่ถูกต้อง จะคืนค่า null วิธีการที่ใช้ในการดำเนินการเข้าสู่ระบบคือ parseuser logininbackground() parseuser logininbackground() , ซึ่งต้องการอาร์กิวเมนต์เท่ากับจำนวนสตริงของชื่อผู้ใช้และรหัสผ่าน และอาจเรียกฟังก์ชัน callback หมายเหตุ หลังจากลงทะเบียน การเข้าสู่ระบบจะดำเนินการโดยอัตโนมัติ เพื่อให้ loginactivity loginactivity ทำงาน ให้ทำตามขั้นตอนเหล่านี้ นำเข้าไปใน loginactivity loginactivity , นอกเหนือจากการนำเข้าขึ้นอยู่ใน ขั้นตอนที่ 1 1 import com parse logincallback ; 2\ เพื่อดำเนินการฟังก์ชันการเข้าสู่ระบบของผู้ใช้ ให้ใช้โค้ดนี้ 1 private void login(string username, string password) { 2 progressdialog show(); 3 parseuser logininbackground(username, password, (parseuser, e) > { 4 progressdialog dismiss(); 5 if (parseuser != null) { 6 showalert("successful login", "welcome back " + username + " !"); 7 } else { 8 parseuser logout(); 9 toast maketext(loginactivity this, e getmessage(), toast length long) show(); 10 } 11 }); 12 }1 fun login(username string, password string) { 2 progressdialog? show() 3 parseuser logininbackground(username,password) { parseuser parseuser?, parseexception parseexception? > 4 progressdialog? dismiss() 5 if (parseuser != null) { 6 showalert("successful login", "welcome back " + username + " !") 7 } else { 8 parseuser logout() 9 if (parseexception != null) { 10 toast maketext(this, parseexception message, toast length long) show() 11 } 12 } 13 } 14 } ในโปรเจกต์ตัวอย่าง โค้ดนี้ถูกวางไว้ภายใน log in log in การเรียกกลับของปุ่ม นอกจากนี้ ชื่อผู้ใช้และรหัสผ่านจะถูกจับโดยใช้ edit texts วิธีการ showalert showalert เป็นวิธีเดียวกับที่คุณเพิ่มใน signupactivity signupactivity , อย่าลืมเปลี่ยน intent intent ของมันด้วย 4 ออกจากระบบ การออกจากระบบจะลบวัตถุ session ที่ใช้งานอยู่สำหรับผู้ใช้ที่ล็อกอินอยู่ วิธีที่ใช้ในการออกจากระบบคือ parseuser logoutinbackground() parseuser logoutinbackground() ในการดำเนินการออกจากระบบผู้ใช้ เพียงแค่ใช้โค้ดด้านล่างใน logoutactivity logoutactivity 1 parseuser logoutinbackground(e > { 2 progressdialog dismiss(); 3 if (e == null) 4 showalert("so, you're going ", "ok bye bye then"); 5 });1 fun login(username string, password string) { 2 progressdialog? show() 3 parseuser logininbackground(username,password) { parseuser parseuser?, parseexception parseexception? > 4 progressdialog? dismiss() 5 if (parseuser != null) { 6 showalert("successful login", "welcome back " + username + " !") 7 } else { 8 parseuser logout() 9 if (parseexception != null) { 10 toast maketext(this, parseexception message, toast length long) show() 11 } 12 } 13 } 14 } ในโปรเจกต์ตัวอย่าง โค้ดนี้ถูกวางไว้ภายใน ปุ่มออกจากระบบ ปุ่มออกจากระบบ callback วิธีการ showalert showalert เป็นวิธีเดียวกับที่คุณเพิ่มใน loginactivity loginactivity และ signupactivity signupactivity , อย่าลืมเปลี่ยน intent intent ของมันด้วย 5 ทดสอบแอปของคุณ เรียกใช้งานแอปของคุณและสร้างผู้ใช้สองสามคน ลองเข้าสู่ระบบอีกครั้งหลังจากลงทะเบียนพวกเขา เข้าสู่ระบบที่ https //www back4app com/ ค้นหาแอปของคุณและคลิกที่ แดชบอร์ด แดชบอร์ด > หลัก หลัก > เบราว์เซอร์ เบราว์เซอร์ > ผู้ใช้ ผู้ใช้ ในจุดนี้ คุณควรเห็นผู้ใช้ของคุณตามที่แสดงด้านล่าง หมายเหตุ โดยใช้รหัสที่แสดงข้างต้น ทุกครั้งที่คุณเข้าสู่ระบบด้วยผู้ใช้ จะมี เซสชัน เซสชัน เปิดใน แดชบอร์ด แดชบอร์ด , แต่เมื่อผู้ใช้ออกจากระบบ เซสชัน เซสชัน นั้นจะสิ้นสุดลง นอกจากนี้ ทุกครั้งที่มีการเข้าสู่ระบบหรือการลงทะเบียนที่ไม่สำเร็จ เซสชัน เซสชัน ที่เปิดใน parse server แดชบอร์ด แดชบอร์ด จะถูกลบ เสร็จสิ้น! ยินดีด้วย! ตอนนี้คุณสามารถเข้าสู่ระบบ ลงทะเบียน หรือออกจากแอปของคุณโดยใช้ฟีเจอร์หลักของ parse server ผ่าน back4app!