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

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

8
ความแตกต่างระหว่างไดเร็กทอรี / res และ / assets
ฉันรู้ว่าไฟล์ในresไดเรกทอรีสามารถเข้าถึงได้จากR.classในขณะที่สินทรัพย์ทำงานเหมือนระบบไฟล์ แต่ฉันต้องการทราบโดยทั่วไปว่าเมื่อใดควรใช้อย่างใดอย่างหนึ่ง ใครสามารถช่วยฉันในการรู้ความแตกต่างที่แท้จริงระหว่างความละเอียดและสินทรัพย์

1
จะมีผลต่อการสร้างรหัส Delphi XEx สำหรับเป้าหมาย Android / ARM อย่างไร
อัพเดท 2017-05-17 ฉันไม่ทำงานให้กับ บริษัท ที่มีคำถามนี้มาแล้วและไม่สามารถเข้าถึง Delphi XEx ได้ ในขณะที่ฉันอยู่ที่นั่นปัญหาได้รับการแก้ไขโดยการโยกย้ายไปยัง FPC + GCC (Pascal + C) ผสมกับ NEON อินทรินซินส์สำหรับกิจวัตรบางอย่างที่สร้างความแตกต่าง (แนะนำให้ใช้ FPC + GCC เพราะช่วยให้สามารถใช้เครื่องมือมาตรฐานโดยเฉพาะอย่างยิ่ง Valgrind) หากมีใครสามารถสาธิตด้วยตัวอย่างที่น่าเชื่อถือว่าจริง ๆ แล้วพวกเขาสามารถสร้างรหัส ARM ที่ดีที่สุดจาก Delphi XEx ได้อย่างไรฉันยินดีที่จะตอบ . คอมไพเลอร์ Delphi ของ Embarcadero ใช้แบ็กเอนด์ LLVM เพื่อสร้างรหัส ARM ดั้งเดิมสำหรับอุปกรณ์ Android ฉันมีรหัส Pascal จำนวนมากที่ฉันต้องรวบรวมในแอปพลิเคชัน Android และฉันต้องการทราบวิธีการทำให้ Delphi สร้างรหัสที่มีประสิทธิภาพมากขึ้น …

10
ตั้งค่าระยะขอบใน LinearLayout แบบเป็นโปรแกรม
ฉันพยายามใช้ Java ( ไม่ใช่ XML ) เพื่อสร้าง LinearLayout ด้วยปุ่มที่เติมเต็มหน้าจอและมีระยะขอบ นี่คือโค้ดที่ทำงานโดยไม่มีระยะขอบ: LinearLayout buttonsView = new LinearLayout(this); buttonsView.setOrientation(LinearLayout.VERTICAL); for (int r = 0; r < 6; ++r) { Button btn = new Button(this); btn.setText("A"); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); // Verbose! lp.weight = 1.0f; // This is critical. Doesn't work without …
266 java  android  layout  view  margin 

21
Android - การใช้แบบอักษรที่กำหนดเอง
ฉันใช้แบบอักษรที่กำหนดเองกับ TextViewแต่ดูเหมือนจะไม่เปลี่ยนแบบอักษร นี่คือรหัสของฉัน: Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf"); TextView myTextView = (TextView)findViewById(R.id.myTextView); myTextView.setTypeface(myTypeface); ใครช่วยได้โปรดนำฉันออกจากปัญหานี้ได้ไหม

3
ค่าที่ถูกต้องสำหรับ Android: fontFamily และสิ่งที่พวกเขาแผนที่ไป?
ในคำตอบสำหรับคำถามนี้ผู้ใช้แสดงรายการค่าสำหรับandroid:fontFamilyและ 12 ตัวแปร (ดูด้านล่าง) คุณค่าเหล่านี้มาจากไหน เอกสารสำหรับandroid:fontFamilyไม่แสดงรายการข้อมูลนี้ในสถานที่ใด ๆ (ฉันตรวจสอบที่นี่และที่นี่ ) สตริงแสดงอยู่ในไฟล์Android styles.xmlในหลาย ๆ ที่ แต่แมปเหล่านี้กลับไปเป็นแบบอักษร Roboto ได้อย่างไร จาก android 4.1 / 4.2 จะมีตระกูลฟอนต์ Roboto ดังต่อไปนี้: android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0) ร่วมกับสิ่งนี้ android:textStyle="normal|bold|italic" …
266 android  fonts  styles 

