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

Android เป็นระบบปฏิบัติการมือถือของ Google ใช้สำหรับการเขียนโปรแกรมหรือพัฒนาอุปกรณ์ดิจิตอล (สมาร์ทโฟน, แท็บเล็ต, รถยนต์, ทีวี, เครื่องแต่งกาย, แก้ว, IoT) สำหรับหัวข้อที่เกี่ยวข้องกับ Android ให้ใช้แท็กเฉพาะสำหรับ Android เช่น android-intent, android-activity, android-adapter, ฯลฯ สำหรับคำถามนอกเหนือจากการพัฒนาหรือการเขียนโปรแกรม แต่เกี่ยวข้องกับกรอบของ Android ให้ใช้ลิงค์นี้: https: // android.stackexchange.com

10
แนวปฏิบัติที่ดีที่สุดสำหรับ SQLite บน Android คืออะไร
สิ่งที่จะได้รับการพิจารณาว่าเป็นแนวปฏิบัติที่ดีที่สุดเมื่อเรียกใช้งานแบบสอบถามบนฐานข้อมูล SQLite ภายในแอป Android การเรียกใช้แทรกลบและเลือกคิวรีจาก doInBackground ของ AsyncTask ปลอดภัยหรือไม่? หรือฉันควรใช้เธรด UI ฉันคิดว่าการสืบค้นฐานข้อมูลอาจ "หนัก" และไม่ควรใช้เธรด UI เนื่องจากสามารถล็อกแอพได้ - ทำให้แอปพลิเคชันไม่ตอบสนอง (ANR) หากฉันมีหลาย AsyncTasks พวกเขาควรแบ่งปันการเชื่อมต่อหรือพวกเขาควรเปิดการเชื่อมต่อแต่ละคน? มีแนวทางปฏิบัติที่ดีที่สุดสำหรับสถานการณ์เหล่านี้หรือไม่?
694 android  database  sqlite 

16
จะกำหนดรูปวงกลมในไฟล์ Android XML ที่สามารถวาดได้อย่างไร
ฉันมีปัญหาบางอย่างในการค้นหาเอกสารประกอบคำจำกัดความของรูปร่างใน XML สำหรับ Android ฉันต้องการกำหนดวงกลมอย่างง่ายที่เต็มไปด้วยสีทึบในไฟล์ XML เพื่อรวมไว้ในไฟล์เลย์เอาต์ของฉัน น่าเสียดายที่ Documentation บน android.com ไม่ครอบคลุมคุณลักษณะ XML ของคลาส Shape ฉันคิดว่าฉันควรใช้ArcShapeเพื่อวาดวงกลม แต่ไม่มีคำอธิบายเกี่ยวกับวิธีการตั้งค่าขนาดสีหรือมุมที่จำเป็นในการสร้างวงกลมออกจากส่วนโค้ง

8
ข้อผิดพลาดของ Android: ไม่สามารถติดตั้ง * .apk บนอุปกรณ์ *: หมดเวลา
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันได้รับข้อผิดพลาดนี้เป็นครั้งคราวและไม่ทราบสาเหตุที่ทำให้เกิดสิ่งนี้: เมื่อพยายามเรียกใช้ / แก้ไขข้อบกพร่องของแอป Android บนอุปกรณ์จริง (Galaxy Samsung S ในกรณีของฉัน) ฉันได้รับข้อผิดพลาดต่อไปนี้ในคอนโซล : ไม่สามารถติดตั้ง * .apk บนอุปกรณ์ *: หมดเวลาเปิดตัวยกเลิก! นี่คือทั้งหมดที่คอนโซลบอกฉัน LogCat ไม่ได้ให้ข้อมูลใด ๆ มุมมอง Eclipse problems ไม่แสดงปัญหาใด ๆ ฉันลองขั้นตอนต่อไปนี้โดยไม่ประสบความสำเร็จ: 1. การทำความสะอาดโครงการ (โครงการ -> ทำความสะอาด) 2. รีสตาร์ทอุปกรณ์, Eclipse, แล็ปท็อป, ทั้งหมดข้างต้น ... 3. ย้ายโครงการไปยังตำแหน่งที่ไม่มีช่องว่างตามที่ล้มเหลว เพื่อติดตั้ง apk บนอุปกรณ์ 'emulator-5554': หมดเวลา แอปได้รับการดีบั๊กในอดีตบนอุปกรณ์นั้นหลายครั้ง …
685 android  timeout  install  apk 

