คำถามติดแท็ก android-activity

คำถามเกี่ยวกับการสร้างหรือจัดการกิจกรรมใน Android ในแอปพลิเคชัน Android กิจกรรมคือส่วนประกอบที่ให้ส่วนต่อประสานกับผู้ใช้ที่อนุญาตให้ผู้ใช้ทำบางสิ่งบางอย่าง ตัวอย่างง่ายๆคือ: หมุนโทรศัพท์ถ่ายภาพส่งอีเมลหรือดูแผนที่

30
จะบันทึกสถานะกิจกรรมโดยใช้บันทึกสถานะอินสแตนซ์ได้อย่างไร
ฉันกำลังทำงานบนแพลตฟอร์ม Android SDK และยังไม่มีความชัดเจนในการบันทึกสถานะของแอปพลิเคชัน เพื่อให้ได้รับเครื่องมือใหม่เล็ก ๆ น้อย ๆ ของตัวอย่าง 'Hello, Android': package com.android.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { private TextView mTextView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mTextView = new TextView(this); …

30
กิจกรรมเริ่มต้นใหม่ในการหมุน Android
ในแอปพลิเคชัน Android ของฉันเมื่อฉันหมุนอุปกรณ์ (เลื่อนคีย์บอร์ดออก) จากนั้นฉันActivityจะเริ่มใหม่ ( onCreateเรียกว่า) ตอนนี้อาจเป็นวิธีที่ควรจะเป็น แต่ฉันทำการตั้งค่าเริ่มต้นจำนวนมากในonCreateวิธีการดังนั้นฉันต้องการอย่างใดอย่างหนึ่ง: ใส่การตั้งค่าเริ่มต้นทั้งหมดไว้ในฟังก์ชั่นอื่นเพื่อไม่ให้อุปกรณ์หมุนหรือหายไป ทำให้มันonCreateไม่ถูกเรียกอีกครั้งและเลย์เอาต์ก็ปรับหรือ จำกัด แอพให้เป็นแนวตั้งเท่านั้นเพื่อที่onCreateจะไม่เรียกใช้

30
ฉันจะส่งผ่านข้อมูลระหว่างแอพพลิเคชั่นใน Android ได้อย่างไร
ฉันมีสถานการณ์ที่หลังจากเข้าสู่ระบบผ่านหน้าเข้าสู่ระบบจะมีการลงชื่อออกในแต่ละbuttonactivity เมื่อคลิกsign-outฉันจะส่งต่อsession idผู้ใช้ที่ลงชื่อเข้าใช้เพื่อออกจากระบบ ทุกคนสามารถแนะนำฉันเกี่ยวกับวิธีการให้session idบริการแก่ทุกคนได้activitiesหรือไม่ ทางเลือกใด ๆ กับกรณีนี้

10
วิธีจัดการ startActivityForResult บน Android
startActivityForResultในกิจกรรมของฉันฉันเรียกกิจกรรมที่สองจากกิจกรรมหลักโดย ในกิจกรรมที่สองของฉันมีบางวิธีที่ทำกิจกรรมนี้ให้เสร็จ (อาจไม่มีผลลัพธ์) อย่างไรก็ตามมีเพียงหนึ่งในวิธีที่ส่งคืนผลลัพธ์ ตัวอย่างเช่นจากกิจกรรมหลักฉันเรียกอันที่สอง ในกิจกรรมนี้ฉันกำลังตรวจสอบคุณสมบัติบางอย่างของโทรศัพท์มือถือเช่นมีกล้อง หากไม่มีแล้วฉันจะปิดกิจกรรมนี้ นอกจากนี้ในระหว่างการเตรียมการMediaRecorderหรือMediaPlayerหากมีปัญหาเกิดขึ้นฉันจะปิดกิจกรรมนี้ หากอุปกรณ์มีกล้องและการบันทึกเสร็จสิ้นจากนั้นหลังจากบันทึกวิดีโอหากผู้ใช้คลิกที่ปุ่มเสร็จแล้วฉันจะส่งผลลัพธ์ (ที่อยู่ของวิดีโอที่บันทึก) กลับไปที่กิจกรรมหลัก ฉันจะตรวจสอบผลลัพธ์จากกิจกรรมหลักได้อย่างไร


30
onActivityResult ไม่ได้ถูกเรียกเป็นแฟรกเมนต์
กิจกรรมที่โฮสต์แฟรกเมนต์นี้ได้ถูกonActivityResultเรียกเมื่อกิจกรรมกล้องกลับมา ส่วนของฉันเริ่มกิจกรรมเพื่อให้ได้ผลลัพธ์โดยมีเจตนาส่งให้กล้องถ่ายรูป แอปพลิเคชั่นรูปภาพโหลดได้ดีถ่ายภาพและส่งคืน onActivityResultแต่ก็ไม่เคยตี ฉันได้ตั้งจุดพัก แต่ไม่มีอะไรถูกกระตุ้น ส่วนได้onActivityResultหรือไม่ ฉันคิดอย่างนั้นเพราะมันเป็นฟังก์ชั่นที่มีให้ ทำไมสิ่งนี้ถึงไม่ถูกเรียก? ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image); myImage.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, 1888); } }); @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if( requestCode == 1888 ) { Bitmap photo = …

30
วิธีส่งวัตถุจากกิจกรรม Android หนึ่งไปยังอีกกิจกรรมโดยใช้ Intents
ฉันจะส่งผ่านวัตถุประเภทที่กำหนดเองจากกิจกรรมหนึ่งไปยังอีกกิจกรรมหนึ่งโดยใช้putExtra()วิธีการของคลาสIntent ได้อย่างไร

14
Dilemma: เมื่อใดควรใช้ Fragments vs Activities:
ฉันรู้แล้ว Activitiesได้รับการออกแบบมาเพื่อแสดงหน้าจอเดียวของแอปพลิเคชันของฉันในขณะที่Fragmentsได้รับการออกแบบให้เป็นรูปแบบ UI ที่ใช้ซ้ำได้โดยมีตรรกะฝังอยู่ภายใน เมื่อไม่นานมานี้ฉันได้พัฒนาแอปพลิเคชั่นตามที่กล่าวไว้ว่าพวกเขาควรได้รับการพัฒนา ฉันสร้างActivityเพื่อเป็นตัวแทนของหน้าจอของแอพลิเคชันและเศษมือของฉันหรือViewPager Google Mapsฉันไม่ค่อยสร้างListFragment UI หรืออื่น ๆ ที่สามารถนำมาใช้ซ้ำได้หลายครั้ง เร็ว ๆ นี้ผมสะดุดในโครงการที่มีเพียง 2 Activitiesหนึ่งเป็นและอีกหนึ่งคือSettingsActivity MainActivityเลย์เอาต์ของMainActivityบรรจุด้วยแฟรกเมนต์ UI แบบเต็มหน้าจอที่ซ่อนอยู่จำนวนมากและแสดงเพียงหนึ่งอันเท่านั้น ในActivityตรรกะมีหลายFragmentTransitionsหน้าจอที่แตกต่างกันของแอปพลิเคชัน สิ่งที่ฉันชอบเกี่ยวกับวิธีการนี้คือเนื่องจากแอปพลิเคชันใช้ActionBarมันมันยังคงอยู่และไม่ย้ายไปอยู่กับภาพเคลื่อนไหวการสลับหน้าจอซึ่งเป็นสิ่งที่เกิดขึ้นกับการActivityสลับ สิ่งนี้ให้ความรู้สึกที่คล่องแคล่วยิ่งขึ้นสำหรับการเปลี่ยนหน้าจอ ดังนั้นฉันเดาว่าสิ่งที่ฉันขอคือการแบ่งปันลักษณะการพัฒนาในปัจจุบันของคุณเกี่ยวกับหัวข้อนี้ฉันรู้ว่ามันอาจดูเหมือนคำถามตามความเห็นในตอนแรก แต่ฉันมองว่ามันเป็นคำถามที่เกี่ยวกับการออกแบบและสถาปัตยกรรมของ Android ... ตามความเห็นอย่างหนึ่ง UPDATE (01.05.2014): ทำตามการนำเสนอนี้โดยEric BurkeจากSquare (ซึ่งฉันต้องบอกว่าเป็นการนำเสนอที่ยอดเยี่ยมพร้อมเครื่องมือที่มีประโยชน์มากมายสำหรับนักพัฒนา Android และฉันไม่เกี่ยวข้องกับ Square) http://www.infoq.com/presentations/Android-Design/ จากประสบการณ์ส่วนตัวของฉันในช่วงไม่กี่เดือนที่ผ่านมาผมพบว่าวิธีที่ดีที่สุดในการสร้างการใช้งานของฉันคือการสร้างกลุ่มของชิ้นส่วนที่มาเป็นตัวแทนของการไหลActivityในการประยุกต์และนำเสนอชิ้นส่วนเหล่านั้นทั้งหมดในหนึ่ง ดังนั้นโดยทั่วไปคุณจะมีจำนวนActivitiesใบสมัครของคุณเท่ากับจำนวนการไหล ด้วยวิธีนี้แถบแอ็คชั่นยังคงเหมือนเดิมบนหน้าจอทั้งหมดของโฟลว์ ในขณะที่ Eric Burke กล่าวและฉันก็ตระหนักเช่นกันปรัชญาของการใช้น้อยActivitiesที่สุดไม่สามารถใช้ได้กับทุกสถานการณ์เพราะมันสร้างความสับสนในสิ่งที่เขาเรียกว่ากิจกรรม "พระเจ้า"

30
วิธีส่งผ่านวัตถุจากกิจกรรมหนึ่งไปอีกกิจกรรมหนึ่งบน Android
ฉันกำลังพยายามส่งวัตถุของคลาสลูกค้าของฉันจากที่หนึ่งActivityและแสดงในที่อื่นActivityและแสดงในที่อื่น รหัสสำหรับคลาสลูกค้า: public class Customer { private String firstName, lastName, Address; int Age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName = lname; Age = age; Address = address; } public String printValues() { String data = null; data = "First Name :" + …

12
รับมุมมองรูตจากกิจกรรมปัจจุบัน
ผมรู้ว่าจะได้รับมุมมองรากกับView.getRootView () ฉันยังสามารถที่จะได้รับมุมมองจากปุ่มของonClickเหตุการณ์ที่อาร์กิวเมนต์เป็นดู แต่ฉันจะดูในกิจกรรมได้อย่างไร

22
วิธีเริ่มกิจกรรมใหม่เมื่อคลิกปุ่ม
ในแอปพลิเคชัน Android คุณจะเริ่มกิจกรรมใหม่ (GUI) อย่างไรเมื่อคลิกปุ่มในกิจกรรมอื่นและคุณส่งข้อมูลระหว่างกิจกรรมทั้งสองนี้อย่างไร

30
กิจกรรมเต็มหน้าจอใน Android?
ตั้งค่าใหม่แล้วStack Overflow ที่ทับซ้อนกัน: ใช่หรือไม่? ฉันจะสร้างกิจกรรมแบบเต็มหน้าจอได้อย่างไร ฉันหมายถึงไม่มีแถบการแจ้งเตือน ความคิดใด ๆ

9
ตัวอย่าง: การสื่อสารระหว่างกิจกรรมและบริการโดยใช้การส่งข้อความ
ฉันไม่พบตัวอย่างวิธีส่งข้อความระหว่างกิจกรรมและบริการและฉันใช้เวลานานเกินกว่าที่จะหาสิ่งนี้ได้ นี่คือตัวอย่างโครงการสำหรับผู้อื่นเพื่ออ้างอิง ตัวอย่างนี้ช่วยให้คุณสามารถเริ่มหรือหยุดบริการได้โดยตรงและแยกผูก / แยกออกจากบริการ เมื่อบริการกำลังทำงานอยู่จะเพิ่มจำนวนที่ 10 Hz หากกิจกรรมถูกผูกไว้กับกิจกรรมServiceจะแสดงค่าปัจจุบัน ข้อมูลถูกถ่ายโอนเป็นจำนวนเต็มและเป็นสตริงเพื่อให้คุณสามารถดูวิธีการทำสองวิธีที่แตกต่างกัน นอกจากนี้ยังมีปุ่มในกิจกรรมเพื่อส่งข้อความไปยังบริการ (เปลี่ยนค่าที่เพิ่มขึ้นตามลำดับ) ภาพหน้าจอ: AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.exampleservice" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name=".MyService"></service> </application> <uses-sdk android:minSdkVersion="8" /> </manifest> Res \ ค่า \ strings.xml: <?xml …

23
Android: กลับไปที่กิจกรรมก่อนหน้า
ฉันต้องการทำสิ่งที่ง่าย ๆ บนแอพ Android เป็นไปได้อย่างไรที่จะกลับไปทำกิจกรรมก่อนหน้า ฉันต้องใช้รหัสใดเพื่อย้อนกลับไปยังกิจกรรมก่อนหน้า

28
จะจัดการกับการเปลี่ยนแปลงการวางแนวหน้าจอเมื่อไดอะล็อกความคืบหน้าและเธรดพื้นหลังทำงานอย่างไร
โปรแกรมของฉันทำกิจกรรมเครือข่ายบางอย่างในเธรดพื้นหลัง ก่อนที่จะเริ่มต้นจะปรากฏขึ้นในกล่องโต้ตอบความคืบหน้า ไดอะล็อกถูกยกเลิกบนตัวจัดการ ทั้งหมดนี้ทำงานได้ดียกเว้นเมื่อการวางแนวหน้าจอเปลี่ยนไปในขณะที่กล่องโต้ตอบทำงาน (และเธรดพื้นหลังจะทำงาน) ณ จุดนี้แอพขัดข้องหรือ deadlocks หรือเข้าสู่ขั้นตอนแปลก ๆ ที่แอพไม่ทำงานเลยจนกว่าเธรดทั้งหมดจะถูกฆ่า ฉันจะจัดการกับการเปลี่ยนแปลงการวางแนวหน้าจอได้อย่างสง่างามได้อย่างไร? โค้ดตัวอย่างด้านล่างตรงกับที่โปรแกรมจริงของฉันทำ: public class MyAct extends Activity implements Runnable { public ProgressDialog mProgress; // UI has a button that when pressed calls send public void send() { mProgress = ProgressDialog.show(this, "Please wait", "Please wait", true, true); Thread thread = …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.