15
"ให้คะแนนแอปนี้" - ลิงก์ในแอป Google Play สโตร์บนโทรศัพท์
ฉันต้องการใส่ "ให้คะแนนแอปนี้" ลิงก์ในแอป Android เพื่อเปิดรายการแอพในแอพ Google Play สโตร์ของผู้ใช้บนโทรศัพท์ ฉันต้องเขียนโค้ดอะไรเพื่อสร้างmarket://หรือhttp://-link เปิดในแอป Google Play สโตร์บนโทรศัพท์ คุณใส่รหัสที่ไหน ใครบ้างมีตัวอย่างการดำเนินการนี้ คุณต้องระบุหน้าจอที่จะวางลิงค์market://หรือhttp://ลิงค์ไหนดีที่สุดในการใช้ - market://หรือhttp://?

10
ฉันหา keytool ของ Android ไม่พบ
ฉันพยายามที่จะปฏิบัติตาม Android ทำแผนที่การกวดวิชาและได้ส่วนนี้ที่ฉันได้รับคีย์ API ฉันพบของฉันแล้วdebug.keystoreแต่ดูเหมือนจะไม่เป็นkeytoolแอปพลิเคชันในไดเรกทอรี: C:\Documents and Settings\tward\\.android>ls adb_usb.ini avd debug.keystore repositories.cfg androidtool.cfg ddms.cfg default.keyset นอกจากนี้ยังไม่มีkeytoolในไดเรกทอรีนี้: C:\Android\android-sdk-windows\tools>ls AdbWinApi.dll apkbuilder.bat etc1tool.exe mksdcard.exe AdbWinUsbApi.dll ddms.bat fastboot.exe source.properties Jet dmtracedump.exe hierarchyviewer.bat sqlite3.exe NOTICE.txt draw9patch.bat hprof-conv.exe traceview.bat adb.exe emulator.exe layoutopt.bat zipalign.exe android.bat emulator_NOTICE.txt lib ฉันใช้Eclipseเป็นเครื่องมือแก้ไขของฉันและเชื่อว่าฉันได้ดาวน์โหลด SDK ล่าสุดทั้งหมดแล้ว ผมทำอะไรผิดหรือเปล่า?

6
ชิ้นส่วน Android และภาพเคลื่อนไหว
คุณควรใช้การเลื่อนแบบนั้นเช่นไคลเอ็นต์ Honeycomb Gmail ใช้อย่างไร สามารถTransactionManagerจัดการสิ่งนี้โดยอัตโนมัติโดยการเพิ่มและลบ Fragments มันยากที่จะทดสอบสิ่งนี้เนื่องจากตัวจำลองเป็นสไลด์โชว์ :)

7
เมื่อใดที่จะเรียกบริบทของกิจกรรมหรือบริบทของแอปพลิเคชัน
มีการโพสต์เกี่ยวกับบริบทสองอย่างนี้มากมาย แต่ฉันยังไม่เข้าใจ ตามที่ฉันเข้าใจแล้ว: แต่ละตัวอย่างของคลาสซึ่งหมายความว่าโปรแกรมเมอร์บางคนแนะนำให้คุณใช้this.getApplicationContext()บ่อยที่สุดเท่าที่จะทำได้เพื่อไม่ให้ "รั่วไหล" หน่วยความจำใด ๆ เนื่องจากอื่น ๆthis(รับActivityบริบทของอินสแตนซ์) ชี้ไปActivityที่ถูกทำลายทุกครั้งที่ผู้ใช้เอียงโทรศัพท์หรือออกจากแอพ ฯลฯ ซึ่งเห็นได้ชัดว่า Garbage Collector (GC) ไม่จับและใช้หน่วยความจำมากเกินไป .. แต่ทุกคนสามารถมาด้วยตัวอย่างการเขียนโค้ดที่ดีจริง ๆ ซึ่งมันเป็นสิ่งที่ถูกต้องที่จะใช้this(รับบริบทของActivityอินสแตนซ์ปัจจุบัน) และบริบทของแอปพลิเคชันจะไร้ประโยชน์ / ผิด

