Sto cercando di trovare il database sqlite utilizzato da MediaStore. Per quanto ho capito, il MediaStore contiene tra gli altri le playlist definite nell'app Musica predefinita. In realtà vorrei duplicare una playlist, ma l'app non lo consente. In qualche modo ho pensato che potrei risolvere questo se riuscissi a trovare il vero file db. Ma ora sono completamente sviato, perché non riesco a trovare il db. A proposito, sto eseguendo FroYo.Android MediaStore sqlite db posizione
risposta
Il modo corretto per fare ciò è utilizzare content provider per interrogare media store e fare qualsiasi tipo di modifica alle tabelle da lì.
Un esempio rapido di come interrogare tutti gli artisti nel MediaStore.
String[] proj = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Artists.ARTIST };
//managed query doesn't need startManagingCursor called on the cursor
Cursor c = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
proj, null, null, null);
Avere uno sguardo alla Android source the class we're interested in seems to be android.provider.MediaStore
e in là, il metodo getDatabaseForUri()
sembra generare un database diverso per ogni scheda di memoria esterna e uno chiamato internal.db
.
Quindi penso che il file che ti interessa è:
/data/data/com.android.providers.media/databases/internal.db
Tuttavia, la mia copia di quel database non hanno la tabella audio_playlists
utilizzato nella sorgente Java, quindi non sono sicuro che questo è destra.
Come si accede ai dati sotto/dati. Sto usando ASTRO per navigare i dati sul mio telefono , ma/i dati sono vuoti.Non sono sicuro se ciò sia dovuto al fatto che la directory è veramente vuota o a causa delle impostazioni dei permessi. – Hardy
'/ data' è di proprietà di' root', quindi non sarai in grado di sfogliarlo con ASTRO su un telefono senza radici Provate a connettere il vostro telefono al PC di sviluppo e usando 'adb shell'. Penso che questo funzioni con permessi di root su tutti i telefoni, ma non ho un telefono wireless con me per verificarlo. –
Grazie per le informazioni.Questo aiuta molto e spiega anche perché ho avuto così difficoltà a trovare questo file.Sfortunatamente, 'adb shell' non sembra funzionare come root su un telefono non-root :(Quanto può essere difficile !? – Hardy
la posizione è:
/data/data/com.android.providers.media/databases/internal.db
audio_playlists non nelle tabelle, si può vedere in Visualizzazioni. Lo strumento sql è: sqliteman, ubuntu13.10
- 1. Istanza Android AsyncTask e SQLite DB
- 2. Aggiornamento Sqlite singleton db filestream Android fallito
- 3. Refresh Android mediastore tramite adb
- 4. sqlite android sqlite sincronizzazione sqlite
- 5. Best practice per SQLite DB e ContentProvider
- 6. Esporta sqlite db nell'app phoneseg
- 7. Perché il mio DB SQLite Android è andato corrotto all'improvviso?
- 8. Adattatore DB SQLite con più tabelle in Android?
- 9. debug android: connettersi a sqlite db sul telefono
- 10. Tabella normale vs tabella virtuale SQLite DB
- 11. Android: CursorLoader, LoaderManager, SQLite
- 12. posizione del file .db in diversi telefoni Android
- 13. Android SQLite trapelato
- 14. Distribuzione del DB sqlite sull'aggiornamento dell'app iPhone
- 15. convertire python sqlite db in hdf5
- 16. legge il file db SQLite usando java
- 17. Informazioni protette contenute su iPhone SQLite DB
- 18. Come accedere ai binari predefiniti sqlite db?
- 19. java.lang.OutOfMemoryError sull'archiviazione di immagini in sqlite db
- 20. Creazione di nuovi DB SQLite con PDO
- 21. Python non salva i dati SQLite db
- 22. ispezionando sqlite android e IntelliJ
- 23. Prestazioni Sqlite Android
- 24. Contemporanea sqlite Android senza eccezioni
- 25. Specifica la dimensione db massima sqlite per la mia app. Come gestire db full exception
- 26. Crea database SQLite in Android
- 27. Database SQLite Android condiviso tra le attività
- 28. Problemi di aggiornamento sqlite Android
- 29. Ottimizzazione SQLite per l'applicazione Android
- 30. come inserire bulk in sqlite in android
Giusto. Questo è il modo programmatico. Suppongo che in questo caso potrei semplicemente ottenere il codice del lettore musicale in primo luogo e aggiungere una funzione di playlist duplicata. Il mio punto, tuttavia, era che volevo fare un trucco rapido, modificando il database sqlite direttamente usando una GUI sqlite. Mi chiedo quale file contenga il db? – Hardy
Ah, capisco, non hai detto che volevi usare una GUI sqlite per farlo. Bene finché hai un telefono rooted non dovresti avere problemi a tirare il DB. Vado a cercare nella sua posizione e torno da te. – smith324
Hai trovato la posizione del db. Non riesco proprio a trovarlo :( – Hardy