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

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

3
คำเตือน: คลาส AsyncTask นี้ควรเป็นแบบคงที่หรืออาจเกิดการรั่วไหล
ฉันได้รับคำเตือนในรหัสของฉันที่ระบุว่า: คลาส AsyncTask นี้ควรเป็นแบบคงที่หรืออาจเกิดการรั่วไหล (android.os.As.TyncTask แบบไม่ระบุชื่อ) คำเตือนที่สมบูรณ์คือ: คลาส AsyncTask นี้ควรเป็นแบบสแตติกหรืออาจเกิดการรั่วไหล (android.os.As.TyncTask แบบไม่ระบุชื่อ) ฟิลด์แบบสแตติกจะรั่วบริบท ชั้นในแบบไม่คงที่มีการอ้างอิงโดยนัยถึงชั้นนอกของพวกเขา หากคลาสภายนอกนั้นเป็นตัวอย่าง Fragment หรือ Activity การอ้างอิงนี้หมายความว่าตัวจัดการ / ตัวโหลด / ภารกิจที่ใช้เวลานานจะมีการอ้างอิงถึงกิจกรรมที่ป้องกันไม่ให้ถูกรวบรวมขยะ การอ้างอิงฟิลด์โดยตรงกับกิจกรรมและแฟรกเมนต์จากอินสแตนซ์ที่ใช้เวลานานเหล่านี้อาจทำให้เกิดรอยรั่วได้ คลาส ViewModel ไม่ควรชี้ไปที่วิวหรือบริบทที่ไม่ใช่แอปพลิเคชัน นี่คือรหัสของฉัน: new AsyncTask<Void,Void,Void>(){ @Override protected Void doInBackground(Void... params) { runOnUiThread(new Runnable() { @Override public void run() { mAdapter.notifyDataSetChanged(); } }); return null; } …

18
แอปพลิเคชันรุ่นนี้ไม่ได้รับการกำหนดค่าสำหรับการเรียกเก็บเงินผ่าน Google Play
Наэтотвопросестьответына Stack Overflow нарусском : Этаверсияприложениянеработаетсплатёжнойсистемой Google เมื่อฉันพยายามเรียกใช้แอปพลิเคชันของฉันด้วยการเรียกเก็บเงินในแอปฉันได้รับข้อผิดพลาด: "แอปพลิเคชันรุ่นนี้ไม่ได้รับการกำหนดค่าสำหรับการเรียกเก็บเงินผ่าน Google Play ตรวจสอบศูนย์ช่วยเหลือสำหรับข้อมูลเพิ่มเติม" ฉันได้รับอนุญาตให้เรียกเก็บเงินแล้วในไฟล์ Manifest และฉันได้ลงชื่อ. apk ที่อัปโหลดเป็นฉบับร่างลงบน Google Play และฉันยังได้ติดตั้ง apk ที่ลงนามเดียวกันนี้ลงในโทรศัพท์ของฉันแล้ว ความช่วยเหลือเกี่ยวกับวิธีการแก้ปัญหานี้?

25
Android: วิธีสร้างไดอะล็อกที่ไม่มีชื่อ
ฉันกำลังพยายามสร้างกล่องโต้ตอบที่กำหนดเองใน Android ฉันสร้างกล่องโต้ตอบของฉันเช่นนี้: dialog = new Dialog(this); dialog.setContentView(R.layout.my_dialog); ทุกสิ่งทำงานได้ดียกเว้นชื่อของไดอะล็อก แม้ว่าฉันจะไม่ได้ตั้งชื่อของไดอะล็อกป็อปอัพของกล่องโต้ตอบก็จะมีช่องว่างที่ตำแหน่งของไดอะล็อก มีวิธีซ่อนส่วนนี้ของกล่องโต้ตอบหรือไม่? ฉันลองใช้ AlertDialog แต่ดูเหมือนว่าเลย์เอาต์ไม่ถูกต้อง: LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.map_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setView(view); // dialog = new Dialog(this); // dialog.setContentView(R.layout.map_dialog); dialog = builder.create(); ((TextView) dialog.findViewById(R.id.nr)).setText(number); ถ้าฉันใช้รหัสนี้ฉันจะได้รับการยกเว้นตัวชี้โมฆะในบรรทัดสุดท้าย กล่องโต้ตอบนั้นไม่ว่างดังนั้น TextView ที่ฉันพยายามเรียกดูไม่มีอยู่ หากฉันยกเลิกการคอมเม้นต์ส่วนที่ฉันใช้ Dialog Constructor ทุกอย่างทำงานได้ดี …

21
Android: ลบระยะขอบซ้ายออกจากเค้าโครงที่กำหนดเองของ actionbar
ฉันกำลังใช้มุมมองแถบแอ็คชั่นที่กำหนดเองและอย่างที่คุณเห็นในภาพหน้าจอด้านล่างจะมีพื้นที่สีเทาว่างเปล่าในแถบแอคชั่น ฉันต้องการลบ ฉันทำอะไรลงไป: ความละเอียด / ค่า-v11 / styles.xml <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:actionBarStyle">@style/ActionBarStyle</item> <item name="actionBarStyle">@style/ActionBarStyle</item> </style> ความละเอียด / ค่า / my_custom_actionbar.xml <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid"> <item name="android:height">60dp</item> </style> </resources> ประจักษ์ <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /> <application android:icon="@drawable/ic_launcher" android:label="@string/AppName" android:theme="@style/AppBaseTheme" > <!-- activities... etc --> </application> กิจกรรมหลัก public void onCreate(Bundle bundle) …

8
วิธีตั้งค่าป้ายกำกับที่แตกต่างกันสำหรับตัวเรียกใช้งานแทนที่จะเป็นชื่อกิจกรรม
คำถามนี้ถูกถามมาก่อน - แต่ไม่มีคำตอบที่น่าพอใจเลย! ดังนั้นฉันจะลองอีกครั้ง ฉันต้องการให้ไอคอนตัวเรียกใช้งานแอปพลิเคชันของฉัน (ไอคอนที่ปรากฏบนหน้าจอเริ่มต้น!) คำอธิบายภาพที่สั้นกว่าและแตกต่างกัน ดูเหมือนว่าตัวเรียกใช้จะใช้เลเบลจากส่วน mainfest เกี่ยวกับเลเบลของกิจกรรมหลักดังที่นี่: <activity android:name="MainActivity" android:label="@string/app_short_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> ฉันได้เปลี่ยนการอ้างอิงดั้งเดิมเป็นชื่อแอป @ string / app_name ของฉันไปเป็นทรัพยากรสตริงที่สั้นกว่าเดิมที่นี่ แต่ - ใหญ่แต่แน่นอนว่าสิ่งนี้จะเปลี่ยนชื่อเริ่มต้นของกิจกรรมนี้ด้วย! และฉันไม่ต้องการที่จะเกิดขึ้นมีพื้นที่เพียงพอสำหรับชื่อแอปพลิเคชันที่ยาว! การตั้งชื่อแบบยาวอีกครั้งในการonCreateใช้setTitle(int)วิธีการนั้นไม่ดีเช่นกันเนื่องจากชื่อย่อจะปรากฏแก่ผู้ใช้ในช่วงเวลาสั้น ๆ แต่นานพอที่จะสังเกตเห็น! และ - โปรดอย่าตอบคำถามของฉันโดยอ้างถึงแถบหัวเรื่องที่กำหนดเอง ... ฉันไม่ต้องการที่จะไปทางยาวเพียงเพราะชื่อสตริงโง่! เป็นเรื่องยากที่จะวาดแถบหัวเรื่องที่กำหนดเองเพื่อเอฟเฟกต์เล็ก ๆ น้อย ๆ ! มีไม่มีวิธีง่ายๆเพียงแค่ให้ปล่อยสตริงที่แตกต่างกันในการแสดงผล? ขอบคุณสำหรับคำตอบ! แก้ไข:อีกเหตุผลหนึ่งว่าทำไมการมีแถบหัวเรื่องที่กำหนดเองคือความเจ็บปวดคือมันจะไม่ดูเหมือนกับแถบหัวเรื่องเริ่มต้นฉันจะต้องทำสิ่งต่าง ๆ เพื่อให้มันดูเหมือนกันในแต่ละอุปกรณ์! และนั่นก็ไม่สามารถแก้ปัญหาได้หากหลังจากทั้งหมดฉันไม่ต้องการมีลักษณะที่แตกต่าง!

18
แทนที่ส่วนใน ViewPager
ฉันพยายามที่จะใช้ส่วนที่มีการใช้ViewPager FragmentPagerAdapterสิ่งที่ฉันกำลังมองหาที่จะบรรลุคือการแทนที่ส่วนที่อยู่ในหน้าแรกของViewPagerด้วยอีกอันหนึ่ง เพจเจอร์ประกอบด้วยสองหน้า คนแรกเป็นที่หนึ่งที่สองคือFirstPagerFragment SecondPagerFragmentคลิกที่ปุ่มหน้าแรก ฉันต้องการแทนที่FirstPagerFragmentด้วย NextFragment มีรหัสของฉันด้านล่าง public class FragmentPagerActivity extends FragmentActivity { static final int NUM_ITEMS = 2; MyAdapter mAdapter; ViewPager mPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_pager); mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.pager); mPager.setAdapter(mAdapter); } /** * Pager Adapter */ public static class …

