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

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

3
ViewBinding vs Kotlin Android ส่วนขยายพร้อมมุมมองสังเคราะห์
ViewBindingใหม่เปรียบเทียบกับKotlin Android Extensionsกับการโยงมุมมองสังเคราะห์อย่างไร นอกเหนือจากรูปแบบ NullSafety และ TypeSafety ที่ได้รับจาก ViewBindings ใหม่ทำไมเราจึงควรพิจารณาวิธี Kotlin ในการใช้การเชื่อมโยงสังเคราะห์ใน Views ViewBinding ใหม่มีประสิทธิภาพมากกว่าหรือไม่เนื่องจากสร้างคลาส Binding ไว้ก่อนมือ?

2
ใช้ FragmentContainerView พร้อมองค์ประกอบการนำทางหรือไม่
หลังจากการปรับปรุงเพื่อนำร่อง2.2.0-beta01จากรุ่นก่อนหน้าผ้าสำลีให้คำเตือนเกี่ยวกับการเปลี่ยนเป็นแท็กที่มี<fragment>FragmentContainerView อย่างไรก็ตามการแทนที่แท็กเพียงอย่างเดียวดูเหมือนว่าจะป้องกันไม่ให้กราฟการนำทางขยายตัว ตามที่2.2.0-alpha01 , FragmentContainerViewถูกใช้ภายใน เราควรเพิกเฉยต่อคำเตือนที่เป็นขุยหรือไม่? activity_main.xml <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Lint warning: "Replace the <fragment> tag with FragmentContainerView. --> <fragment android:id="@+id/nav_host_main" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" app:navGraph="@navigation/nav_graph_main"/> <!-- other elements --> </androidx.constraintlayout.widget.ConstraintLayout>

5
เกิดความผิดพลาดอย่างไม่ได้คาดคิด. กรุณาลองใหม่อีกครั้งในภายหลัง. (3200000)
ทุกคนสามารถประสบปัญหาในการจัดการการวางจำหน่ายในร้านค้า Google Play? เมื่อฉันพยายามอัปโหลดแอปในการติดตามการผลิต มันไม่ได้เปิด ฉันได้รับข้อผิดพลาดนี้ An unexpected error occurred. Please try again later. (3200000)

6
จะตั้งเวลาปลุกอย่างไรในเวลาที่แน่นอนหลังจากข้อ จำกัด ใหม่ล่าสุดทั้งหมดบน Android
หมายเหตุ: ฉันลองใช้วิธีแก้ไขปัญหาต่าง ๆ ที่เขียนเกี่ยวกับที่นี่ใน StackOverflow (ตัวอย่างที่นี่ ) โปรดอย่าปิดสิ่งนี้โดยไม่ตรวจสอบว่าโซลูชันของคุณจากสิ่งที่คุณพบว่าทำงานได้โดยใช้แบบทดสอบที่ฉันเขียนด้านล่าง พื้นหลัง มีความต้องการในแอพที่ผู้ใช้ตั้งเตือนเพื่อกำหนดเวลาในเวลาที่กำหนดดังนั้นเมื่อแอพได้รับการทริกเกอร์ในเวลานี้มันจะทำสิ่งเล็ก ๆ ในพื้นหลัง (เพียงการดำเนินการแบบสอบถาม DB) และแสดง การแจ้งเตือนง่าย ๆ ที่จะบอกเกี่ยวกับการแจ้งเตือน ในอดีตที่ผ่านมาฉันใช้รหัสง่าย ๆ เพื่อกำหนดสิ่งที่จะกำหนดเวลาค่อนข้างเฉพาะ: val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager val pendingIntent = PendingIntent.getBroadcast(context, requestId, Intent(context, AlarmReceiver::class.java), PendingIntent.FLAG_UPDATE_CURRENT) when { VERSION.SDK_INT >= VERSION_CODES.KITKAT -> alarmManager.setExact(AlarmManager.RTC_WAKEUP, timeToTrigger, pendingIntent) else -> alarmManager.set(AlarmManager.RTC_WAKEUP, timeToTrigger, pendingIntent) } …

