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

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

11
ลงชื่อเข้าใช้ APK โดยไม่ต้องใส่ข้อมูล keystore ใน build.gradle
ฉันกำลังพยายามตั้งค่ากระบวนการลงชื่อเพื่อให้รหัสผ่านที่เก็บคีย์และรหัสผ่านคีย์ไม่ถูกเก็บไว้ในbuild.gradleไฟล์ของโครงการ ขณะนี้ฉันมีดังต่อไปนี้ในbuild.gradle: android { ... signingConfigs { release { storeFile file("my.keystore") storePassword "store_password" keyAlias "my_key_alias" keyPassword "key_password" } } buildTypes { release { signingConfig signingConfigs.release } } } มันทำงานได้อย่างสมบูรณ์แบบ แต่ฉันต้องไม่ใส่ค่าสำหรับstorePasswordและkeyPasswordในที่เก็บของฉัน ฉันไม่ต้องการใส่storeFileและkeyAliasมีทั้ง มีวิธีการแก้ไขbuild.gradleเพื่อที่จะได้รับรหัสผ่านจากแหล่งภายนอก (เช่นไฟล์ที่อยู่ในคอมพิวเตอร์ของฉันเท่านั้น)? และแน่นอนการเปลี่ยนแปลงbuild.gradleควรจะสามารถใช้ได้กับคอมพิวเตอร์เครื่องอื่น ๆ (แม้ว่าคอมพิวเตอร์จะไม่สามารถเข้าถึงรหัสผ่านได้) ฉันใช้ Android Studio และใน Mac OS X Maverics ถ้ามันสำคัญ

9
มีวิธีง่ายๆในการค้นหาสตริงที่ไม่ได้ใช้ในโครงการ Android หรือไม่?
ผมมีโครงการขนาดใหญ่ที่มี Android strings.xmlสตริงหลายประกาศใน strings.xmlผมอยากจะเอาสายที่ไม่ได้ใช้ใน มีวิธีง่าย ๆ ในการทำเช่นนั้น?
152 android 

19
วิธีเพิ่มที่เก็บข้อมูลสำหรับ Android Emulator (INSTALL_FAILED_INSUFFICIENT_STORAGE)
บางครั้งฉันได้รับสิ่งนี้ (ไม่บ่อย) สำหรับหนึ่งในโปรเจ็กต์ของฉันสองสามชั้นเท่านั้น Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE ฉันจะเพิ่มที่เก็บข้อมูลจำลองได้อย่างไร

6
Android Webview ให้ข้อความ net :: ERR_CACHE_MISS
ฉันสร้างเว็บแอพขึ้นมาแล้วและต้องการสร้างแอพ Android ที่มีมุมมองเว็บที่แสดงแอปพลิเคชันเว็บของฉัน หลังจากทำตามคำแนะนำจากนักพัฒนาซอฟต์แวร์ของ Google เพื่อสร้างแอพฉันติดตั้งบนโทรศัพท์ด้วย Android 5.1.1 ได้สำเร็จ อย่างไรก็ตามเมื่อฉันรันแอพเป็นครั้งแรก webview จะแสดงข้อความ: หน้าเว็บไม่สามารถใช้ได้ ไม่สามารถโหลดเว็บเพจที่ [Lorem Ipsum URL] เป็น: สุทธิ :: ERR_CACHE_MISS

30
PANIC: เส้นทางระบบ AVD ที่ใช้งานไม่ได้ ตรวจสอบค่า ANDROID_SDK_ROOT ของคุณ
หลังจากพิมพ์cordova run androidเทอร์มินัลฉันได้รับข้อผิดพลาดนี้: Waiting for emulator to start... PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]! สิ่งนี้เกิดขึ้นหลังจากการส่งออก: export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk' ก่อนส่งออกฉันได้รับ: Waiting for emulator to start... PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT ความคิดใดที่ฉันจะผิด ฉันแน่ใจว่านี่เป็น sdk root ดังนั้นทำไมฉันจึงเสียหายเส้นทางระบบ avd
152 android  cordova 