30
วาดเส้นแบ่ง / Divider Android ในเค้าโครง?
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันต้องการวาดเส้นตรงกลางของเลย์เอาต์และใช้เป็นตัวคั่นของรายการอื่นเช่น TextView มีเครื่องมือที่ดีสำหรับเรื่องนี้ ฉันไม่ต้องการใช้รูปภาพเพราะมันยากที่จะจับคู่ส่วนประกอบอื่น ๆ เข้ากับมัน และฉันต้องการให้มันอยู่ในตำแหน่งที่ค่อนข้างดี ขอบคุณ
684 android  layout  draw 

19
เกิดข้อผิดพลาดในการเปิดตัว AVD ด้วยโปรเซสเซอร์ AMD
ฉันมี Windows 8.1 pro พร้อมกับโปรเซสเซอร์ AMD ฉันติดตั้ง Android SDK และ Eclipse มันใช้งานได้ แต่ปัญหาคือเมื่อฉันสร้าง AVD และเปิดมันแสดงข้อผิดพลาดนี้: อีมูเลเตอร์: ข้อผิดพลาด: การจำลอง x86 ในปัจจุบันต้องการการเร่งด้วยฮาร์ดแวร์! โปรดตรวจสอบให้แน่ใจว่าได้ติดตั้ง Intel HAXM อย่างเหมาะสมและสามารถใช้งานได้ สถานะการเร่งความเร็ว CPU: ไม่ได้ติดตั้งโมดูลเคอร์เนล HAX! ฉันได้ติดตั้ง Intel Hardware_Accelerated_Execution_Manager แล้วและฉันได้เปิดใช้งานการมอดูเลตเสมือนจากเมนูการบูต แต่ก็ยังไม่ทำงาน
680 android  intel  avd  haxm 

21
ตัวอย่าง AsyncTask Android
ฉันกำลังอ่านเกี่ยวกับAsyncTaskและฉันลองใช้โปรแกรมอย่างง่ายด้านล่าง แต่ดูเหมือนจะไม่ทำงาน ฉันจะทำให้มันทำงานได้อย่างไร public class AsyncTaskActivity extends Activity { Button btn; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.button1); btn.setOnClickListener((OnClickListener) this); } public void onClick(View view){ new LongOperation().execute(""); } private class LongOperation extends AsyncTask<String, Void, String> { …


27
กล่องโต้ตอบการขว้าง "ไม่สามารถเพิ่มหน้าต่าง - โทเค็น null ไม่ได้สำหรับแอปพลิเคชัน" ที่มี getApplication () เป็นบริบท
กิจกรรมของฉันพยายามสร้าง AlertDialog ซึ่งต้องใช้บริบทเป็นพารามิเตอร์ ทำงานได้ตามที่คาดไว้หากฉันใช้: AlertDialog.Builder builder = new AlertDialog.Builder(this); อย่างไรก็ตามฉันมักจะใช้ "สิ่งนี้" เป็นบริบทเนื่องจากมีโอกาสเกิดการรั่วไหลของหน่วยความจำเมื่อกิจกรรมถูกทำลายและสร้างใหม่แม้ในช่วงที่เรียบง่ายเช่นการหมุนหน้าจอ จากโพสต์ที่เกี่ยวข้องในบล็อกของนักพัฒนา Android : มีสองวิธีง่าย ๆ ในการหลีกเลี่ยงการรั่วไหลของหน่วยความจำที่เกี่ยวข้องกับบริบท สิ่งที่ชัดเจนที่สุดคือการหลีกเลี่ยงบริบทที่อยู่นอกขอบเขตของตัวเอง ตัวอย่างด้านบนแสดงกรณีของการอ้างอิงแบบสแตติก แต่คลาสภายในและการอ้างอิงโดยนัยของคลาสภายนอกอาจเป็นอันตรายอย่างเท่าเทียมกัน โซลูชันที่สองคือการใช้บริบทของแอปพลิเคชัน บริบทนี้จะมีชีวิตอยู่ตราบใดที่ใบสมัครของคุณยังมีชีวิตอยู่และไม่ได้ขึ้นอยู่กับวงจรชีวิตของกิจกรรม หากคุณวางแผนที่จะรักษาวัตถุที่มีอายุการใช้งานยาวนานซึ่งต้องการบริบทให้จดจำแอปพลิเคชันวัตถุ คุณสามารถรับมันได้อย่างง่ายดายโดยการเรียก Context.getApplicationContext () หรือ Activity.getApplication () แต่สำหรับAlertDialog()ทั้งgetApplicationContext()หรือgetApplication()ยอมรับว่าเป็นบริบทตามที่มันโยนข้อยกเว้น: "ไม่สามารถเพิ่มหน้าต่าง - โทเค็น null ไม่ได้สำหรับแอปพลิเคชัน" ต่อการอ้างอิง: 1 , 2 , 3 , ฯลฯ ดังนั้นสิ่งนี้ควรได้รับการพิจารณาว่าเป็น "บั๊ก" เนื่องจากเราได้รับคำแนะนำให้ใช้อย่างเป็นทางการActivity.getApplication()แต่มันก็ไม่ทำงานตามที่โฆษณาไว้? จิม

30
ใช้บริบทในส่วน
ฉันจะรับบริบทเป็นส่วนย่อยได้อย่างไร ฉันต้องใช้ฐานข้อมูลของฉันซึ่งคอนสตรัคเตอร์ใช้ในบริบท แต่getApplicationContext()และFragmentClass.thisไม่ทำงานฉันต้องทำอย่างไร ตัวสร้างฐานข้อมูล public Database(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); }

