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

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

30
การแปลงพิกเซลเป็น dp
ผมได้สร้างแอพลิเคชันของฉันกับความสูงและความกว้างที่กำหนดในพิกเซลสำหรับอุปกรณ์ Pantech 480x800ที่มีความละเอียด ฉันต้องการแปลงความสูงและความกว้างสำหรับอุปกรณ์ G1 ฉันคิดว่าการแปลงเป็น dp จะแก้ปัญหาและให้วิธีแก้ปัญหาเดียวกันสำหรับอุปกรณ์ทั้งสอง มีวิธีง่าย ๆ ในการแปลงพิกเซลเป็น DP? ข้อเสนอแนะใด ๆ
826 android  pixel  resolution  dpi 

27
วิธีที่ง่ายและแข็งแกร่งที่สุดในการรับตำแหน่งปัจจุบันของผู้ใช้บน Android คืออะไร
LocationManagerAPI บน Android ดูเหมือนว่ามันเป็นบิตของความเจ็บปวดที่จะใช้สำหรับโปรแกรมที่ต้องการเพียงการประมาณครั้งคราวและหยาบของตำแหน่งของผู้ใช้ด้วย แอพที่ฉันใช้งานอยู่ไม่ใช่แอปที่ตั้งจริง ๆ แต่มันต้องได้รับตำแหน่งของผู้ใช้เพื่อแสดงรายการธุรกิจใกล้เคียง ไม่จำเป็นต้องกังวลหากผู้ใช้มีการเคลื่อนไหวหรืออะไรทำนองนั้น นี่คือสิ่งที่ฉันต้องการจะทำ: แสดงรายชื่อผู้ใช้ของสถานที่ใกล้เคียง โหลดตำแหน่งของผู้ใช้ล่วงหน้าเพื่อให้ตามเวลาที่ฉันต้องการในActivityX จะสามารถใช้งานได้ ฉันไม่สนใจเกี่ยวกับความแม่นยำหรือความถี่ของการอัปเดตเป็นพิเศษ เพียงแค่คว้าตำแหน่งเดียวก็เพียงพอตราบเท่าที่ยังไม่ได้ออก บางทีถ้าฉันต้องการแฟนซีฉันจะอัปเดตตำแหน่งทุกๆสองสามนาทีหรือมากกว่านั้น แต่มันก็ไม่ได้สำคัญอะไรมาก ทำงานกับอุปกรณ์ใดก็ได้ตราบใดที่มี GPS หรือผู้ให้บริการตำแหน่งเครือข่าย ดูเหมือนว่ามันไม่ควรจะยากขนาดนั้น แต่สำหรับฉันแล้วฉันต้องหมุนผู้ให้บริการตำแหน่งสองแห่ง (GPS และ NETWORK) และจัดการวงจรชีวิตของแต่ละคน ไม่เพียงแค่นั้น แต่ฉันต้องทำซ้ำรหัสเดียวกันในหลายกิจกรรมเพื่อให้เป็นไปตาม # 2 ฉันเคยลองใช้getBestProvider()ในอดีตเพื่อลดโซลูชันลงเพียงแค่ใช้ผู้ให้บริการตำแหน่งรายเดียว แต่ดูเหมือนจะให้เฉพาะผู้ให้บริการ "เชิงทฤษฎี" ที่ดีที่สุดมากกว่าผู้ให้บริการที่จะให้ผลลัพธ์ที่ดีที่สุดแก่คุณ มีวิธีที่ง่ายกว่าในการทำสิ่งนี้หรือไม่?

9
ฉันจะค้นหาการใช้งานหน่วยความจำของแอปพลิเคชันของฉันใน Android ได้อย่างไร
ฉันจะค้นหาหน่วยความจำที่ใช้กับแอปพลิเคชัน Android ของฉันได้โดยทางโปรแกรมอย่างไร ฉันหวังว่าจะมีวิธีที่จะทำ นอกจากนี้ฉันจะรับหน่วยความจำฟรีของโทรศัพท์ได้อย่างไร

30
ฉันจะเพิ่มโครงการห้องสมุดลงใน Android Studio ได้อย่างไร
ฉันจะเพิ่มโครงการห้องสมุด (เช่น Sherlock ABS) ลงในAndroid Studio ได้อย่างไร (ไม่ใช่สำหรับบันเดิลที่ใช้ ADT Eclipse แต่เป็นสำหรับAndroid Studioใหม่)

