Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะใช้กล่องโต้ตอบซิงเกิลตันใน Android ได้อย่างไร?


ก่อนจะยกตัวอย่าง เราควรรู้ว่ารูปแบบการออกแบบซิงเกิลตันคืออะไร ซิงเกิลตันคือรูปแบบการออกแบบที่จำกัดการสร้างอินสแตนซ์ของคลาสไว้เพียงอินสแตนซ์เดียวเท่านั้น การใช้งานที่โดดเด่น ได้แก่ การควบคุมการทำงานพร้อมกันและการสร้างจุดศูนย์กลางในการเข้าถึงสำหรับแอปพลิเคชันเพื่อเข้าถึงที่เก็บข้อมูล

ตัวอย่างนี้สาธิตวิธีใช้กล่องโต้ตอบซิงเกิลตันใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

 <ปุ่ม android:id ="@+id /start" android:text ="เริ่มกล่องโต้ตอบใน singleTone" android:layout_width ="wrap_content" android:layout_height ="wrap_content" /> <ปุ่ม android:id ="@+id/end" android:text ="สิ้นสุดกล่องโต้ตอบ singleTone " android:layout_width ="wrap_content" android:layout_height ="wrap_content" />

ในโค้ดด้านบนนี้ เราได้ใช้ปุ่มสองปุ่ม เมื่อผู้ใช้คลิกที่ปุ่มเริ่มต้น จะแสดงกล่องโต้ตอบความคืบหน้า และปุ่มสิ้นสุดจะใช้เพื่อปิดกล่องโต้ตอบความคืบหน้า

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

แพ็คเกจ com.example.andy.myapplication;นำเข้า android.os.Bundle;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.view.View;นำเข้า android.widget.Button;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { ปุ่มเริ่ม; singleTonExample singletoneตัวอย่าง; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); start =findViewById(R.id.start); singletonexample =singleTonExample.getInstance (); findViewById (R.id.end).setOnClickListener ( View.OnClickListener ใหม่ () { @Override สาธารณะโมฆะ onClick (ดู v) { singletonexample.dismiss (); } }); start.setOnClickListener (View.OnClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดู v) { singletonexample.show (MainActivity.this); } }); }}

ในโค้ดด้านบนนี้ เราได้ใช้ singleTonExample เป็นคลาส singleton ดังนั้นให้สร้างการโทรเป็น singleTonExample.java แล้วเพิ่มโค้ดต่อไปนี้ -

แพ็คเกจ com.example.andy.myapplication;import android.app.Dialog;import android.content.Context;import android.view.Window คลาสสาธารณะ singleTonExample { ไดอะล็อกไดอะล็อกส่วนตัว; singleTonExample ส่วนตัวสุดท้าย singleTonExample ourInstance =new singleTonExample(); singleTonExample สาธารณะแบบคงที่ getInstance () { ส่งคืนอินสแตนซ์ของเรา; } singleTonExample ส่วนตัว () { } การแสดงโมฆะสาธารณะ (บริบทบริบท) { if (dialog !=null &&dialog.isShowing ()) { return; } กล่องโต้ตอบ =กล่องโต้ตอบใหม่ (บริบท); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.layout_progress_dialog); dialog.setCancelable(จริง); ไดอะล็อก.show(); } การยกเลิกโมฆะสาธารณะ () { if (dialog !=null &&dialog.isShowing()) { dialog.dismiss(); } }}

ในโค้ดด้านบน เราได้เพิ่มมุมมองเนื้อหาสำหรับกล่องโต้ตอบ ดังนั้นให้สร้างเลย์เอาต์เป็น layut_progress_dialog.xml ในโฟลเดอร์ res และเพิ่มเนื้อหาต่อไปนี้ –

  

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ –

จะใช้กล่องโต้ตอบซิงเกิลตันใน Android ได้อย่างไร?

ตอนนี้คลิกแสดงไดอะล็อกในซิงเกิล มันจะแสดงไดอะล็อกจากคลาสซิงเกิลตันดังที่แสดงด้านล่าง –

จะใช้กล่องโต้ตอบซิงเกิลตันใน Android ได้อย่างไร?