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

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

9
เป็นไปได้ไหมที่จะประกาศตัวแปรใน Gradle ที่ใช้งานได้ใน Java?
เป็นไปได้ไหมที่จะประกาศตัวแปรใน Gradle ที่ใช้งานได้ใน Java? โดยทั่วไปฉันต้องการประกาศ vars บางอย่างใน build.gradle และจากนั้นรับมัน (ชัด) ในเวลาที่สร้าง เช่นเดียวกับมาโครตัวประมวลผลล่วงหน้าใน C / C ++ ... ตัวอย่างของการประกาศจะเป็นอย่างนั้น ... : android { debug { A_VAR_RETRIEVABLE_IN_JAVA = 42 } release { A_VAR_RETRIEVABLE_IN_JAVA = 42+52 } } มีวิธีทำอะไรแบบนั้นเหรอ?

4
getApplication () กับ getApplicationContext ()
ฉันไม่สามารถหาคำตอบที่น่าพอใจได้ดังนั้นเราไปที่: จัดการกับอะไรActivity/Service.getApplication()และContext.getApplicationContext()? ในแอปพลิเคชันของเราทั้งคู่จะส่งคืนวัตถุเดียวกัน ActivityTestCaseอย่างไรก็ตามในการเยาะเย้ยแอปพลิเคชันจะgetApplication()กลับมาพร้อมกับการเยาะเย้ย แต่getApplicationContextจะยังคงกลับตัวอย่างบริบทที่แตกต่างกัน (หนึ่งฉีดโดย Android) นั่นเป็นข้อบกพร่องหรือไม่? มันตั้งใจหรือไม่ ฉันไม่เข้าใจความแตกต่างตั้งแต่แรก มีกรณีนอกชุดทดสอบที่การโทรทั้งสองอาจกลับมาพร้อมกับวัตถุที่แตกต่างกันหรือไม่? เมื่อใดและเพราะเหตุใด ยิ่งไปกว่านั้นคือเหตุผลที่getApplicationกำหนดไว้บนActivityและServiceแต่ไม่ได้อยู่Context? ไม่ควรมีอินสแตนซ์แอปพลิเคชันที่ใช้ได้จากทุกที่ใช่หรือไม่

17
แอตทริบิวต์ android: onClick XML แตกต่างจาก setOnClickListener อย่างไร
จากที่ฉันอ่านคุณสามารถกำหนดonClickตัวจัดการให้กับปุ่มได้สองวิธี การใช้android:onClickแอ็ตทริบิวต์ XML ที่คุณเพียงแค่ใช้ชื่อของวิธีสาธารณะด้วยลายเซ็นvoid name(View v)หรือโดยใช้setOnClickListenerวิธีการที่คุณผ่านวัตถุที่ใช้OnClickListenerอินเตอร์เฟซ หลังมักจะต้องมีระดับที่ไม่ระบุชื่อซึ่งส่วนตัวผมไม่ชอบ (รสนิยมส่วนตัว) OnClickListenerหรือการกำหนดชั้นภายในที่ดำเนินการ โดยการใช้แอตทริบิวต์ XML คุณเพียงแค่ต้องกำหนดวิธีการแทนการเรียนดังนั้นฉันสงสัยว่าสามารถทำได้โดยใช้รหัสและไม่ใช่ในรูปแบบ XML
416 android  onclick 



14
การเปลี่ยนระดับ API ของ Android Studio
ฉันต้องการเปลี่ยนเวอร์ชั่น SDK ขั้นต่ำใน Android Studio จาก API 12 เป็น API 14 ฉันได้ลองเปลี่ยนเป็นไฟล์ Manifest เช่น <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="18" /> และสร้างโครงการขึ้นใหม่ แต่ฉันยังคงได้รับ Android Studio IDE ทำให้เกิดข้อผิดพลาด ฉันคิดว่าฉันต้องตั้งค่า SDK ขั้นต่ำใน 'คุณสมบัติของโครงการ' หรือสิ่งที่คล้ายกันดังนั้น IDE จะรับรู้การเปลี่ยนแปลง แต่ฉันไม่สามารถหาสิ่งที่จะทำใน Android Studio

12
วิธีรับที่อยู่อีเมลหลักของอุปกรณ์ Android
คุณจะได้รับที่อยู่อีเมลหลักของ Android (หรือรายการที่อยู่อีเมล) ได้อย่างไร ฉันเข้าใจว่าใน OS 2.0+ มีการสนับสนุนที่อยู่อีเมลหลายแห่ง แต่ด้านล่าง 2.0 คุณสามารถมีที่อยู่อีเมลได้เพียงหนึ่งรายการต่ออุปกรณ์
412 android  email 