30
มุมมองรายการ Android ภายในมุมมองเลื่อน
ฉันมีเลย์เอาต์ Android ที่มีscrollViewองค์ประกอบจำนวนหนึ่งอยู่ด้วย ที่ด้านล่างของscrollViewฉันมีlistViewอะแดปเตอร์ที่มีประชากรอยู่แล้ว ปัญหาที่ฉันกำลังประสบอยู่ก็คือ Android ไม่รวมตัวlistViewจากรุ่นscrollViewที่scrollViewมีฟังก์ชั่นเลื่อนได้ ฉันต้องการที่listViewจะตราบเท่าที่เนื้อหาเป็นและสำหรับมุมมองเลื่อนหลักที่จะสามารถเลื่อนได้ ฉันจะบรรลุพฤติกรรมนี้ได้อย่างไร นี่คือเค้าโครงหลักของฉัน: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:fillViewport="true" android:gravity="top" > <LinearLayout android:id="@+id/foodItemActvity_linearLayout_fragments" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout> </ScrollView> จากนั้นผมก็โปรแกรมเพิ่มคอมโพเนนต์ของฉันไป linearlayour foodItemActvity_linearLayout_fragmentsกับประชาชนได้: ด้านล่างเป็นหนึ่งในมุมมองที่โหลดลงใน linearlayout นั้น นี่คือสิ่งที่ทำให้ฉันมีปัญหากับม้วนกระดาษ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/fragment_dds_review_textView_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reviews:" android:textAppearance="?android:attr/textAppearanceMedium" /> <ListView …

