สร้างมุมมองการเข้าสู่ระบบ/การลงทะเบียนจากกิจกรรมหลัก

ฉันเริ่มคลั่งไคล้ปัญหาของฉันที่นี่

ฉันมีกิจกรรมหลักที่เชื่อมต่อกับเซิร์ฟเวอร์ในเหตุการณ์ onCreate (โปรแกรมจะต้องเชื่อมต่อกับเซิร์ฟเวอร์ ไม่เช่นนั้นโปรแกรมจะไม่ทำงาน)

client_thread = new ServerCom(this);

ตอนนี้ฉันต้องการสร้างมุมมองการเข้าสู่ระบบด้วย (ปุ่มชื่อผู้ใช้ รหัสผ่าน และเข้าสู่ระบบพร้อมการตรวจสอบความถูกต้องของผู้ใช้) และเมื่อมีมุมมองการเข้าสู่ระบบ ก็จะต้องมีมุมมองการลงทะเบียนบางประเภท (ด้วยชื่อผู้ใช้ รหัสผ่าน ยืนยันรหัสผ่าน และปุ่มการลงทะเบียนพร้อมการตรวจสอบความถูกต้องของผู้ใช้)

ฉันได้สร้างกิจกรรมการเข้าสู่ระบบและการลงทะเบียน (สำหรับจัดการข้อมูลบางอย่างด้วยการเข้าสู่ระบบและการลงทะเบียน)

public ClassLogIn(MainActivity owner)
{
    this.owner = owner;
}
public ClassLogIn()
{

}
public void onClick(View view) {
    if(view == btnLogIn)
    {
        if(TextUtils.isEmpty(userName.getText()) == false) {
            if (TextUtils.isEmpty(userPassword.getText()) == false) {

                owner.LogIn(userName.getText(),userPassword.getText());
            }
        ...

เพื่อเริ่มต้นกิจกรรมจาก mainActivity ของฉัน ฉันได้ทำสิ่งนี้แล้ว

else if(id == R.id.action_login){
    Intent myIntent = new Intent(MainActivity.this, ClassLogIn.class);
    startActivity(myIntent);
}
else if(id == R.id.action_registera){
    Intent myIntent = new Intent(MainActivity.this, ClassRegistera.class);
    startActivity(myIntent);
}
else if(id == R.id.action_Logout)
{
    client_thread.LogOut();
}

ตอนนี้ปัญหาของฉันคือฉันจะรับค่าชื่อผู้ใช้ไปยัง client_thread ของฉันได้อย่างไร และฉันจะโทรหา Owner.LogIn จากกิจกรรม ClassLogIn ของฉันได้อย่างไร

public boolean LogIn(Editable UserName, Editable Password)
{
    return client_thread.LogIn(UserName.toString(),Password.toString());
}

หรือฉันกำลังพยายามสร้างสิ่งที่เป็นไปไม่ได้ใน Android?


person Woothz    schedule 13.07.2015    source แหล่งที่มา


คำตอบ (2)


จากด้านบนของหัวของฉันตั้งค่า IntentServies บางอย่างเพื่อจับเจตนาและสร้างตัวแปรของคุณ

และตัวแปรคงที่ไม่ใช่ตัวเลือก ?

(จะเพิ่มความคิดเห็นแต่มีตัวแทนไม่เพียงพอ)

person TheLibrarian    schedule 13.07.2015

รหัสเฉพาะที่ต้องทำต่อไปนี้อาจแตกต่างกันไปขึ้นอยู่กับข้อมูลเฉพาะของคุณ

แต่โดยทั่วไป ขั้นตอนที่เราทำมีดังต่อไปนี้:
หมายเหตุ - เราใช้ WorkingStorage API เพื่อบันทึกพารามิเตอร์ลงใน HHU (Hand Held Unit) โดยตรง

  • เมื่อเราเปิดตัวครั้งแรก เราจะพยายามดึงข้อมูลรับรองการเข้าสู่ระบบจากภายใน HHU ซึ่งรวมถึงรหัสการอนุญาต
  • หากมีอยู่ เราจะใช้ ID การอนุญาตสำหรับการเรียก WebService ตามมาตามความจำเป็นตลอดทั้งกิจกรรม
  • หากไม่มี เราจะเปิด 'หน้าจอ' การป้อนข้อมูลผู้ใช้ และรับการป้อนชื่อผู้ใช้และรหัสผ่าน
  • จากนั้นเราจะส่งข้อมูลนั้นไปยังเซิร์ฟเวอร์ผ่านการเรียก WebService เพื่อตรวจสอบความถูกต้อง
  • WebService ตอบสนองต่อ HHU ด้วยผลลัพธ์
  • ผลลัพธ์ดังกล่าวอาจเป็น ID การอนุญาตที่ถูกต้องหรือข้อความแสดงข้อผิดพลาด (เช่น 'ไม่ถูกต้อง' ฯลฯ )
  • หากเป็น ID การอนุญาตที่ถูกต้อง ข้อมูลรับรองการเข้าสู่ระบบทั้งหมดจะถูกบันทึกลงใน HHU ด้วย WorkingStorage API จากนั้นจะพร้อมใช้งานสำหรับการเรียก WebService ครั้งต่อไป
person Dhugalmac    schedule 13.07.2015