30
จะตรวจสอบการเชื่อมต่ออินเทอร์เน็ตบน Android ได้อย่างไร? InetAddress ไม่เคยหมดเวลา
ฉันได้AsyncTaskที่ควรจะตรวจสอบการเข้าถึงเครือข่ายเพื่อชื่อโฮสต์ แต่doInBackground()ไม่หมดเวลา ใครมีเงื่อนงำ? public class HostAvailabilityTask extends AsyncTask<String, Void, Boolean> { private Main main; public HostAvailabilityTask(Main main) { this.main = main; } protected Boolean doInBackground(String... params) { Main.Log("doInBackground() isHostAvailable():"+params[0]); try { return InetAddress.getByName(params[0]).isReachable(30); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } protected …

24
การส่งอีเมลใน Android โดยใช้ JavaMail API โดยไม่ต้องใช้แอปเริ่มต้น / ในตัว
ฉันกำลังพยายามสร้างแอปพลิเคชันส่งอีเมลใน Android ถ้าฉันใช้: Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); นี่จะเป็นการเปิดแอปพลิเคชัน Android ในตัว ฉันกำลังพยายามส่งอีเมลบนปุ่มคลิกโดยตรงโดยไม่ต้องใช้แอปพลิเคชันนี้



7
ฉันสามารถหาซอร์สโค้ด Android ออนไลน์ได้ที่ไหน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา โดยเฉพาะอย่างยิ่งฉันสามารถเรียกดูซอร์สโค้ดสำหรับแอปพลิเคชัน Android ใด ๆ (เช่นแอปพลิเคชันผู้ติดต่อ) ได้ที่ไหน เป็นวิธีเดียวที่จะไปดาวน์โหลดทั้งหมดที่มี?

18
ฉันจะจัดมุมมองที่ด้านล่างของหน้าจอได้อย่างไร
นี่คือรหัสรูปแบบของฉัน <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="@string/welcome" android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> <LinearLayout android:id="@+id/LinearLayout" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="bottom"> <EditText android:id="@+id/EditText" android:layout_width="fill_parent" android:layout_height="wrap_content"> </EditText> <Button android:text="@string/label_submit_button" android:id="@+id/Button" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> </LinearLayout> </LinearLayout> สิ่งนี้ดูเหมือนว่าอยู่ทางซ้ายและสิ่งที่ฉันต้องการให้ดูเหมือนอยู่ทางขวา คำตอบที่ชัดเจนคือการตั้งค่า TextView ให้ fill_parent บนความสูง แต่สิ่งนี้ทำให้ไม่มีที่ว่างเหลือสำหรับปุ่มหรือฟิลด์รายการ โดยพื้นฐานแล้วปัญหาคือฉันต้องการให้ปุ่มส่งและรายการข้อความเป็นความสูงคงที่ที่ด้านล่างและมุมมองข้อความเพื่อเติมเต็มพื้นที่ที่เหลือ ในทำนองเดียวกันในเลย์เอาต์แบบเส้นแนวนอนฉันต้องการให้ปุ่มส่งเพื่อตัดเนื้อหาและสำหรับการป้อนข้อความเพื่อเติมส่วนที่เหลือของพื้นที่ หากรายการแรกในเลย์เอาต์แบบเส้นถูกบอกให้เติม _parent มันจะทำสิ่งนั้นอย่างแน่นอนทำให้ไม่มีที่ว่างสำหรับรายการอื่น ฉันจะรับไอเท็มที่อยู่ในเลย์เอาต์เชิงเส้นก่อนเพื่อเติมช่องว่างทั้งหมดนอกเหนือจากค่าต่ำสุดที่จำเป็นสำหรับรายการที่เหลือในเลย์เอาต์ได้อย่างไร รูปแบบสัมพัทธ์เป็นคำตอบที่แน่นอน: <?xml version="1.0" …

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