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

14
จัดส่งแอปพลิเคชันพร้อมฐานข้อมูล
หากแอปพลิเคชันของคุณต้องการฐานข้อมูลและมาพร้อมกับข้อมูลในตัววิธีที่ดีที่สุดในการจัดส่งแอปพลิเคชันนั้นคืออะไร ฉันควร: สอบฐานข้อมูล SQLite และรวมไว้ใน.apk? รวมคำสั่ง SQL กับแอปพลิเคชันและสร้างฐานข้อมูลและแทรกข้อมูลเมื่อใช้ครั้งแรกหรือไม่ ข้อเสียที่ฉันเห็นคือ: เวอร์ชัน SQLite ที่เป็นไปได้ไม่ตรงกันอาจทำให้เกิดปัญหาและฉันไม่รู้ว่าฐานข้อมูลควรไปที่ใดและวิธีการเข้าถึง อาจใช้เวลานานในการสร้างและเติมฐานข้อมูลบนอุปกรณ์ ข้อเสนอแนะใด ๆ ตัวชี้ไปยังเอกสารเกี่ยวกับปัญหาใด ๆ จะได้รับการชื่นชมอย่างมาก

18
จะเข้าถึงโฟลเดอร์ data / data ในอุปกรณ์ Android ได้อย่างไร?
ฉันกำลังพัฒนาแอพและฉันรู้ฐานข้อมูลของฉัน *.dbจะปรากฏขึ้นdata/data/com.****.*** ฉันสามารถเข้าถึงไฟล์นี้จาก AVD ใน Eclipse ด้วยความช่วยเหลือของ sqlite manager แต่ฉันไม่สามารถเข้าถึงไฟล์นี้ในโทรศัพท์ Android ของฉัน ฉัน google มันและมันบอกว่าฉันต้องรูทโทรศัพท์ของฉันที่จะทำ แต่ฉันไม่ต้องการที่จะทำ (โทรศัพท์ใหม่ปัญหาการรับประกันและปัญหาด้านความปลอดภัย) ดังนั้นนี่คือคำถามของฉัน: ฉันจะเข้าถึงdata/data/.....ไดเรกทอรีของฉันในโทรศัพท์ Android ของฉันได้อย่างไร " โดยไม่ต้องรูทมันอย่างไร"? ฉันจะเปลี่ยนการอนุญาตผู้ใช้สำหรับไดเรกทอรีdata/data.....โดยไม่ทำการรูทได้หรือไม่

15
SQLiteOpenHelper onCreate () / onUpgrade () ทำงานเมื่อใด
ฉันได้สร้างตารางของฉันในของฉันSQLiteOpenHelper onCreate()แต่ได้รับ SQLiteException: no such table หรือ SQLiteException: no such column ข้อผิดพลาด ทำไม? บันทึก: (นี่คือการสรุปของคำถามที่คล้ายกันหลายสิบรายการทุกสัปดาห์ความพยายามที่จะจัดหาคำถาม / คำตอบวิกิชุมชน "มาตรฐาน" ที่นี่เพื่อให้คำถามเหล่านั้นสามารถนำไปอ้างอิงที่ดีได้)

27
ดูเนื้อหาของไฟล์ฐานข้อมูลใน Android Studio
ฉันใช้Android Studioเพื่อพัฒนาแอพตั้งแต่เปิดตัว ทุกอย่างใช้งานได้ดีจนกระทั่งเมื่อเร็ว ๆ นี้ฉันต้องตรวจแก้จุดบกพร่องพร้อมตรวจสอบไฟล์ฐานข้อมูล เนื่องจากฉันไม่รู้วิธีดูฐานข้อมูลโดยตรงเมื่อฉันดีบั๊กเพื่อสร้างไฟล์ฐานข้อมูลฉันต้องส่งออกไฟล์ฐานข้อมูลจากโทรศัพท์ไปยังพีซี DDMS > File Explorerเพื่อที่จะทำนี้ผมต้องเปิด เมื่อฉันเปิด DDMS ฉันต้องเชื่อมต่อ USB อีกครั้งและฉันจะเสียเธรดการดีบัก หลังจากตรวจสอบไฟล์ฐานข้อมูลแล้วฉันต้องปิด DDMS และเชื่อมต่อ USB อีกครั้งเพื่อกลับไปที่โหมดแก้ไขข้อบกพร่อง มันซับซ้อนเกินไป ใครบ้างมีวิธีที่ดีกว่าในการทำเช่นนี้ใน Android Studio (ฉันรู้ว่าง่ายกว่าใน Eclipse)?

