ใครช่วยยกตัวอย่างที่ใช้onResume()
ใน Android ให้หน่อยได้ไหม
นอกจากนี้หากฉันต้องการเริ่มกิจกรรมใหม่เมื่อสิ้นสุดการเรียกใช้งานอื่นจะดำเนินการด้วยวิธีใด - onCreate()
หรือonResume()
?
และถ้าต้องการอัปเดตข้อมูลจะใส่อย่างไร onResume()?
ใครช่วยยกตัวอย่างที่ใช้onResume()
ใน Android ให้หน่อยได้ไหม
นอกจากนี้หากฉันต้องการเริ่มกิจกรรมใหม่เมื่อสิ้นสุดการเรียกใช้งานอื่นจะดำเนินการด้วยวิธีใด - onCreate()
หรือonResume()
?
และถ้าต้องการอัปเดตข้อมูลจะใส่อย่างไร onResume()?
คำตอบ:
กิจกรรมใด ๆ ที่รีสตาร์ทมีวิธีการonResume () ที่ดำเนินการก่อน
หากต้องการใช้วิธีนี้ให้ทำสิ่งนี้:
@Override
public void onResume(){
super.onResume();
// put your code here...
}
OnCreate()
การเริ่มต้นใหม่ของแอปจะเรียก
อย่างต่อเนื่อง app OnResume()
เมื่อมันถูกหยุดชั่วคราวจะเรียก จากเอกสารอย่างเป็นทางการที่https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycleนี่คือแผนภาพของวงจรชีวิตของกิจกรรม
วิธีที่ดีที่สุดในการทำความเข้าใจคือการลบล้างเมธอด LifeCycle ทั้งหมดในกิจกรรมของคุณและวางเบรกพอยต์ (หากตรวจสอบในโปรแกรมจำลอง) หรือ Log in แต่ละวิธี คุณจะได้รู้ว่าคนไหนถูกเรียกเมื่อไหร่
เช่นเดียวกับสปอยเลอร์onCreate()
จะถูกเรียกก่อนจากนั้นหากคุณหยุดกิจกรรมชั่วคราวโดยไปที่หน้าจอหลักหรือเปิดกิจกรรมอื่นonPause()
จะถูกเรียก หากระบบปฏิบัติการทำลายกิจกรรมในระหว่างนี้onDestroy()
จะถูกเรียก หากคุณเปิดใช้งานแอปต่อและแอปถูกทำลายไปแล้วonCreate()
จะถูกเรียกหรือไม่เช่นonResume()
นั้นจะถูกเรียก
แก้ไข: ฉันลืมเกี่ยวกับมันได้รับการเรียกก่อนonStop()
onDestroy()
ทำแบบฝึกหัดที่ฉันพูดถึงแล้วคุณจะเข้าใจดีขึ้น
คำตอบก่อนหน้านี้ส่วนใหญ่อธิบายได้ดีว่าทำไมถึงใช้งานได้ดีonResume()
แต่ฉันอยากจะเพิ่มบางอย่างเกี่ยวกับการสร้างActivity
ไฟล์.
ฉันต้องการทราบว่าฉันต้องการเริ่มกิจกรรมใหม่เมื่อสิ้นสุดการ exectuion ของวิธีอื่นที่เรียกใช้ onCreate () หรือ onResume ()
คำตอบคือonCreate()
อย่างไรก็ตามเมื่อตัดสินใจสร้างใหม่จริงคุณควรถามตัวเองว่าActivity
ต้องสร้างใหม่มากน้อยเพียงใด ถ้ามันเป็นข้อมูลในอะแดปเตอร์กล่าวว่าสำหรับรายชื่อแล้วคุณสามารถโทรnotifyDataChanged()
ในadapter
การ repopulate adapter
และไม่ต้องวาดทุกอย่าง
นอกจากนี้หากคุณต้องการอัปเดตบางอย่างviews
แต่ไม่ใช่ทั้งหมดอาจมีประสิทธิภาพมากกว่าในการเรียกinvalidate()
ใช้สิ่งview
ที่ต้องอัปเดต สิ่งนี้จะวาดเฉพาะสิ่งเหล่านี้views
และอาจทำให้แอปพลิเคชันของคุณทำงานได้ราบรื่นขึ้น ฉันหวังว่านี่จะช่วยคุณได้
onResume()
เป็นหนึ่งในวิธีการที่เรียกว่าตลอดวงจรชีวิตของกิจกรรม onResume()
เป็นคู่onPause()
ที่เรียกเมื่อใดก็ตามที่กิจกรรมถูกซ่อนจากมุมมองเช่นถ้าคุณเริ่มกิจกรรมใหม่ที่ซ่อนมัน onResume()
จะถูกเรียกเมื่อกิจกรรมที่ซ่อนอยู่กลับมาดูบนหน้าจอ
คำถามของคุณถามว่าใช้วิธีใดในการเริ่มกิจกรรมใหม่ onCreate()
ถูกเรียกเมื่อสร้างกิจกรรมครั้งแรก ในทางปฏิบัติกิจกรรมส่วนใหญ่ยังคงอยู่เบื้องหลังผ่านชุดonPause()
และการonResume()
โทร กิจกรรมเป็นเพียงการ "เริ่มต้นใหม่" จริงๆโดยonRestart()
หากหยุดก่อนโดยการโทรonStop()
แล้วนำกลับมามีชีวิตอีกครั้ง ดังนั้นถ้าคุณไม่ได้จริงหยุดกิจกรรมกับonStop()
มันมากที่สุด likley onResume()
คุณจะใช้
อ่านเอกสาร Android ในลิงก์ด้านบนเพื่อทำความเข้าใจเกี่ยวกับความสัมพันธ์ระหว่างวิธีการดำเนินชีวิตที่แตกต่างกัน ไม่ว่าคุณจะจบลงด้วยวิธีการใดโดยใช้รูปแบบทั่วไปจะเหมือนกัน คุณต้องแทนที่วิธีการมาตรฐานและรวมรหัสของคุณเช่นสิ่งที่คุณต้องการให้กิจกรรมทำ ณ จุดนั้นในส่วนความคิดเห็น
@Override
public void onResume(){
//will be executed onResume
}
ตรวจสอบข้อมูลอ้างอิงวงจรชีวิตของกิจกรรม Android อีกครั้ง มีภาพที่สวยงามและตารางแสดงวิธีการที่เรียกว่า อ้างอิงลิงค์google
https://developer.android.com/reference/android/app/Activity.html
คอตลิน
กิจกรรมใด ๆ ที่รีสตาร์ทมีวิธีการ onResume () ที่ดำเนินการก่อน
หากต้องการใช้วิธีนี้ให้ทำสิ่งนี้:
override fun onResume() {
super.onResume()
// your code here
}
หลังจากกิจกรรมเริ่มต้นการเริ่มต้นใหม่ (onRestart () เกิดขึ้นก่อน onStart ()) หรือหยุดชั่วคราว (onPause ()) เรียกว่า onResume () เมื่อกิจกรรมอยู่ในสถานะ onResume () ผู้ใช้แอปจะพร้อมใช้งานกิจกรรม
ฉันได้ศึกษาวงจรชีวิตของกิจกรรมมาแล้วเล็กน้อยและนี่คือความเข้าใจของฉันเกี่ยวกับหัวข้อนี้: หากคุณต้องการเริ่มกิจกรรมใหม่ (A) เมื่อสิ้นสุดการดำเนินการของกิจกรรมอื่นอาจมีหลายกรณี
กิจกรรมอื่น ๆ (B) ถูกหยุดชั่วคราวและ / หรือหยุดหรือถูกทำลายและกิจกรรม A อาจถูกหยุดชั่วคราว (onPause ()) ในกรณีนี้กิจกรรม A จะเรียก onResume ()
กิจกรรม B ถูกหยุดชั่วคราวและ / หรือหยุดหรือทำลายกิจกรรม A อาจถูกหยุด (onStop ()) เนื่องจากหน่วยความจำในกรณีนี้กิจกรรม A จะเรียก onRestart () ก่อน, onStart () วินาทีจากนั้นเปิดดำเนินการต่อ ()
กิจกรรม B ถูกหยุดชั่วคราวและ / หรือหยุดหรือถูกทำลายกิจกรรม A ถูกทำลายโปรแกรมเมอร์สามารถเรียก onStart () ด้วยตนเองเพื่อเริ่มกิจกรรมก่อนจากนั้นจึง onResume () เนื่องจากเมื่อกิจกรรมอยู่ในสถานะถูกทำลายกิจกรรมนั้นจะมี ไม่ได้เริ่มต้นและสิ่งนี้เกิดขึ้นก่อนที่กิจกรรมจะถูกลบออกอย่างสมบูรณ์ หากกิจกรรมถูกลบออกจะต้องสร้างกิจกรรมอีกครั้ง การเรียกใช้ onStart () ด้วยตนเองฉันคิดว่าเป็นเพราะถ้ากิจกรรมไม่เริ่มต้นและสร้างขึ้น onStart () จะถูกเรียกหลังจาก onCreate ()
หากคุณต้องการอัปเดตข้อมูลให้สร้างฟังก์ชันอัปเดตข้อมูลและวางฟังก์ชันไว้ใน onResume () หรือใส่ฟังก์ชัน loadData ไว้ใน onResume ()
ควรทำความเข้าใจวงจรชีวิตด้วยความช่วยเหลือของแผนภาพวงจรชีวิตของกิจกรรม