7
รับรายการที่มองเห็นได้ใน RecyclerView
ฉันต้องรู้ว่าองค์ประกอบใดบ้างที่จะแสดงใน RecyclerView ของฉัน ไม่มีOnScrollListener.onScroll(...)วิธีเทียบเท่ากับ ListViews ฉันพยายามทำงานด้วยView.getGlobalVisibleRect(...)แต่แฮ็คนั้นน่าเกลียดเกินไปและก็ไม่ได้ผลเสมอไป มีใครคิดบ้างไหม?

12
รูปแบบสถาปัตยกรรมใดที่ใช้บน Android [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำการวิจัยขนาดเล็กของแพลตฟอร์มมือถือและฉันต้องการที่จะรู้ว่ารูปแบบการออกแบบที่ใช้ใน Android? เช่นใน iOS Model-view-controller ใช้กันอย่างแพร่หลายพร้อมกับการมอบหมายและรูปแบบอื่น ๆ รูปแบบใดที่ Android ใช้เป็นพิเศษ? แก้ไข ฉันไม่ได้ขอรูปแบบการออกแบบที่ใช้ในเคอร์เนล Dalvik และอื่น ๆ แต่เกี่ยวกับรูปแบบที่นักพัฒนาแอปพลิเคชันจะได้พบในขณะที่พัฒนาแอปพลิเคชัน

20
ตรวจจับการกวาดนิ้วผ่าน JavaScript บน iPhone และ Android
คุณจะตรวจจับได้อย่างไรว่าผู้ใช้รูดนิ้วไปในทิศทางใดทิศทางหนึ่งผ่านหน้าเว็บด้วย JavaScript ฉันสงสัยว่ามีวิธีแก้ไขปัญหาเดียวที่สามารถใช้ได้กับเว็บไซต์ทั้ง iPhone และโทรศัพท์ Android หรือไม่

30
ข้อผิดพลาดของสตูดิโอ Android“ ตรวจพบโมดูลที่ไม่สนับสนุน: ไม่รองรับการรวบรวมสำหรับโมดูลต่อไปนี้”
ฉันใช้ Android studio 1.0.1 ฉันมีโมดูลจาวาที่อ้างอิงโดยโมดูลอื่นในโครงการของฉัน ฉันได้ตรวจสอบจาก SVN แต่ตอนนี้ทุกคน ตรวจพบโมดูลที่ไม่สนับสนุน: การรวบรวมไม่รองรับโมดูลต่อไปนี้: น่าเสียดายที่คุณไม่สามารถมีโมดูลที่ไม่ใช่ Gradle Java และโมดูล Android-Gradle ในหนึ่งโครงการ หลังจากได้รับข้อผิดพลาดนี้ในขณะที่หยุดการรวบรวมโมดูลนี้เพื่อที่ฉันจะไม่สามารถรวบรวม / เรียกใช้โครงการของฉันได้อีก

8
SharedPreferences.onSharedPreferenceChangeListener ไม่ได้ถูกเรียกอย่างสม่ำเสมอ
ฉันลงทะเบียนผู้ฟังการเปลี่ยนแปลงค่ากำหนดเช่นนี้ (ในonCreate()กิจกรรมหลักของฉัน): SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener( new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged( SharedPreferences prefs, String key) { System.out.println(key); } }); ปัญหาคือผู้ฟังไม่ได้เรียกเสมอ ใช้งานได้สองสามครั้งแรกที่มีการเปลี่ยนแปลงการกำหนดค่าตามความชอบจากนั้นจะไม่มีการเรียกใช้อีกต่อไปจนกว่าฉันจะถอนการติดตั้งและติดตั้งแอปอีกครั้ง ดูเหมือนว่าจะไม่มีการรีสตาร์ทแอปพลิเคชัน ฉันพบเธรดรายชื่อผู้รับจดหมายที่รายงานปัญหาเดียวกัน แต่ไม่มีใครตอบเขาจริงๆ ผมทำอะไรผิดหรือเปล่า?

