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

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

5
แนวทางปฏิบัติที่ดีที่สุดสำหรับการเปิดเผยตารางหลายตารางโดยใช้ผู้ให้บริการเนื้อหาใน Android
ฉันกำลังสร้างแอปที่มีโต๊ะสำหรับงานอีเวนต์และโต๊ะสำหรับสถานที่ต่างๆ ฉันต้องการอนุญาตให้แอปพลิเคชันอื่นเข้าถึงข้อมูลนี้ได้ ฉันมีคำถามสองสามข้อเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดสำหรับปัญหาประเภทนี้ ฉันควรจัดโครงสร้างคลาสฐานข้อมูลอย่างไร ขณะนี้ฉันมีคลาสสำหรับ EventsDbAdapter และ VenuesDbAdapter ซึ่งให้ตรรกะสำหรับการสืบค้นแต่ละตารางในขณะที่มี DbManager แยกต่างหาก (ขยาย SQLiteOpenHelper) สำหรับจัดการเวอร์ชันฐานข้อมูลสร้าง / อัปเกรดฐานข้อมูลให้การเข้าถึงฐานข้อมูล (getWriteable / ReadeableDatabase) นี่เป็นวิธีแก้ปัญหาที่แนะนำหรือฉันจะดีกว่าถ้ารวมทุกอย่างไว้ในคลาสเดียว (เช่น DbManager) หรือแยกทุกอย่างแล้วปล่อยให้ Adapter แต่ละตัวขยาย SQLiteOpenHelper ฉันจะออกแบบผู้ให้บริการเนื้อหาสำหรับหลาย ๆ ตารางได้อย่างไร ขยายคำถามก่อนหน้านี้ฉันควรใช้ผู้ให้บริการเนื้อหารายเดียวสำหรับทั้งแอปหรือควรสร้างผู้ให้บริการแยกต่างหากสำหรับกิจกรรมและสถานที่ ตัวอย่างส่วนใหญ่ฉันพบเฉพาะแอปตารางเดียวดังนั้นฉันจะขอบคุณคำแนะนำใด ๆ ที่นี่

15
HTML5 <video> องค์ประกอบบน Android
ตาม: http://developer.android.com/sdk/android-2.0-highlights.html Android 2.0 ควรรองรับองค์ประกอบวิดีโอ HTML5 ฉันไม่สามารถใช้งานได้โดยใช้ Motorola Droid และไม่สามารถดูวิดีโอบนหน้าตัวอย่างวิดีโอ HTML5 ใด ๆ ได้สำเร็จ เนื่องจากตอนนี้ยังไม่รองรับ QuickTime หรือ Flash นี่เป็นเพียงสิ่งเดียวที่ฉันคิดได้สำหรับการฝังวิดีโอ mp4 ในหน้าเว็บ มีใครโชคดีบ้างคะ?
90 android  video  mobile  html 

6
sendUserActionEvent () เป็นโมฆะ
ฉันมี doozy จริงที่นี่ เมื่อฉันคลิกที่สปินเนอร์เปิดรายการเมนูหรือเปิดเมนูบริบทเมื่อคลิกนานฉันจะได้รับข้อความ Logcat เดียวกัน: 08-02 21:20:57.264: E/ViewRootImpl(31835): sendUserActionEvent() mView == null แท็กและข้อความเป็นViewRootImpl sendUserActionEvent() mView == nullฉันไม่พบสิ่งที่เป็นประโยชน์เกี่ยวกับเรื่องนี้บนเว็บ ฉันค้นหาแหล่งที่มาของ Android และพบข้อมูลอ้างอิงบางอย่างmViewแต่ไม่พบไฟล์ที่พิมพ์ข้อความบันทึกนี้ สำหรับการอ้างอิงฉันใช้ Samsung Galaxy S4 ที่ใช้ 4.2.2 หรือ API 17 ข้อความเดียวกันนี้จะไม่เกิดขึ้นเมื่อทำการดีบักบน Nexus 7 ที่ใช้ Android 4.3 ความคิดใด ๆ ? นี่เป็นปัญหาเฉพาะของ Samsung หรือไม่