5
กรองเอาท์พุทใน logcat โดย tagname
ฉันพยายามกรองผลลัพธ์ logcat จากอุปกรณ์จริง (ไม่ใช่อีมูเลเตอร์) ตามชื่อแท็ก แต่ฉันได้รับข้อความทั้งหมดซึ่งค่อนข้างเป็นสแปม ฉันแค่ต้องการอ่านข้อความจากเบราว์เซอร์ซึ่งควรเป็น "เบราว์เซอร์: " หรือ "webkit: " แต่มันไม่ทำงาน ... นี่คือสิ่งที่ฉันได้รับ:

23
วิธีซ่อน Soft Keyboard เมื่อกิจกรรมเริ่มขึ้น
ฉันมี Edittext ด้วยandroid:windowSoftInputMode="stateVisible"ใน Manifest ตอนนี้แป้นพิมพ์จะปรากฏขึ้นเมื่อฉันเริ่มกิจกรรม จะซ่อนมันได้อย่างไร? ฉันไม่สามารถใช้android:windowSoftInputMode="stateHiddenเพราะเมื่อมองเห็นแป้นพิมพ์แล้วย่อขนาดแอปให้เล็กลงและกลับมาใช้งานแป้นพิมพ์ควรจะมองเห็นได้ ฉันลองด้วย InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); แต่มันไม่ทำงาน

12
วิธีการใช้ OnFragmentInteractionListener
ฉันมีแอพตัวช่วยสร้างพร้อมลิ้นชักนำทางใน android studio 0.8.2 ฉันได้สร้างส่วนและเพิ่มด้วย newInstance () และฉันได้รับข้อผิดพลาดนี้: com.domain.myapp E / AndroidRuntime﹕ ข้อยกเว้นทาง FATAL: หลัก java.lang.ClassCastException: com.domain.myapp.MainActivity@422fb8f0 ต้องใช้ OnFragmentInteractionListener ฉันไม่สามารถหาวิธีใช้ OnFragmentInteractionListener นี้ได้ทุกที่ ไม่สามารถพบได้แม้ในเอกสารประกอบ android sdk! MainActivity.java import android.app.Activity; import android.app.ActionBar; import android.app.Fragment; import android.app.FragmentManager; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.support.v4.widget.DrawerLayout; public class …

30
java.lang.RuntimeException: ไม่สามารถยกตัวอย่างกิจกรรม ComponentInfo
ฉันพยายามเรียกใช้โค้ดตัวอย่างในขณะที่เปิดใช้งานแอปพลิเคชันใน android 1.5 emulator ฉันพบข้อผิดพลาดเหล่านี้ .... มีใครมีคำใบ้บ้าง .. ? ข้อผิดพลาดจาก LogCat: 01-13 02:28:08.392: ERROR/AndroidRuntime(2888): FATAL EXCEPTION: main 01-13 02:28:08.392: ERROR/AndroidRuntime(2888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.s.android.test/com.s.android.test.MainActivity}: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk] 01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544) 01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at …