3
ตั้งค่าเริ่มต้นของคอลัมน์จำนวนเต็ม SQLite
ฉันกำลังสร้างฐานข้อมูล SQLite ใน Android db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME + " TEXT NOT NULL, " + KEY_WORKED + " INTEGER, " + KEY_NOTE + " INTEGER);"); เป็นไปได้หรือไม่ที่จะตั้งค่าเริ่มต้นของKEY_NOTE(ซึ่งเป็นจำนวนเต็ม) ให้ทุกแถวที่สร้างเป็น0(ศูนย์) ถ้าเป็นเช่นนั้นรหัสที่ถูกต้องควรเป็นอย่างไร

11
ดึงฐานข้อมูลหรือไฟล์อื่น ๆ จาก Internal Storage โดยใช้ run-as
บนอุปกรณ์ Android ที่ไม่ได้รูทฉันสามารถไปที่โฟลเดอร์ข้อมูลที่มีฐานข้อมูลโดยใช้run-asคำสั่งกับชื่อแพ็กเกจของฉัน ประเภทไฟล์ส่วนใหญ่ฉันแค่ดูเนื้อหา แต่ด้วยฐานข้อมูลฉันต้องการดึงออกจากอุปกรณ์ Android มีคำสั่งdownload copyหรือmoveคำสั่งจากส่วนนี้ของ adb shell หรือไม่? ฉันต้องการดาวน์โหลดไฟล์ฐานข้อมูลและดูเนื้อหาโดยใช้เบราว์เซอร์ฐานข้อมูล คำตอบหนึ่งที่นี่เกี่ยวข้องกับการเปลี่ยนแพ็คเกจแอปพลิเคชันทั้งหมดให้เป็นไฟล์เก็บถาวรที่บีบอัด แต่ไม่มีคำตอบเพิ่มเติมเกี่ยวกับวิธีการแยกไฟล์เก็บถาวรนั้นเมื่อเสร็จสิ้นและย้ายไปที่เครื่องทำให้ฉันต้องหลบเลี่ยงเมื่ออาจมีวิธีแก้ปัญหาที่ตรงกว่าให้เริ่มต้นด้วย


1
Android Q: ฐานข้อมูล SQLite ในที่จัดเก็บข้อมูลที่กำหนดขอบเขต
ใน Android Q แนะนำคุณสมบัติการจัดเก็บ Scopedใหม่ซึ่งกล่าวว่า: แอปที่กำหนดเป้าหมายเป็น Android 10 (API ระดับ 29) และสูงกว่าจะได้รับการกำหนดขอบเขตการเข้าถึงที่จัดเก็บข้อมูลภายนอกหรือที่เก็บข้อมูลที่กำหนดขอบเขตโดยค่าเริ่มต้น แอพดังกล่าวมีการเข้าถึงเฉพาะไดเรกทอรีเฉพาะแอปบนที่จัดเก็บข้อมูลภายนอกรวมถึงสื่อประเภทเฉพาะที่แอปสร้างขึ้น ฉันมีแอพของฉันที่สร้างฐานข้อมูล SQLite บนที่จัดเก็บข้อมูลภายนอกเช่นเมื่อแอปถอนการติดตั้งฐานข้อมูลยังมีชีวิตอยู่และสามารถใช้ในภายหลังเป็นการกู้คืนหรือใช้นอกอุปกรณ์ Android (สมมติว่าในพีซี) ฉันจะบรรลุผลเช่นเดียวกันกับ Android Q ได้อย่างไร แม่นยำยิ่งขึ้นถ้าฐานข้อมูลที่จัดเก็บในไดเรกทอรีสาธารณะภายนอกฉันจะอ่านฐานข้อมูลนี้โดยใช้มาตรฐานได้SQLiteOpenHelperอย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.