15
ป้องกันไม่ให้คีย์บอร์ดแสดงเมื่อเริ่มกิจกรรม
ฉันมีกิจกรรมกับ Edit Textอินพุต เมื่อกิจกรรมเริ่มต้นขึ้นแป้นพิมพ์ Android จะปรากฏขึ้น แป้นพิมพ์จะยังคงซ่อนอยู่ได้อย่างไรจนกว่าผู้ใช้จะเน้นการป้อนข้อมูล

12
android บน Text Change Listener
ฉันมีสถานการณ์ที่มีสองช่อง และfield1 field2สิ่งที่ฉันต้องการทำว่างเปล่าfield2เมื่อfield1มีการเปลี่ยนแปลงและในทางกลับกัน ดังนั้นในตอนท้ายมีเพียงหนึ่งฟิลด์เท่านั้นที่มีเนื้อหาอยู่ field1 = (EditText)findViewById(R.id.field1); field2 = (EditText)findViewById(R.id.field2); field1.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {} public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void onTextChanged(CharSequence s, int start, int before, int count) { field2.setText(""); } }); field2.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable …


12
AsyncTask มีข้อบกพร่องทางแนวคิดจริงๆหรือฉันแค่ทำบางสิ่งหายไป?
ฉันได้ตรวจสอบปัญหานี้มาหลายเดือนแล้วและหาวิธีแก้ปัญหาที่แตกต่างกันไปซึ่งฉันไม่พอใจเพราะมันเป็นแฮ็คขนาดใหญ่ ฉันยังไม่สามารถเชื่อได้ว่าคลาสที่มีข้อบกพร่องด้านการออกแบบทำให้มันเข้ากับกรอบงานและไม่มีใครพูดถึงมันดังนั้นฉันคิดว่าฉันต้องพลาดบางสิ่งบางอย่าง AsyncTaskปัญหาอยู่ที่ ตามเอกสารนั้น "อนุญาตให้ดำเนินการพื้นหลังและเผยแพร่ผลลัพธ์บนเธรด UI โดยไม่ต้องจัดการกับเธรดและ / หรือตัวจัดการ" ตัวอย่างแล้วยังแสดงให้เห็นว่าบางอย่างที่เป็นแบบอย่างวิธีการที่เรียกว่าshowDialog() onPostExecute()นี้ แต่ดูเหมือนว่าที่วางแผนอย่างสิ้นเชิงกับผมเพราะแสดงโต้ตอบเสมอต้องมีการอ้างอิงถึงที่ถูกต้องContextและ AsyncTask ไม่ต้องถืออ้างอิงที่แข็งแกร่งให้กับวัตถุบริบท เหตุผลชัดเจน: เกิดอะไรขึ้นถ้ากิจกรรมถูกทำลายซึ่งก่อให้เกิดงาน? สิ่งนี้สามารถเกิดขึ้นได้ตลอดเวลาเช่นเนื่องจากคุณพลิกหน้าจอ หากงานนั้นจะมีการอ้างอิงถึงบริบทที่สร้างคุณไม่เพียง แต่จะถือวัตถุบริบทที่ไร้ประโยชน์ (หน้าต่างจะถูกทำลายและการโต้ตอบ UI ใด ๆจะล้มเหลวด้วยข้อยกเว้น!) คุณยังมีความเสี่ยงในการสร้าง หน่วยความจำรั่ว ยกเว้นว่าตรรกะของฉันมีข้อบกพร่องนี่แปลเป็น: onPostExecute()ไร้ประโยชน์อย่างสิ้นเชิงเพราะวิธีนี้จะทำงานบนเธรด UI ได้ดีเพียงใดหากคุณไม่สามารถเข้าถึงบริบทใด ๆ คุณไม่สามารถทำอะไรที่มีความหมายได้ที่นี่ วิธีแก้ปัญหาหนึ่งคือการไม่ส่งอินสแตนซ์บริบทไปยัง AsyncTask แต่เป็นHandlerอินสแตนซ์ ใช้งานได้: เนื่องจากตัวจัดการผูกบริบทและภารกิจไว้อย่างหลวม ๆ คุณสามารถแลกเปลี่ยนข้อความระหว่างกันโดยไม่เสี่ยงต่อการรั่วไหล (ใช่ไหม) แต่นั่นหมายความว่าสถานที่ตั้งของ AsyncTask คือคุณไม่จำเป็นต้องกังวลกับตัวจัดการผิด ดูเหมือนว่าการใช้ Handler ในทางที่ผิดเนื่องจากคุณกำลังส่งและรับข้อความในเธรดเดียวกัน (คุณสร้างมันบนเธรด UI และส่งผ่านมันใน onPostExecute () …

5
Kotlin และ ActivityTestRule ใหม่: @Rule ต้องเป็นสาธารณะ
ฉันพยายามทำการทดสอบ UI สำหรับแอพ Android ของฉันใน Kotlin เนื่องจากระบบใหม่ที่ใช้ ActivityTestRule ฉันไม่สามารถทำงานได้: มันคอมไพล์อย่างถูกต้องและในขณะรันไทม์ฉันได้รับ: java.lang.Exception: The @Rule 'mActivityRule' must be public. at org.junit.internal.runners.rules.RuleFieldValidator.addError(RuleFieldValidator.java:90) at org.junit.internal.runners.rules.RuleFieldValidator.validatePublic(RuleFieldValidator.java:67) at org.junit.internal.runners.rules.RuleFieldValidator.validateField(RuleFieldValidator.java:55) at org.junit.internal.runners.rules.RuleFieldValidator.validate(RuleFieldValidator.java:50) at org.junit.runners.BlockJUnit4ClassRunner.validateFields(BlockJUnit4ClassRunner.java:170) at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:103) at org.junit.runners.ParentRunner.validate(ParentRunner.java:344) at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74) at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:55) at android.support.test.internal.runner.junit4.AndroidJUnit4ClassRunner.<init>(AndroidJUnit4ClassRunner.java:38) at android.support.test.runner.AndroidJUnit4.<init>(AndroidJUnit4.java:36) at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.support.test.internal.runner.junit4.AndroidAnnotatedBuilder.buildAndroidRunner(AndroidAnnotatedBuilder.java:57) at android.support.test.internal.runner.junit4.AndroidAnnotatedBuilder.runnerForClass(AndroidAnnotatedBuilder.java:45) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) …

15
Android Gradle Apache HttpClient ไม่มีอยู่จริง?
ฉันกำลังพยายามแปลงโครงการ IntelliJ เป็นระบบ Gradle ของ Android Studio แต่ฉันพบข้อผิดพลาดกับ Apache HttpClient หรือไม่ ฉันพลาดอะไรบางอย่างข้อผิดพลาดที่ฉันได้รับมีดังนี้: Error:(10, 30) error: package org.apache.http.client does not exist Error:(11, 30) error: package org.apache.http.client does not exist Error:(12, 37) error: package org.apache.http.client.entity does not exist Error:(13, 38) error: package org.apache.http.client.methods does not exist Error:(14, 38) error: package org.apache.http.client.methods does …

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