4
“ android: allowBackup” คืออะไร?
ตั้งแต่เวอร์ชันตัวอย่าง ADT ใหม่ (เวอร์ชัน 21)พวกเขามีคำเตือนขุยใหม่ที่บอกสิ่งต่อไปในไฟล์รายการ (ในแท็กแอปพลิเคชัน): ควรตั้งค่า android อย่างชัดเจน: อนุญาตการสำรองข้อมูลเป็นจริงหรือเท็จ (เป็นจริงโดยค่าเริ่มต้นและอาจมีผลกระทบด้านความปลอดภัยสำหรับข้อมูลของแอปพลิเคชัน) ในเว็บไซต์ทางการพวกเขาเขียน: การตรวจสอบใหม่สองสามครั้ง: คุณต้องตัดสินใจอย่างชัดเจนว่าแอปของคุณอนุญาตการสำรองข้อมูลหรือไม่และการตรวจสอบป้ายกำกับ มีการตั้งค่าสถานะบรรทัดคำสั่งใหม่สำหรับการตั้งค่าเส้นทางไลบรารี การปรับปรุงหลายอย่างเพื่อการวิเคราะห์ผ้าสำลีที่เพิ่มขึ้นในขณะที่แก้ไข คำเตือนนี้คืออะไร? คุณสมบัติการสำรองข้อมูลคืออะไรและฉันจะใช้ได้อย่างไร ทำไมคำเตือนถึงบอกฉันว่ามันมีผลกระทบด้านความปลอดภัย? อะไรคือข้อเสียและข้อดีของการปิดใช้งานคุณสมบัตินี้ มีแนวคิดการสำรองข้อมูลสองรายการสำหรับรายการ: "android: allowBackup " อนุญาตให้ทำการสำรองและกู้คืนผ่าน adb ดังที่แสดงที่นี่ : อนุญาตให้แอปพลิเคชันเข้าร่วมในการสำรองข้อมูลและเรียกคืนโครงสร้างพื้นฐานหรือไม่ หากคุณลักษณะนี้ถูกตั้งค่าเป็น "เท็จ" จะไม่มีการสำรองข้อมูลหรือคืนค่าแอปพลิเคชันแม้ว่าจะมีการสำรองข้อมูลแบบเต็มระบบซึ่งอาจทำให้ข้อมูลแอปพลิเคชันทั้งหมดถูกบันทึกผ่าน adb ค่าเริ่มต้นของคุณลักษณะนี้เป็นจริง สิ่งนี้ถือเป็นปัญหาด้านความปลอดภัยเนื่องจากผู้คนสามารถสำรองข้อมูลแอปของคุณผ่านADBจากนั้นรับข้อมูลส่วนตัวของแอพลงในพีซี อย่างไรก็ตามฉันคิดว่าไม่ใช่ปัญหาเนื่องจากผู้ใช้ส่วนใหญ่ไม่ทราบว่า adb คืออะไรและถ้าพวกเขาทำพวกเขาจะรู้วิธีรูทอุปกรณ์ ฟังก์ชั่น ADB จะทำงานเฉพาะเมื่ออุปกรณ์เปิดใช้งานคุณสมบัติการดีบักและสิ่งนี้ต้องการให้ผู้ใช้เปิดใช้งาน ดังนั้นเฉพาะผู้ใช้ที่เชื่อมต่ออุปกรณ์กับพีซีและเปิดใช้งานคุณสมบัติการดีบักเท่านั้นที่จะได้รับผลกระทบ หากพวกเขามีแอปที่เป็นอันตรายในพีซีที่ใช้เครื่องมือ ADB นี่อาจเป็นปัญหาได้เนื่องจากแอปสามารถอ่านข้อมูลที่เก็บข้อมูลส่วนตัว ฉันคิดว่า Google ควรเพิ่มคุณสมบัติที่ถูกปิดใช้งานตามค่าเริ่มต้นในหมวดหมู่นักพัฒนาซอฟต์แวร์เพื่ออนุญาตการสำรองและเรียกคืนแอปผ่าน ADB "android: …