3
คำเตือน: API 'variant.getMappingFile ()' ล้าสมัยและถูกแทนที่ด้วย 'variant.getMappingFileProvider ()'
ฉันเพิ่งอัปเดต Android Studio 3.5 เป็น Android Studio 3.6 และแทนที่ปลั๊กอิน Gradle ก่อนหน้าด้วยปลั๊กอิน Gradle 3.6.0 เมื่อทำการซิงค์ Gradle: build.gradle: API 'variant.getMappingFile ()' ล้าสมัยและถูกแทนที่ด้วย 'variant.getMappingFileProvider ()' คำแนะนำใด ๆ เกี่ยวกับวิธีการดีบักคำเตือนนี้ มันมาจากไหน ฉันไม่เห็นการใช้งาน getMappingFile ใด ๆ ในรหัสของฉันแม้ว่าอาจเป็นห้องสมุด คำแนะนำในการแก้ปัญหากรณีเหล่านี้จะเป็นประโยชน์
26 android 

1
ไม่มี metafactory วิธีการคงที่
ฉันมีปัญหากับแอพของฉันเมื่อฉันเข้าสู่ระบบแอพขัดข้องและฉันได้รับข้อผิดพลาด: java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; in class Ljava/lang/invoke/LambdaMetafactory; or its super classes (declaration of 'java.lang.invoke.LambdaMetafactory' appears in /apex/com.android.runtime/javalib/core-oj.jar) at okhttp3.internal.Util.<clinit>(Util.java:87) at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321) at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313) at okhttp3.HttpUrl.get(HttpUrl.java:917) at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492) at com.example.usub.Remote.RetrofitClient.getClient(RetrofitClient.java:14) at com.example.usub.Common.Common.getGoogleAPI(Common.java:10) at com.example.usub.Welcome.onCreate(Welcome.java:208) at android.app.Activity.performCreate(Activity.java:7825) at android.app.Activity.performCreate(Activity.java:7814) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at …
26 java  android 

2
การปฏิเสธการเริ่มต้นใหม่ในคลาสที่ล้มเหลวก่อนหน้านี้ใน OkHttp
ฉันพยายามอัพโหลดภาพไปยังเซิร์ฟเวอร์โดยใช้ flask back end ซึ่งจะจัดการกับไฟล์เพื่อบันทึกในโฟลเดอร์และ OkHttp ใน Android แต่ฉันได้รับข้อผิดพลาดนี้ใน android: I/art: Rejecting re-init on previously-failed class java.lang.Class<okhttp3.internal.platform.ConscryptPlatform$configureTrustManager$1>: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/conscrypt/ConscryptHostnameVerifier; at okhttp3.internal.platform.android.SocketAdapter okhttp3.internal.platform.android.ConscryptSocketAdapter.buildIfSupported() (ConscryptSocketAdapter.kt:64) at void okhttp3.internal.platform.AndroidPlatform.<init>() (AndroidPlatform.kt:45) at okhttp3.internal.platform.Platform okhttp3.internal.platform.AndroidPlatform$Companion.buildIfSupported() (AndroidPlatform.kt:239) at okhttp3.internal.platform.Platform okhttp3.internal.platform.Platform$Companion.findPlatform() (Platform.kt:211) at okhttp3.internal.platform.Platform okhttp3.internal.platform.Platform$Companion.access$findPlatform(okhttp3.internal.platform.Platform$Companion) (Platform.kt:179) at void okhttp3.internal.platform.Platform.<clinit>() (Platform.kt:180) at void okhttp3.OkHttpClient.<init>(okhttp3.OkHttpClient$Builder) (OkHttpClient.kt:219) …
22 android  okhttp 

4
ลาดเทดึง / ดันคอมไพล์จาก Android studio 4.0 canary
ทุกครั้งที่ฉันพยายามดึง repo ออกจากที่ฝากข้อมูลฉันจะได้รับข้อผิดพลาด Failed to start Git process User Authentication Token not found ฉันได้ลองรีเซ็ตข้อมูลประจำตัว windows ถอนการติดตั้งและติดตั้งทั้ง git และ Android Studio อีกครั้งเนื่องจากฉันคิดว่ามีปัญหาความเข้ากันได้กับ Android studio 4.0 และพีซีของฉันซึ่งใช้ windows 10 ความคิดใด ๆ
21 android  git 