17
อนุญาตให้ผู้ใช้เลือกกล้องหรือแกลเลอรี่ภาพ
สิ่งที่ฉันพยายามทำดูเหมือนง่ายมาก แต่หลังจากสองสามวันของการค้นหาฉันไม่สามารถเข้าใจได้ ฉันมีแอปพลิเคชั่นที่อนุญาตให้ผู้ใช้เลือกภาพหลายภาพ (มากถึง 5) ภาพ ImageViewฉันใช้ เมื่อผู้ใช้คลิกที่ImageViewฉันต้องการอนุญาตให้พวกเขาเลือกได้ เลือกภาพจากแกลเลอรี่หรือ ใช้กล้องเพื่อถ่ายภาพ ฉันเริ่มต้นด้วยการใช้ACTION_GET_CONTENTความตั้งใจและมันทำงานได้ดีสำหรับการไปที่แกลเลอรี ดังนั้นฉันจึงลองใช้ACTION_PICK_ACTIVITYความตั้งใจที่จะอนุญาตให้ผู้ใช้เลือกกล้องหรือแกลเลอรี่: Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); Intent gallIntent=new Intent(Intent.ACTION_GET_CONTENT); gallIntent.setType("image/*"); Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE"); pickIntent.putExtra(Intent.EXTRA_INTENT, camIntent); pickIntent.putExtra(Intent.EXTRA_INTENT, gallIntent) pickIntent.putExtra(Intent.EXTRA_TITLE, "Select Source"); startActivityForResult(pickIntent, IMAGE_SELECTOR); EXTRA_INTENTแต่ปรากฏว่าฉันสามารถเพิ่มหนึ่ง เมนูแสดงขึ้นตามที่คาดไว้ แต่ตัวเลือกเท่านั้นคือคลังภาพและไฟล์ .... ไม่มีกล้อง) มีวิธีที่ดีกว่า / ง่ายกว่าในการทำสิ่งนี้ที่ฉันขาดไป ขอบคุณสำหรับความช่วยเหลือ

6
วิธีการคืนค่า Fragment จาก BackStack หากมีอยู่
ฉันกำลังเรียนรู้วิธีใช้ชิ้นส่วนต่างๆ ฉันมีสามกรณีของการFragmentเริ่มต้นที่ด้านบนของชั้นเรียน ฉันกำลังเพิ่มส่วนในกิจกรรมเช่นนี้: การประกาศและการเริ่มต้น: Fragment A = new AFragment(); Fragment B = new BFragment(); Fragment C = new CFragment(); การเปลี่ยน / เพิ่ม: FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, A); ft.addToBackStack(null); ft.commit(); ตัวอย่างเหล่านี้ทำงานอย่างถูกต้อง ทุกส่วนจะถูกแนบกับกิจกรรมและถูกบันทึกลงในกองหลังโดยไม่มีปัญหาใด ๆ ดังนั้นเมื่อผมเปิดA, Cแล้วB, สแต็คลักษณะเช่นนี้ | | |B| |C| |A| ___ และเมื่อฉันกดปุ่ม 'ย้อนกลับ' BถูกทำลายและCกลับมาทำงานต่อ แต่เมื่อฉันเปิดใช้แฟรกเมนต์Aเป็นครั้งที่สองแทนที่จะกลับมาทำงานต่อจากสแต็กหลังจะถูกเพิ่มที่ด้านบนของสแต็กหลัง | | |A| |C| …

2
เหตุใดจำเป็นต้องใช้ apk ที่ไม่ได้จัดแนว
Android gradle สร้าง apk ในสองไบนารี: ไม่ตรงแนวและจัดแนว เอกสารกล่าวว่า ... เมื่อคุณลงชื่อ APK ด้วยรหัสส่วนตัวของคุณแล้วให้เรียกใช้ zipalign บนไฟล์ เครื่องมือนี้ช่วยให้มั่นใจได้ว่าข้อมูลที่ไม่มีการบีบอัดทั้งหมดเริ่มต้นด้วยการจัดตำแหน่งไบต์เฉพาะซึ่งสัมพันธ์กับการเริ่มต้นของไฟล์ การตรวจสอบให้แน่ใจว่าการจัดตำแหน่งที่ขอบเขต 4 ไบต์มีการเพิ่มประสิทธิภาพเมื่อติดตั้งบนอุปกรณ์ เมื่อจัดแนวแล้วระบบ Android สามารถอ่านไฟล์ที่มี mmap () ได้แม้ว่าจะมีข้อมูลไบนารีที่มีข้อ จำกัด การจัดตำแหน่งแทนที่จะคัดลอกข้อมูลทั้งหมดจากแพ็คเกจ ประโยชน์คือการลดจำนวนแรมที่ใช้โดยแอปพลิเคชันที่ทำงานอยู่ ดูเหมือนว่า apk ที่สอดคล้องกันจะแนะนำให้กระจาย สำหรับฉันฉันใช้apk ที่ปรับตำแหน่งเท่านั้นเป็นผลิตภัณฑ์ผลลัพธ์และละเว้นapk ที่ไม่ได้จัดแนว apk ที่ไม่ตรงแนวมีการใช้งานพิเศษระหว่างการพัฒนาหรือไม่?
151 android  apk  release 