30
ไลบรารี com.android.support ทั้งหมดต้องใช้ข้อมูลจำเพาะรุ่นที่แน่นอน
หลังจากอัปเดตเป็น android studio 2.3 ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ ฉันรู้ว่ามันเป็นเพียงคำใบ้เมื่อแอปทำงานตามปกติ แต่มันแปลกจริงๆ ไลบรารี com.android.support ทั้งหมดต้องใช้ข้อมูลจำเพาะรุ่นที่แน่นอน (เวอร์ชั่นที่ผสมกันอาจทำให้เกิดข้อผิดพลาดขณะทำงาน) พบรุ่น 25.1.1, 24.0.0 ตัวอย่างเช่น com.android.support:animated-vector-drawable:25.1.1 และ com.android.support:mediarouter-v7:24.0.0 ระดับของฉัน: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support:support-v4:25.1.1' compile 'com.android.support:design:25.1.1' compile 'com.android.support:recyclerview-v7:25.1.1' compile 'com.android.support:cardview-v7:25.1.1' compile 'com.google.android.gms:play-services-maps:10.2.0' compile 'com.google.android.gms:play-services:10.2.0' …

14
Dilemma: เมื่อใดควรใช้ Fragments vs Activities:
ฉันรู้แล้ว Activitiesได้รับการออกแบบมาเพื่อแสดงหน้าจอเดียวของแอปพลิเคชันของฉันในขณะที่Fragmentsได้รับการออกแบบให้เป็นรูปแบบ UI ที่ใช้ซ้ำได้โดยมีตรรกะฝังอยู่ภายใน เมื่อไม่นานมานี้ฉันได้พัฒนาแอปพลิเคชั่นตามที่กล่าวไว้ว่าพวกเขาควรได้รับการพัฒนา ฉันสร้างActivityเพื่อเป็นตัวแทนของหน้าจอของแอพลิเคชันและเศษมือของฉันหรือViewPager Google Mapsฉันไม่ค่อยสร้างListFragment UI หรืออื่น ๆ ที่สามารถนำมาใช้ซ้ำได้หลายครั้ง เร็ว ๆ นี้ผมสะดุดในโครงการที่มีเพียง 2 Activitiesหนึ่งเป็นและอีกหนึ่งคือSettingsActivity MainActivityเลย์เอาต์ของMainActivityบรรจุด้วยแฟรกเมนต์ UI แบบเต็มหน้าจอที่ซ่อนอยู่จำนวนมากและแสดงเพียงหนึ่งอันเท่านั้น ในActivityตรรกะมีหลายFragmentTransitionsหน้าจอที่แตกต่างกันของแอปพลิเคชัน สิ่งที่ฉันชอบเกี่ยวกับวิธีการนี้คือเนื่องจากแอปพลิเคชันใช้ActionBarมันมันยังคงอยู่และไม่ย้ายไปอยู่กับภาพเคลื่อนไหวการสลับหน้าจอซึ่งเป็นสิ่งที่เกิดขึ้นกับการActivityสลับ สิ่งนี้ให้ความรู้สึกที่คล่องแคล่วยิ่งขึ้นสำหรับการเปลี่ยนหน้าจอ ดังนั้นฉันเดาว่าสิ่งที่ฉันขอคือการแบ่งปันลักษณะการพัฒนาในปัจจุบันของคุณเกี่ยวกับหัวข้อนี้ฉันรู้ว่ามันอาจดูเหมือนคำถามตามความเห็นในตอนแรก แต่ฉันมองว่ามันเป็นคำถามที่เกี่ยวกับการออกแบบและสถาปัตยกรรมของ Android ... ตามความเห็นอย่างหนึ่ง UPDATE (01.05.2014): ทำตามการนำเสนอนี้โดยEric BurkeจากSquare (ซึ่งฉันต้องบอกว่าเป็นการนำเสนอที่ยอดเยี่ยมพร้อมเครื่องมือที่มีประโยชน์มากมายสำหรับนักพัฒนา Android และฉันไม่เกี่ยวข้องกับ Square) http://www.infoq.com/presentations/Android-Design/ จากประสบการณ์ส่วนตัวของฉันในช่วงไม่กี่เดือนที่ผ่านมาผมพบว่าวิธีที่ดีที่สุดในการสร้างการใช้งานของฉันคือการสร้างกลุ่มของชิ้นส่วนที่มาเป็นตัวแทนของการไหลActivityในการประยุกต์และนำเสนอชิ้นส่วนเหล่านั้นทั้งหมดในหนึ่ง ดังนั้นโดยทั่วไปคุณจะมีจำนวนActivitiesใบสมัครของคุณเท่ากับจำนวนการไหล ด้วยวิธีนี้แถบแอ็คชั่นยังคงเหมือนเดิมบนหน้าจอทั้งหมดของโฟลว์ ในขณะที่ Eric Burke กล่าวและฉันก็ตระหนักเช่นกันปรัชญาของการใช้น้อยActivitiesที่สุดไม่สามารถใช้ได้กับทุกสถานการณ์เพราะมันสร้างความสับสนในสิ่งที่เขาเรียกว่ากิจกรรม "พระเจ้า"