6
วิธีตรวจสอบชื่อใบรับรองและนามแฝงในไฟล์ที่เก็บคีย์?
ฉันมีไฟล์. keystore จำนวนมากและต้องการค้นหาไฟล์ที่มี CN และนามแฝงเฉพาะ มีวิธีทำกับ keytool, jarsigner หรือเครื่องมืออื่น ๆ หรือไม่? ฉันพบวิธีตรวจสอบว่าที่เก็บคีย์เฉพาะถูกใช้เพื่อลงนาม apk เฉพาะหรือไม่ แต่ฉันจำเป็นต้องได้รับนามแฝงและชื่อใบรับรองในแต่ละไฟล์ด้วย
410 java  android  keystore 

15
Android Spinner: รับกิจกรรมการเปลี่ยนแปลงรายการที่เลือก
คุณจะตั้งค่าฟังเหตุการณ์สำหรับสปินเนอร์ได้อย่างไรเมื่อรายการที่เลือกเปลี่ยนแปลง โดยพื้นฐานสิ่งที่ฉันพยายามทำคือสิ่งที่คล้ายกับสิ่งนี้: spinner1.onSelectionChange = handleSelectionChange; void handleSelectionChange(Object sender){ //handle event }

24
มีวิธีง่าย ๆ ในการเพิ่มเส้นขอบไปด้านบนและด้านล่างของมุมมอง Android หรือไม่
ฉันมี TextView และฉันต้องการเพิ่มเส้นขอบสีดำตามแนวขอบด้านบนและด้านล่าง ฉันพยายามเพิ่มandroid:drawableTopและandroid:drawableBottomไปที่ TextView แต่นั่นทำให้มุมมองทั้งหมดกลายเป็นสีดำ <TextView android:background="@android:color/green" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawableTop="@android:color/black" android:drawableBottom="@android:color/black" android:text="la la la" /> มีวิธีเพิ่มขอบด้านบนและด้านล่างลงในมุมมอง (โดยเฉพาะ TextView) ใน Android หรือไม่?

20
วิธีรวมแพ็คเกจ aar ภายนอกด้วยตนเองโดยใช้ Gradle Android Build System ใหม่
ฉันกำลังทดลองกับระบบ android build ใหม่และฉันพบปัญหาเล็กน้อย ฉันได้รวบรวมแพคเกจ aar ของฉันเองของ ActionBarSherlock ซึ่งฉันเรียกว่า 'actionbarsherlock.aar' สิ่งที่ฉันพยายามทำคือใช้ aar นี้เพื่อสร้าง APK สุดท้ายของฉัน ถ้าฉันรวมทั้งไลบรารี ActionBarSherlock ทั้งหมดเป็นโมดูล android-library ในโครงการหลักของฉันโดยใช้โครงการคอมไพล์ (': actionbarsherlock') ฉันสามารถสร้างได้สำเร็จโดยไม่มีปัญหาใด ๆ แต่ปัญหาของฉันคือฉันต้องการให้การอ้างอิงเป็นแพคเกจไฟล์ aar ด้วยตนเองถ้าฉันเป็น JAR ฉันก็ดูเหมือนจะไม่สามารถหาวิธีที่จะรวมไว้ในโครงการของฉันได้อย่างถูกต้อง ฉันพยายามใช้การกำหนดค่าการคอมไพล์แล้ว แต่ดูเหมือนจะไม่ทำงาน ฉันยังคงหาสัญลักษณ์ไม่พบในระหว่างการคอมไพล์ซึ่งบอกฉันว่า classes.jar จากแพ็คเกจ aar ไม่ได้ถูกรวมอยู่ใน classpath ไม่มีใครรู้ว่าไวยากรณ์เพื่อรวม aar แพ็คเกจเป็นไฟล์ด้วยตนเองหรือไม่? build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath …

12
วิธีการอ่าน / เขียนบูลีนเมื่อใช้งานส่วนต่อประสาน Parcelable?
ฉันกำลังพยายามที่ArrayList Parcelableจะส่งรายการของวัตถุที่กำหนดเองให้กับกิจกรรม ฉันจะเริ่มต้นการเขียนmyObjectListระดับซึ่งทอดตัวและดำเนินการArrayList<myObject>Parcelable คุณลักษณะบางส่วนของMyObjectมีbooleanแต่ไม่ได้มีวิธีการใดParcel ๆread/writeBoolean วิธีที่ดีที่สุดในการจัดการกับสิ่งนี้คืออะไร?

5
ลิ้นชักการนำทาง (Google+ เทียบกับ YouTube)
ไม่มีใครรู้วิธีการใช้เมนูแบบเลื่อนเช่นแอพยอดนิยมในปัจจุบัน คำถาม Stack Overflow อื่น ๆยังไม่มีคำตอบใด ๆ เกี่ยวกับวิธีการทำเช่นนี้ดังนั้นฉันจึงพยายามรวบรวมข้อมูลเพื่อช่วยผู้อื่น แอพพลิเคชั่นทั้งหมดที่ฉันพูดถึงด้านล่างนี้ทำได้ดีมากในการใช้เมนูสไลด์ 1. Google Plus (ลงวันที่ 7/7/12) คุณสามารถไปจากหน้าจอแรกไปยังหน้าจอที่สองได้โดยคลิกโลโก้ G + ที่มุมซ้ายบน ขอให้สังเกตว่าหน้าจอทั้งหมดย้ายจากตำแหน่งและรับของถูกเลื่อนไปทางด้านขวาของหน้าจอ (รวมถึงแถบการกระทำ) หากต้องการกลับไปที่หน้าจอแรกคุณสามารถเลื่อนด้านขวากลับเข้าสู่การโฟกัสหรือคุณสามารถคลิกที่ไอคอน G + อีกครั้ง 2. YouTube (จนถึง 7/7/12) คุณสามารถเปลี่ยนจากหน้าจอแรกเป็นหน้าจอที่สองโดยใช้สองวิธี คลิกโลโก้ YouTube ที่ด้านซ้ายบนหรือคุณสามารถใช้การเลื่อนนิ้วเพื่อเลื่อนไปทางขวา สิ่งนี้แตกต่างจากแอป G + แล้ว ประการที่สองคุณจะเห็นว่าแถบแอ็คชันยังคงอยู่ (ต่างจาก G +) สุดท้ายเพื่อให้หน้าจอดั้งเดิมกลับมาทำงานเหมือน G +

18
ใน Android ฉันจะตั้งค่าระยะขอบเป็น dp โดยทางโปรแกรมได้อย่างไร
ในนี้ , นี้และนี้ด้ายฉันพยายามที่จะหาคำตอบเกี่ยวกับวิธีการตั้งค่าระยะขอบบนมุมมองเดียว อย่างไรก็ตามฉันสงสัยว่าถ้าไม่มีวิธีที่ง่ายกว่านี้ ฉันจะอธิบายว่าทำไมฉันจึงไม่ต้องการใช้วิธีนี้: ฉันมีปุ่มที่กำหนดเองซึ่งขยายปุ่ม หากพื้นหลังถูกตั้งค่าเป็นอย่างอื่นนอกเหนือจากพื้นหลังเริ่มต้น (โดยการเรียกอย่างใดอย่างหนึ่งsetBackgroundResource(int id)หรือsetBackgroundDrawable(Drawable d)) ฉันต้องการให้ระยะขอบเป็น 0 ถ้าฉันเรียกสิ่งนี้ว่า public void setBackgroundToDefault() { backgroundIsDefault = true; super.setBackgroundResource(android.R.drawable.btn_default); // Set margins somehow } ฉันต้องการให้อัตรากำไรขั้นต้นที่จะรีเซ็ต -3dp (ฉันได้อ่านที่นี่วิธีการแปลงจากพิกเซล DP, ดังนั้นเมื่อผมรู้ว่าอัตรากำไรที่ตั้งอยู่ใน px ผมสามารถจัดการแปลงตัวเอง) แต่เนื่องจากสิ่งนี้ถูกเรียกในCustomButtonชั้นเรียนผู้ปกครองอาจแตกต่างจาก LinearLayout ถึง TableLayout และฉันไม่อยากให้เขาได้รับผู้ปกครองของเขาและตรวจสอบตัวอย่างของผู้ปกครองนั้น นั่นจะเป็นสิ่งที่ไม่มีประสิทธิภาพเลยทีเดียว นอกจากนี้เมื่อโทร (โดยใช้ LayoutParams) parentLayout.addView(myCustomButton, newParams)ฉันไม่รู้ว่าสิ่งนี้เพิ่มเข้าไปในตำแหน่งที่ถูกต้อง (ยังไม่ได้ลอง) ให้พูดปุ่มกลางของแถวที่ห้า คำถาม: มีวิธีใดที่ง่ายกว่าในการตั้งค่าระยะขอบของปุ่มเดียวโดยทางโปรแกรมนอกเหนือจากการใช้ LayoutParams? แก้ไข: …
401 android  layout  button  margin 

12
ฉันจะลบบรรทัดระหว่าง ListViews บน Android ได้อย่างไร
ฉันใช้สองคนListViewแบบนี้: <ListView android:id="@+id/ListView" android:text="@string/Website" android:layout_height="30px" android:layout_width="150px" android:scrollbars="none" android:transcriptMode="normal"/> <ListView android:id="@+id/ListView1" android:text="@string/Website" android:layout_height="30px" android:layout_width="150px" android:scrollbars="none" android:transcriptMode="normal"/> มีหนึ่งบรรทัดว่างระหว่างสองListViews ฉันจะลบออกได้อย่างไร

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