9
แนวทางปฏิบัติที่ดี: AsyncTask ในระหว่างการเปลี่ยนการวางแนว
AsyncTask เป็นสิ่งที่ดีในการทำงานที่ซับซ้อนในหัวข้ออื่น แต่เมื่อมีการเปลี่ยนแปลงการวางแนวหรือเปลี่ยนแปลงการกำหนดค่าอื่นในขณะที่AsyncTaskยังคงทำงานอยู่ในปัจจุบันActivityจะถูกทำลายและเริ่ม และเมื่ออินสแตนซ์ของAsyncTaskเชื่อมต่อกับกิจกรรมนั้นจะล้มเหลวและทำให้หน้าต่างข้อความ "บังคับปิด" ดังนั้นฉันกำลังมองหา "แนวปฏิบัติที่ดีที่สุด" เพื่อหลีกเลี่ยงข้อผิดพลาดและป้องกันไม่ให้ AsyncTask ล้มเหลว สิ่งที่ฉันเคยเห็นคือ: ปิดใช้งานการเปลี่ยนแปลงการวางแนว (ไม่แน่ใจว่าคุณควรจัดการกับสิ่งนี้อย่างไร) ปล่อยให้งานอยู่รอดและอัปเดตด้วยอินสแตนซ์กิจกรรมใหม่ผ่านทาง onRetainNonConfigurationInstance เพียงแค่ยกเลิกงานเมื่อActivityมีการทำลายและเริ่มต้นใหม่เมื่อActivityมีการสร้างอีกครั้ง ผูกงานกับคลาสแอ็พพลิเคชันแทนอินสแตนซ์กิจกรรม วิธีการบางอย่างที่ใช้ในโครงการ "ชั้นวาง" (ผ่าน onRestoreInstanceState) ตัวอย่างโค้ดบางส่วน: Android AsyncTasks ระหว่างการหมุนหน้าจอ, ส่วนที่ฉันและส่วนที่สอง ShelvesActivity.java คุณช่วยฉันหาวิธีที่ดีที่สุดที่แก้ปัญหาได้ดีที่สุดและใช้งานได้ง่ายเช่นกัน? รหัสตัวเองก็มีความสำคัญเนื่องจากฉันไม่รู้วิธีการแก้ไขอย่างถูกต้อง

11
ดาวน์โหลดส่วนประกอบ Android SDK สำหรับการติดตั้งออฟไลน์
เป็นไปได้ไหมที่จะดาวน์โหลดส่วนประกอบ SDK Android สำหรับการติดตั้งออฟไลน์โดยไม่ใช้ SDK Manager ปัญหาคือฉันอยู่หลังไฟร์วอลล์ซึ่งฉันไม่สามารถควบคุมได้และทั้งสองเว็บไซต์ดาวน์โหลด URL ดูเหมือนว่าจะถูกบล็อก (ส่งการเชื่อมต่อปฏิเสธข้อยกเว้น) https://dl-ssl.google.com/android/repository/repository.xml http://dl-ssl.google.com/android/repository/repository.xml Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml, reason: Connection refused: connect

7
ออกแบบ Android EditText เพื่อแสดงข้อความแสดงข้อผิดพลาดตามที่อธิบายโดย google
ฉันต้องการสิ่งEditTextที่ดูเหมือนว่าข้อผิดพลาดนี้: การเรียกใช้ onError มีลักษณะเช่นนี้แทน: หมายเหตุ: แอปทำงานบน SDK 19 (4.4.2) min SDK คือ 1 มีวิธีการคล้ายกับ setError ที่ทำสิ่งนี้โดยอัตโนมัติหรือฉันต้องเขียนโค้ดให้หรือไม่ ขอบคุณ

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