2011-12-06 22 views
9

Dopo aver cercato 1 ora non ho trovato alcuna soluzione al mio problema.Copia file nella cartella delle risorse

voglio spostare un file da sdcard nella cartella beni e anche sovrascrivere il file esistente nella cartella Assets (entrambi del file sono di database SQLite hanno lo stesso nome, con solo una piccola differenza nei dati)

?? cartella

+8

Semplicemente non è possibile rimuovere o aggiungere qualsiasi cosa, da/a cartella di asset in fase di esecuzione. – Mudassir

+1

Voglio scaricare il database sqlite dal server e quindi copiare nella cartella delle risorse. –

+0

come posso superare da questa situazione? –

risposta

11

In realtà, Il comportamento del file .apk Android è di sola lettura in modo che il la struttura delle directory che si trova in quel file apk segue lo stesso, Quindi nessuno può scrivere questi file o apportare modifiche al runtime, ecco perché non è possibile apportare modifiche in /asset folder in fase di esecuzione. è possibile leggere il file da esso (mezzi copiare i file che sono disponibili in risorsa per qualsiasi internal storage o /sdcardma non scrivono al viceversa)

sua applicano su tutte le directory che si costruiscono in file .apk. Come da documenti.

+0

mi dispiace lo stesso commento ma ho bisogno di una soluzione :) Ho un database nella cartella delle risorse e anche sul server ora voglio cambiare il database più tardi sul server in modo che l'utente possa ottenere l'ultimo aggiornamento. Come posso fare questo? In che modo l'utente otterrà quel database? - john smith 7 secondi fa –

+0

Devi scrivere quel database nella memoria interna o in sdcard, (preferibile la memoria interna) .. – user370305

+0

puoi guidarmi come fare? –

4

attività non sono scrivibili è solo leggibile quindi potete copiare da sdcard ai beni, sì, si può copiare da attività a sdcard

+1

No downvote. Ma il poster vuole viceversa. – Mudassir

+0

so che http://stackoverflow.com/questions/4447477/android-how-to-copy-files-in-assets-to-sdcard ma il mio problema è diverso. –

+1

+1 per le informazioni esatte. –

1

Se volete altre applicazioni non per accedere al database, allora cosa si può fare è

  1. scaricare il database dal sito web. creare un database temporaneo anche nella directory app.
  2. getDatabasePath() questo vi darà il percorso del database fittizio che avete creato ora sostituirlo con quello scaricato.

PS .: utente e le applicazioni che hanno accesso di root ancora in grado di accedervi e non potete fare nulla in questo scenario

Problemi correlati