¿Cómo se hace un apk crear un archivo en el sdcard cuando el apk está instalado?
Soy muy nuevo en el desarrollo de Android y estoy buscando una manera de modificar el código fuente existente en eclipse para que cuando el apk se instala, un archivo xml se copia desde dentro del apk a una carpeta específica en el almacenamiento externo.
¿Hay alguna forma de hacer esto?
- File.canWrite () dice "true" pero no puedo escribir en almacenamiento extraíble (kit kat)
- ¿Cómo puedo obtener el tamaño de una carpeta en una tarjeta SD en Android?
- Los archivos de tarjeta SD actualizados mediante programación no se actualizan en Windows Explorer
- (Re) montaje de la tarjeta SD en el emulador de Android
- ¿Cómo encontrar el almacenamiento interno (Almacenamiento predeterminado del teléfono) y el almacenamiento externo (tarjeta SD extraíble) en android?
- No se puede crear una carpeta en sdcard - mkdir siempre devuelve false
- Java.io.FileNotFoundException (permiso denegado) Al intentar escribir en el sdcard de Android
- Carga dibujable desde la tarjeta sd
- creando un drawable de la tarjeta del SD para fijar como fondo en android
- Android: Guardar el archivo permanentemente (incluso después de borrar datos / desinstalar)
- ¿Existe un límite para el número de archivos en un directorio de una tarjeta SD?
- Cómo guardar el archivo desde el sitio web a sdcard
- Creación de un archivo zip con algunos archivos en SDCard
Vea la pregunta y conteste aquí … Android: ¿Cómo crear un directorio en la tarjeta SD y copiar archivos de / res / raw a ella?
EDIT : Pensando en ello, uso la carpeta / assets y no / res / raw. Esto es más o menos lo que hago …
Primero obtenga una carpeta válida en su almacenamiento externo (normalmente tarjeta SD) …
File myFilesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/com.mycompany.myApp/files");
Reemplace com.mycompany.myApp
en la ruta de acceso anterior con el nombre del paquete de la aplicación.
A continuación, se copiarán todos los archivos de la carpeta de activos con nombres de archivo que comienzan con "xyz", por ejemplo, xyz123.txt, xyz456.xml etc.
try { AssetManager am = getAssets(); String[] list = am.list(""); for (String s:list) { if (s.startsWith("xyz")) { Log.d(TAG, "Copying asset file " + s); InputStream inStream = am.open(s); int size = inStream.available(); byte[] buffer = new byte[size]; inStream.read(buffer); inStream.close(); FileOutputStream fos = new FileOutputStream(myFilesDir + "/" + s); fos.write(buffer); fos.close(); } } } catch (Exception e) { // Better to handle specific exceptions such as IOException etc // as this is just a catch-all }
Tenga en cuenta que necesitará el siguiente permiso en el archivo AndroidManifest.xml …
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- Solo se puede hacer clic en el texto de los elementos de ListView
- Cuando invoco una función Java desde mi código Javascript, WebView se bloquea. ¿Por qué?