20
น่าเสียดายที่ MyApp หยุดทำงาน ฉันจะแก้ปัญหานี้ได้อย่างไร
ฉันกำลังพัฒนาแอปพลิเคชันและทุกครั้งที่เปิดใช้งานฉันจะได้รับข้อความ: น่าเสียดาย MyApp หยุดลง ฉันจะแก้ไขปัญหานี้ได้อย่างไร เกี่ยวกับคำถามนี้ - เห็นได้ชัดว่าได้รับแรงบันดาลใจจากการติดตามสแต็กคืออะไรและฉันจะใช้เพื่อแก้ไขข้อผิดพลาดแอปพลิเคชันของฉันได้อย่างไร มีคำถามมากมายที่ระบุว่าแอปพลิเคชันของพวกเขาหยุดทำงานโดยไม่มีรายละเอียดเพิ่มเติม คำถามนี้มีวัตถุประสงค์เพื่อสอนให้โปรแกรมเมอร์ Android มือใหม่เกี่ยวกับวิธีการลองและแก้ไขปัญหาด้วยตนเองหรือถามคำถามที่เหมาะสม

24
เกิดข้อผิดพลาดขณะดึงข้อมูลพาเรนต์สำหรับรายการ: ไม่พบทรัพยากรที่ตรงกับชื่อที่กำหนดหลังจากอัปเกรดเป็น AppCompat v23
ฉันได้เสมอโปรแกรม Android ที่มีคราสและตัดสินใจที่จะเริ่มต้นการโยกย้ายไปยังAndroid สตูดิโอ ฉันตัดสินใจใช้ SDK เดียวกับที่ฉันมีสำหรับ Eclipse แล้ว: เริ่มโครงการใหม่ ตั้งค่า SDK ขั้นต่ำ 4.0 (ระดับ API 14) เลือกตัวเลือกกิจกรรมที่ว่างเปล่า ชื่อเริ่มต้นที่ใช้สำหรับชื่อกิจกรรมและชื่อเลย์เอาต์ กดปุ่ม Finish หลังจากนั้นไม่กี่วินาที Gradle เสร็จสิ้นการสร้างและมันทำให้ฉันสองข้อผิดพลาดกับข้อความต่อไปนี้ในไฟล์ Teste4 \ app \ build \ intermediates / exploded-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values -v23 \ ค่า-v23.xml: ข้อผิดพลาด: (2) ข้อผิดพลาดในการดึงข้อมูลพาเรนต์สำหรับรายการ: ไม่พบทรัพยากรที่ตรงกับชื่อ …

30
วิธีส่งผ่านวัตถุจากกิจกรรมหนึ่งไปอีกกิจกรรมหนึ่งบน Android
ฉันกำลังพยายามส่งวัตถุของคลาสลูกค้าของฉันจากที่หนึ่งActivityและแสดงในที่อื่นActivityและแสดงในที่อื่น รหัสสำหรับคลาสลูกค้า: public class Customer { private String firstName, lastName, Address; int Age; public Customer(String fname, String lname, int age, String address) { firstName = fname; lastName = lname; Age = age; Address = address; } public String printValues() { String data = null; data = "First Name :" + …

11
บริการเทียบกับ IntentService ในแพลตฟอร์ม Android
ฉันกำลังค้นหาตัวอย่างของสิ่งที่สามารถทำได้ด้วยสิ่งIntentServiceที่ไม่สามารถทำได้ด้วยService(และในทางกลับกัน) ฉันยังเชื่อว่าการIntentServiceวิ่งในเธรดอื่นและ a Serviceไม่ IntentServiceดังนั้นเท่าที่ผมสามารถมองเห็นเริ่มบริการภายในด้ายของตัวเองเป็นเหมือนการเริ่มต้น ถูกต้องไหม

28
การทำให้ TextView สามารถเลื่อนได้บน Android
ฉันกำลังแสดงข้อความในมุมมองข้อความที่ยาวเกินกว่าจะใส่ลงในหน้าจอเดียวได้ ฉันต้องทำให้ TextView ของฉันเลื่อนได้ ฉันจะทำสิ่งนั้นได้อย่างไร นี่คือรหัส: final TextView tv = new TextView(this); tv.setBackgroundResource(R.drawable.splash); tv.setTypeface(face); tv.setTextSize(18); tv.setTextColor(R.color.BROWN); tv.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER_HORIZONTAL); tv.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent e) { Random r = new Random(); int i = r.nextInt(101); if (e.getAction() == e.ACTION_DOWN) { tv.setText(tips[i]); tv.setBackgroundResource(R.drawable.inner); } return true; } }); setContentView(tv);
771 android  scroll  textview 