20
กดการแจ้งเตือนในแพลตฟอร์ม Android
ฉันต้องการเขียนแอพที่ได้รับการแจ้งเตือนแบบพุชจากเซิร์ฟเวอร์ ฉันพบวิธีการสองสามอย่างในการทำเช่นนี้ SMS - สกัดกั้น SMS ที่เข้ามาและเริ่มดึงจากเซิร์ฟเวอร์ สำรวจเซิร์ฟเวอร์ แต่ละคนมีข้อ จำกัด ของตัวเอง SMS- ไม่มีการรับประกันในเวลาที่มาถึง โพลอาจทำให้แบตเตอรี่หมด คุณมีข้อเสนอแนะที่ดีกว่าโปรด? ขอบคุณมาก ๆ.
266 android  push  alerts 

9
กิจกรรม AppCompatActivity, FragmentActivity และ ActionBarActivity: เมื่อใดที่จะใช้
ฉันมาจาก iOS ที่ง่ายและคุณใช้ UIViewController อย่างไรก็ตามในสิ่งที่ Android ดูเหมือนซับซ้อนมากขึ้นด้วย UIComponents บางอย่างสำหรับระดับ API ที่เฉพาะเจาะจง ฉันอ่าน BigNerdRanch สำหรับ Android (หนังสือเล่มนี้คือประมาณ 2 ปี) และพวกเขาแนะนำให้ผมใช้ในการเป็นเจ้าภาพของฉันActivity FragmentActivitiesอย่างไรก็ตามฉันคิดว่าActivityเลิกใช้แล้ว ดังนั้นสำหรับ API ระดับ 22 (ด้วยการสนับสนุนขั้นต่ำสำหรับ API ระดับ 15 หรือ 16) ฉันควรใช้ทั้งสองอย่างในการโฮสต์ส่วนประกอบและส่วนประกอบเองอย่างไร มีการใช้สำหรับสิ่งเหล่านี้ทั้งหมดหรือฉันควรใช้เพียงหนึ่งหรือสองอย่าง

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