1
วิธีแก้ไข“ Emulator: คำเตือน: QXcbIntegration: ไม่สามารถสร้างบริบท OpenGL ของแพลตฟอร์มได้ไม่ต้องเปิดใช้งาน GLX หรือ EGL ((null): 0, (null))”
ฉันกำลังทำงานบน xfce "Xubuntu" ฉันได้อัปเดตสตูดิโอ Android ของฉันและทุกครั้งที่ฉันดำเนินการโครงการด้วยโปรแกรมเลียนแบบฉันได้รับข้อผิดพลาดสองข้อนี้: ผู้เลียนแบบ: คำเตือน: QXcbIntegration: ไม่สามารถสร้างบริบทแพลตฟอร์ม OpenGL ได้ทั้ง GLX และ EGL ไม่ได้เปิดใช้งาน ((null): 0, (null)) ตัวจำลอง: ตัวจำลอง: ข้อผิดพลาด: VkCommonOperations.cpp: 496: ไม่สามารถสร้างอินสแตนซ์ Vulkan

2
Android AsyncTask API กำลังลดลงใน Android 11 ทางเลือกคืออะไร?
แก้ไข : คำถามนี้ไม่ซ้ำกันว่า เพียงสองสามวันกลับ AOSP กระทำเมื่อเลิกใช้แล้ว คำถามอื่น ๆ เกี่ยวกับการใช้ AsyncTaskLoader ผ่าน AsyncTask Google กำลังเลิกใช้ Android AsyncTask API ใน Android 11 และแนะนำให้ใช้java.util.concurrentแทน คุณสามารถตรวจสอบการกระทำที่นี่ * * @deprecated Use the standard <code>java.util.concurrent</code> or * <a href="https://developer.android.com/topic/libraries/architecture/coroutines"> * Kotlin concurrency utilities</a> instead. */ @Deprecated public abstract class AsyncTask<Params, Progress, Result> { หากคุณกำลังบำรุงรักษา codebase ที่เก่ากว่าด้วยงานอะซิงโครนัสใน …
21 java  android 

3
Kotlin Flow กับ Android LiveData
ฉันมีคำถามบางอย่างเกี่ยวกับ Kotlin Flow ฉันสามารถสังเกต LiveData ได้จากหลายแฟรกเมนต์ ฉันสามารถทำสิ่งนี้กับ Flow ได้หรือไม่ ถ้าใช่แล้วได้อย่างไร เราสามารถมี LiveData หลายรายการจาก LiveData เดียวโดยใช้&map switchMapมีวิธีใดที่จะมีการไหลหลายครั้งจากการไหลของแหล่งเดียว? ใช้MutableLiveDataฉันสามารถปรับปรุงข้อมูลได้จากทุกที่โดยใช้การอ้างอิงตัวแปร มีวิธีใดที่จะทำเช่นเดียวกันกับ Flow ฉันมีกรณีใช้: ฉันจะสังเกตการSharedPreferencesใช้callbackFlow{...}ซึ่งจะให้ฉันไหลที่มาเดียว จาก Flow นั้นฉันต้องการสร้าง Flow หลายรายการสำหรับคู่คีย์ - ค่าแต่ละคู่ คำถามเหล่านี้อาจฟังดูไร้สาระ ฉันใหม่สำหรับ Rx และ Flow โลก

4
FragmentContainerView เป็น NavHostFragment
ดูเหมือนว่าการใช้FragmentContainerViewไม่ทำงานออกจากกล่องใช่ไหม <androidx.fragment.app.FragmentContainerView class="androidx.navigation.fragment.NavHostFragment" android:id="@+id/fragment_nav_host" android:layout_width="match_parent" android:layout_height="match_parent" app:defaultNavHost="true" app:navGraph="@navigation/nav_app" /> นี่คือรหัสของฉันโดยใช้fragment-ktx:1.2.0-rc01และฉันเพิ่งได้รับข้อผิดพลาดนี้: Caused by: java.lang.IllegalStateException: Activity ...MainActivity@797467d does not have a NavController set on 2131296504 เพียงแค่ใช้<fragment>งานและ AFAIK FragmentContainerViewก็ควรเพียงแค่จะถูกแทนที่ด้วย ฉันไม่มีอะไรหรือไม่ก็ทุกคนสามารถที่จะใช้FragmentContainerViewเป็นNavHostFragment? ขอบคุณมาก!

7
เล่นการติดตั้งไลบรารีผู้อ้างอิงเพิ่มสิทธิ์ WRITE_EXTERNAL_STORAGE และ READ_EXTERNAL_STORAGE
เรากำลังพยายามอัปเดตไลบรารีผู้อ้างอิงติดตั้ง Google Play และ ภายในเป็นการเพิ่มสิทธิ์การอ่านเพื่อเขียนภายนอก <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> เราจำเป็นต้องใช้สิทธิ์จริง ๆ หรือไม่? เมืองขึ้น implementation 'com.android.installreferrer:installreferrer:1.1 ที่มาhttps://developer.android.com/google/play/installreferrer/library.html

4
ข้อผิดพลาดการป้อนข้อมูลซ้ำกันของ Gradle: META-INF / MANIFEST.MF (หรือวิธีการลบไฟล์ออกจาก jar)
ฉันโคลนที่เก็บ github เพราะฉันต้องการศึกษาโค้ด แต่เมื่อฉันพยายามสร้างมันใน Android Studio ฉันพบปัญหาบางอย่าง หลังจากเพิ่ม google maven repository (ดังที่ได้รับแจ้งจาก Android Studio) และอัปเดตทั้ง Gradle Plugin Version และ Grade Version (เป็น 3.5.2 และ 5.4.1 ตามลำดับ) การบิลด์ล้มเหลวเนื่องจากข้อผิดพลาดต่อไปนี้: สาเหตุ: รายการที่ซ้ำกัน: META-INF / MANIFEST.MF และนี่จะเฉพาะเจาะจงมากขึ้น: เกิดจาก: java.util.zip.ZipException: รายการซ้ำ: META-INF / MANIFEST.MF นี่คือไฟล์ build.gradle ระดับโครงการของฉัน: buildscript { repositories { jcenter() google() } dependencies …

5
ได้รับข้อผิดพลาดว่า -“ ชื่อรายการ 'res / layout / test_toolbar.xml' ชนกัน” ในขณะที่สร้าง apk ที่ลงชื่อแล้ว
ฉันได้อัปเดตสตูดิโอ Android ของฉันจาก3.5.xเป็น3.6วันนี้และได้รับข้อผิดพลาดขณะสร้าง apk ที่ลงชื่อเพื่อสร้างชุดตัวเลือกที่แสดงข้อความต่อไปนี้ - ชื่อรายการ 'res / layout / test_toolbar.xml'ชนกันฉันไม่มีเลย์เอาต์เช่นนี้ หนึ่งในโครงการทั้งหมดเลย ฉันมีชุดตัวสร้างแบบกำหนดเองชื่อ " เวที " และเมื่อใดก็ตามที่ฉันพยายามสร้าง apk ที่ลงชื่อแล้วมันจะล้มเหลวเสมอ ฉันนับหาวิธีการแก้ปัญหาใด ๆ โปรดช่วยฉันด้วยปัญหานี้ ขอบคุณ อัปเดต: ปัญหาเดียวกันสามารถเกิดขึ้นได้กับข้อความต่อไปนี้ด้วย (ตามที่ฉันพบในAS - 3.6.1 ) ดังนั้นไม่ต้องกังวลกับข้อความที่ไม่รู้จักและไม่สามารถแก้ไขได้ จนถึงตอนนี้ฉันพบข้อความประเภทใหม่สองข้อความขณะสร้าง apk ที่ลงชื่อ Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided Access Denied วิธีแก้ไขก็เหมือนกัน บางครั้งคุณอาจต้องใช้Invalidate Cache and RestartAS ของคุณสำหรับเรื่องนี้ แจ้งให้เราทราบสิ่งที่คุณค้นพบ ขอบคุณ

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