4
แสดงความคืบหน้าการดาวน์โหลดภายในกิจกรรมโดยใช้ DownloadManager
ฉันพยายามทำซ้ำความคืบหน้าเดียวกับที่ DownloadManager แสดงในแถบการแจ้งเตือนภายในแอปของฉัน แต่ความคืบหน้าของฉันไม่เคยเผยแพร่ ฉันกำลังพยายามอัปเดตโดยใช้ runOnUiThread () แต่ด้วยเหตุผลบางประการจึงไม่ได้รับการอัปเดต การดาวน์โหลดของฉัน: String urlDownload = "https://dl.dropbox.com/s/ex4clsfmiu142dy/test.zip?token_hash=AAGD-XcBL8C3flflkmxjbzdr7_2W_i6CZ_3rM5zQpUCYaw&amp;dl=1"; DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urlDownload)); request.setDescription("Testando"); request.setTitle("Download"); request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "teste.zip"); final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); final long downloadId = manager.enqueue(request); final ProgressBar mProgressBar = (ProgressBar) findViewById(R.id.progressBar1); new Thread(new Runnable() { @Override public void run() { …

17
ฉันจะตรวจสอบสถานะปัจจุบันของเครื่องรับ GPS ได้อย่างไร?
ฉันจะตรวจสอบสถานะปัจจุบันของเครื่องรับ GPS ได้อย่างไร? ฉันตรวจสอบLocationListener onStatusChangedวิธีการแล้ว แต่ดูเหมือนว่าจะไม่ได้ผลหรือมีความเป็นไปได้ที่ไม่ถูกต้อง โดยทั่วไปฉันต้องทราบว่าไอคอน GPS ที่ด้านบนของหน้าจอกะพริบ (ไม่มีการแก้ไขจริง) หรือค้าง (มีการแก้ไข)
90 android  gps 

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

14
เปรียบเทียบสอง drawables ใน Android
วิธีเปรียบเทียบสอง drawables ฉันกำลังทำเช่นนี้ แต่ไม่ประสบความสำเร็จใด ๆ public void MyClick(View view) { Drawable fDraw = view.getBackground(); Drawable sDraw = getResources().getDrawable(R.drawable.twt_hover); if(fDraw.equals(sDraw)) { //Not coming } }
90 android 

4
BitmapFactory.decodeStream คืนค่า null เมื่อตั้งค่าตัวเลือก
BitmapFactory.decodeStream(inputStream)ผมมีปัญหาเกี่ยวกับ เมื่อใช้งานโดยไม่มีตัวเลือกจะส่งคืนรูปภาพ แต่เมื่อฉันใช้กับตัวเลือกเช่นเดียวกับ.decodeStream(inputStream, null, options)มันจะไม่ส่งคืน Bitmaps สิ่งที่ฉันกำลังพยายามทำคือการย่อขนาดบิตแมปก่อนที่ฉันจะโหลดจริงเพื่อบันทึกหน่วยความจำ ฉันได้อ่านคำแนะนำที่ดีบางอย่าง .decodeStreamแต่ก็ไม่มีใครใช้ การจัดการ Bitmaps ขนาดใหญ่ และที่นี่ การประมวลผลภาพใน Android ทำงานได้ดี URL url = new URL(sUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); InputStream is = connection.getInputStream(); Bitmap img = BitmapFactory.decodeStream(is, null, options); ไม่ทำงาน InputStream is = connection.getInputStream(); Bitmap img = BitmapFactory.decodeStream(is, null, options); InputStream is = …
90 java  android  image  bitmap 

7
วิธีตั้งค่าการวางแนวกล้อง Android ให้ถูกต้อง?
ฉันต้องการตั้งค่าการวางแนวกล้องตามการวางแนวอุปกรณ์ใน Android แต่ดูเหมือนจะไม่มีอะไรทำงาน ฉันพยายามหมุน Surface เช่นเดียวกับพารามิเตอร์ของกล้อง แต่การแสดงตัวอย่างกล้องในโหมดแนวตั้งจะกลับหัวเสมอ ฉันจะต้องหมุนตามเข็มนาฬิกา 90 องศาเพื่อให้ถูกต้อง นี่คือรหัสที่ฉันใช้ตอนนี้ซึ่งใช้งานได้ในโหมดแนวนอนเท่านั้น SurfaceHolder.Callback surfaceCallback = new SurfaceHolder.Callback() { @Override public void surfaceDestroyed(SurfaceHolder holder) { camera.stopPreview(); camera.release(); camera = null; } @Override public void surfaceCreated(SurfaceHolder holder) { initCamera(); } private Size getOptimalPreviewSize(List&lt;Size&gt; sizes, int w, int h) { final double ASPECT_TOLERANCE = …

4
Sticky Broadcast คืออะไร?
ฉันเจอคำนี้ในเอกสาร Android พร้อมคำจำกัดความที่มาพร้อมกัน สิ่งเหล่านี้เป็นการออกอากาศที่ระบบเก็บข้อมูลไว้หลังจากเสร็จสิ้นเพื่อให้ไคลเอนต์สามารถดึงข้อมูลนั้นได้อย่างรวดเร็วโดยไม่ต้องรอการออกอากาศครั้งต่อไป หมายความว่าอย่างไร? มีใครสามารถอธิบายการใช้งานด้วยตัวอย่างเฉพาะได้หรือไม่? ฉันเชื่อว่าเราต้องขออนุญาตเพื่อใช้เจตนานี้? ทำไมล่ะ? &lt;uses-permission android:name="android.permission.BROADCAST_STICKY"/&gt; - Allows an application to broadcast sticky intents.

11
ถูกกฎหมายหรือไม่ที่จะเรียกวิธีการเริ่มต้นสองครั้งบนเธรดเดียวกัน
รหัสต่อไปนี้นำไปสู่java.lang.IllegalThreadStateException: Thread already startedเมื่อฉันเรียกstart()method ครั้งที่สองในโปรแกรม updateUI.join(); if (!updateUI.isAlive()) updateUI.start(); นี้เกิดขึ้นสองครั้งที่updateUI.start()ถูกเรียกว่า updateUI.start()ฉันได้ก้าวผ่านมันหลายครั้งและด้ายที่เรียกว่าสมบูรณ์และทำงานให้เสร็จก่อนกดปุ่ม การโทรupdateUI.run()หลีกเลี่ยงข้อผิดพลาด แต่ทำให้เธรดทำงานในเธรด UI (เธรดการเรียกตามที่กล่าวไว้ในโพสต์อื่น ๆ บน SO) ซึ่งไม่ใช่สิ่งที่ฉันต้องการ เธรดสามารถเริ่มต้นได้เพียงครั้งเดียวหรือไม่? ถ้าเป็นเช่นนั้นฉันจะทำอย่างไรหากต้องการเรียกใช้เธรดอีกครั้ง เธรดนี้กำลังทำการคำนวณบางอย่างในพื้นหลังหากฉันไม่ได้ทำในเธรดมากกว่าที่ทำในเธรด UI และผู้ใช้มีการรอนานอย่างไม่มีเหตุผล

5
แนวทางปฏิบัติที่ดีที่สุดในการใช้การเข้ารหัส AES ใน Android คืออะไร
ทำไมฉันถึงถามคำถามนี้: ฉันรู้ว่ามีคำถามมากมายเกี่ยวกับการเข้ารหัส AES แม้แต่สำหรับ Android และมีข้อมูลโค้ดมากมายหากคุณค้นหาในเว็บ แต่ในทุกๆหน้าในทุกๆคำถามของ Stack Overflow ฉันพบการใช้งานอื่นที่มีความแตกต่างที่สำคัญ ผมจึงสร้างคำถามนี้เพื่อค้นหา "แนวทางปฏิบัติที่ดีที่สุด" ฉันหวังว่าเราจะรวบรวมรายการข้อกำหนดที่สำคัญที่สุดและตั้งค่าการใช้งานที่ปลอดภัยได้จริง! ฉันอ่านเกี่ยวกับเวกเตอร์การเริ่มต้นและเกลือ ไม่ใช่การใช้งานทั้งหมดที่ฉันพบว่ามีคุณสมบัติเหล่านี้ คุณต้องการหรือไม่? มันเพิ่มความปลอดภัยมากไหม? คุณใช้มันอย่างไร? อัลกอริทึมควรเพิ่มข้อยกเว้นหากไม่สามารถถอดรหัสข้อมูลที่เข้ารหัสได้หรือไม่ หรือว่าไม่ปลอดภัยและควรส่งคืนสตริงที่อ่านไม่ได้? อัลกอริทึมสามารถใช้ Bcrypt แทน SHA ได้หรือไม่? ฉันพบการใช้งานทั้งสองนี้อย่างไร พวกเขาโอเคไหม? สมบูรณ์แบบหรือบางสิ่งที่สำคัญขาดหายไป? สิ่งเหล่านี้ปลอดภัยหรือไม่? อัลกอริทึมควรใช้สตริงและ "รหัสผ่าน" สำหรับการเข้ารหัสจากนั้นเข้ารหัสสตริงด้วยรหัสผ่านนั้น เอาต์พุตควรเป็นสตริง (ฐานสิบหกหรือฐาน 64?) อีกครั้ง การถอดรหัสควรเป็นไปได้เช่นกัน การใช้งาน AES ที่สมบูรณ์แบบสำหรับ Android คืออะไร? การนำไปใช้ # 1: import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import …

11
วิธีแยกวิเคราะห์ JSON Array (ไม่ใช่ Json Object) ใน Android
ฉันมีปัญหาในการค้นหาวิธีแยกวิเคราะห์ JSONArray ดูเหมือนว่า: [{"name":"name1","url":"url1"},{"name":"name2","url":"url2"},...] ฉันรู้วิธีแยกวิเคราะห์หาก JSON เขียนแตกต่างกัน (กล่าวอีกนัยหนึ่งคือถ้าฉันมีวัตถุ json ส่งคืนแทนที่จะเป็นอาร์เรย์ของวัตถุ) แต่มันคือทั้งหมดที่ฉันมีและต้องไปกับมัน * แก้ไข: เป็น json ที่ถูกต้อง ฉันสร้างแอพ iPhone โดยใช้ json นี้ตอนนี้ฉันต้องทำสำหรับ Android และคิดไม่ออก มีตัวอย่างมากมาย แต่ทั้งหมดนั้นเกี่ยวข้องกับ JSONObject ฉันต้องการบางอย่างสำหรับ JSONArray ใครช่วยให้คำแนะนำหรือแบบฝึกหัดหรือตัวอย่างได้ไหม ชื่นชมมาก!
90 java  android  json  gson  arrays 

6
การวางแนวเค้าโครงในโค้ด
ฉันมีรหัสนี้ในใบสมัครของฉัน: LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT); และฉันแค่ต้องการตั้งค่าการวางแนวของ LinearLayout เป็นแนวตั้ง สิ่งที่เทียบเท่าใน XML คือ: android:orientation="vertical" ฉันจะทำในโค้ดโดยไม่มี XML ได้อย่างไร

5
ไม่สามารถใส่ SharedPreferences สองเท่า
ได้รับข้อผิดพลาดเมธอด put double ไม่ได้กำหนดไว้สำหรับเอดิเตอร์ sharedPreferences ประเภทนี้ Eclipse ได้รับการแก้ไขด่วนหนึ่งรายการเพิ่ม cast ให้กับเอดิเตอร์ แต่เมื่อฉันทำเช่นนั้นข้อผิดพลาดยังคงได้รับเหตุใดฉันจึงใส่ double ไม่ได้ รหัส: @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); if (TextUtils.isEmpty(editBl.getText().toString())) { numberOfBl = 0; } else { numberOfBl = Integer.parseInt(editBl.getText().toString(); } if (TextUtils.isEmpty(editSt.getText().toString())) { tonOfSt = 0; } else { tonOfSt = Double.parseDouble(editSt.getText().toString()); …

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