30
วิธีการเรียกวิธีหลังจากความล่าช้าใน Android
ฉันต้องการที่จะสามารถเรียกวิธีต่อไปนี้หลังจากความล่าช้าที่ระบุ ในวัตถุประสงค์ c มีบางสิ่งเช่น: [self performSelector:@selector(DoSomething) withObject:nil afterDelay:5]; มีวิธีนี้เทียบเท่าใน Android กับ Java หรือไม่? ตัวอย่างเช่นฉันต้องสามารถเรียกวิธีหลังจาก 5 วินาที public void DoSomething() { //do something here }
769 java  android  handler  delay 

30
จะหลีกเลี่ยงวิศวกรรมย้อนกลับของไฟล์ APK ได้อย่างไร
ฉันกำลังพัฒนาแอปประมวลผลการชำระเงินสำหรับ Android และฉันต้องการป้องกันไม่ให้แฮ็กเกอร์เข้าถึงทรัพยากรทรัพย์สินหรือซอร์สโค้ดจากไฟล์APK หากมีคนเปลี่ยนนามสกุล. apk ให้เป็น. zip พวกเขาสามารถคลายซิปและเข้าถึงทรัพยากรและทรัพย์สินทั้งหมดของแอปได้อย่างง่ายดายและใช้dex2jarและตัวถอดรหัสของ Java พวกเขายังสามารถเข้าถึงซอร์สโค้ดได้ มันง่ายมากที่จะทำวิศวกรรมย้อนกลับไฟล์ Android เอพีเค - สำหรับรายละเอียดเพิ่มเติมโปรดดูที่กองมากเกินคำถามวิศวกรรมย้อนกลับจากไฟล์ APK โครงการ ฉันใช้เครื่องมือ Proguard ที่มาพร้อมกับ Android SDK เมื่อฉันแปลงไฟล์ APK ที่สร้างโดยใช้ keystore ที่ลงนามแล้วและ Proguard ฉันจะได้รับรหัสที่สับสน อย่างไรก็ตามชื่อของส่วนประกอบ Android ยังคงไม่เปลี่ยนแปลงและบางรหัสเช่นรหัสคีย์ที่ใช้ในแอพยังคงไม่เปลี่ยนแปลง ตามเอกสารของ Proguard เครื่องมือไม่สามารถทำให้ส่วนประกอบสับสนที่กล่าวถึงในไฟล์มานิเฟสต์ ตอนนี้คำถามของฉันคือ: ฉันจะป้องกันวิศวกรรมย้อนกลับของ APK Android ได้อย่างสมบูรณ์ได้อย่างไร เป็นไปได้ไหม ฉันจะปกป้องทรัพยากรทรัพย์สินและซอร์สโค้ดทั้งหมดของแอปเพื่อให้แฮกเกอร์ไม่สามารถแฮ็คไฟล์ APK ในทางใดทางหนึ่งได้อย่างไร มีวิธีใดที่จะทำให้การแฮ็กยากขึ้นหรือเป็นไปไม่ได้ ฉันสามารถทำอะไรได้อีกเพื่อปกป้องซอร์สโค้ดในไฟล์ APK ของฉัน


23
วิธีการตรวจสอบว่าเมื่อใดที่ Fragment มองเห็นได้ใน ViewPager
ปัญหา: มีการยิงชิ้นส่วนonResume()ในViewPagerก่อนที่จะเห็นชิ้นส่วนจริง ตัวอย่างเช่นฉันมี 2 ชิ้นส่วนด้วยและViewPager FragmentPagerAdapterส่วนที่สองมีให้เฉพาะสำหรับผู้ใช้ที่ได้รับอนุญาตและฉันต้องขอให้ผู้ใช้เข้าสู่ระบบเมื่อส่วนที่มองเห็นได้ (ใช้กล่องโต้ตอบการแจ้งเตือน) แต่ViewPagerชิ้นส่วนที่สองจะสร้างขึ้นเมื่อมองเห็นชิ้นแรกเพื่อแคชชิ้นส่วนที่สองและทำให้สามารถมองเห็นได้เมื่อผู้ใช้เริ่มตบ ดังนั้นonResume()เหตุการณ์จึงถูกยิงในส่วนที่สองนานก่อนที่จะปรากฏให้เห็น นั่นเป็นเหตุผลที่ฉันพยายามค้นหาเหตุการณ์ที่ไฟไหม้เมื่อส่วนที่สองปรากฏให้เห็นเพื่อแสดงการสนทนาในช่วงเวลาที่เหมาะสม สิ่งนี้สามารถทำได้?

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