Android
Users
การใช้งาน Parse Server สำหรับการลงทะเบียนและเข้าสู่ระบบแอพ Android
17 นาที
บทเรียนการเข้าสู่ระบบและการลงทะเบียนผู้ใช้ บทนำ ในส่วนนี้เราจะมาดูวิธีการสร้างแอปด้วยการลงทะเบียนผู้ใช้ที่ง่ายโดยใช้ ฟีเจอร์หลักของ 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 ของเรา ที่เก็บตัวอย่าง kotlin ที่เก็บตัวอย่าง java เป้าหมาย เราจะเรียนรู้วิธีการเข้าสู่ระบบและลงทะเบียนโดยใช้ parse นี่คือภาพรวมของสิ่งที่เราจะทำให้สำเร็จ ข้อกำหนดเบื้องต้น ในการทำตามบทเรียนนี้ เราต้องการ android studio แอปที่สร้างขึ้นบน back4app หมายเหตุ ติดตาม บทเรียนการสร้าง parse app ใหม่ เพื่อเรียนรู้วิธีการสร้าง parse app บน back4app แอป android ที่เชื่อมต่อกับ back4app หมายเหตุ ติดตาม บทเรียนการติดตั้ง parse sdk เพื่อสร้างโปรเจกต์ android studio ที่เชื่อมต่อกับ back4app อุปกรณ์ (หรือ อุปกรณ์เสมือน ) ที่รัน android 4 1 (jelly bean) หรือใหม่กว่า 1 นำเข้าห้องสมุด ในขั้นตอนนี้เราจะนำเข้าห้องสมุดที่เราจะใช้ในโปรเจกต์ของเรา เราจะเพิ่มคลาส parse ต่อไปนี้ในกิจกรรมของเรา 2\ เราจะใช้ฟังก์ชัน lambda บ่อยในโปรเจกต์ของเรา เพราะฉะนั้นเราจำเป็นต้องเพิ่ม java 1 8 ลงในโปรเจกต์ของเราผ่าน build gradle(module\ app) 2 ลงทะเบียน การลงทะเบียนจะสร้างวัตถุ parse user ใหม่ในคลาสผู้ใช้ ซึ่งแสดงเป็น “ผู้ใช้” ในแอปของคุณ แดชบอร์ด แดชบอร์ด เราจำเป็นต้องตั้งค่าคุณสมบัติอย่างน้อยสองอย่างเมื่อสร้างผู้ใช้ใหม่ => parseuser setusername() parseuser setusername() และ parseuser setpassword() parseuser setpassword() วิธีการที่ใช้ในการบันทึกผู้ใช้ใหม่บน android คือ parseuser signupinbackground() parseuser signupinbackground() , ซึ่งอาจมาพร้อมกับฟังก์ชัน callback หมายเหตุ วัตถุของคลาสพิเศษนี้จะไม่ถูกบันทึกใน แดชบอร์ด แดชบอร์ด ด้วย parseobject save() parseobject save() วิธีการ เพื่อทำให้ signupactivity signupactivity ทำงาน ให้ทำตามขั้นตอนเหล่านี้ นำเข้า ไปยัง 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 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 ทดสอบแอปของคุณ เรียกใช้งานแอปของคุณและสร้างผู้ใช้สองสามคน ลองเข้าสู่ระบบอีกครั้งหลังจากลงทะเบียนพวกเขา เข้าสู่ระบบที่ เว็บไซต์ back4app ค้นหาแอปของคุณและคลิกที่ แดชบอร์ด แดชบอร์ด > หลัก หลัก > เบราว์เซอร์ เบราว์เซอร์ > ผู้ใช้ ผู้ใช้ ในจุดนี้ คุณควรเห็นผู้ใช้ของคุณตามที่แสดงด้านล่าง หมายเหตุ โดยใช้รหัสที่แสดงข้างต้น ทุกครั้งที่คุณเข้าสู่ระบบด้วยผู้ใช้ จะมี เซสชัน เซสชัน เปิดใน แดชบอร์ด แดชบอร์ด , แต่เมื่อผู้ใช้ออกจากระบบ เซสชัน เซสชัน นั้นจะสิ้นสุดลง นอกจากนี้ ทุกครั้งที่มีการเข้าสู่ระบบหรือการลงทะเบียนที่ไม่สำเร็จ เซสชัน เซสชัน ที่เปิดใน parse server แดชบอร์ด แดชบอร์ด จะถูกลบ เสร็จสิ้น! ยินดีด้วย! ตอนนี้คุณสามารถเข้าสู่ระบบ ลงทะเบียน หรือออกจากแอปของคุณโดยใช้ฟีเจอร์หลักของ parse server ผ่าน back4app!