Bagaimana cara mengunduh file ke folder aplikasi?

Kode saya hanya memungkinkan Anda menyimpan file yang diunduh ke kartu SD, bagaimana cara menyimpan unduhan di dalam aplikasi itu sendiri?

Kode:

URL url = new URL(aurl[0]);
URLConnection conexion = url.openConnection();
conexion.connect();

int lenghtOfFile = conexion.getContentLength();
Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);

InputStream input = new BufferedInputStream(url.openStream());
FileOutputStream fos = openFileOutput("try.pdf", Context.MODE_PRIVATE);

byte data[] = new byte[1024];

long total = 0;

    while ((count = input.read(data)) != -1) {
        total += count;
        publishProgress(""+(int)((total*100)/lenghtOfFile));
        fos.write(data, 0, count);
    }

    fos.flush();
    fos.close();
    input.close();
} catch (Exception e) {}
return null;

}

Haruskah hanya mengubah jalur ini ke jalur lain?


person jlopez    schedule 27.06.2012    source sumber


Jawaban (2)


Sesuai dengan Dokumen Android

Anda dapat menyimpan file langsung di penyimpanan internal perangkat. Secara default, file yang disimpan ke penyimpanan internal bersifat pribadi untuk aplikasi Anda dan aplikasi lain tidak dapat mengaksesnya (begitu pula pengguna). Saat pengguna mencopot pemasangan aplikasi Anda, file-file ini akan dihapus.

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
person rajpara    schedule 27.06.2012
comment
anda dapat menulis fos.write(string.getBytes()); di dalam while loop, dan menurut logika Anda, Anda harus mengimplementasikan kode di atas - person rajpara; 27.06.2012
comment
Dalam contoh Anda, mana yang harus berisi string String? - person jlopez; 27.06.2012
comment
Oke terima kasih, saya rasa saya paham dengan apa yang ingin anda sampaikan kepada saya, namun yang menjadi permasalahan adalah file tersebut harus di download terlebih dahulu, dan disini sepertinya kode tersebut untuk file yang sudah di download. - person jlopez; 27.06.2012
comment
Anda harus mengambil data dari inputsteam dan menuliskannya di outputstream itu saja - person rajpara; 27.06.2012
comment
Terima kasih atas kesabaran Anda terhadap saya, saya telah memperbarui kode saya. Anda bisa lihat di atas, saya akan coba lihat apakah berhasil - person jlopez; 27.06.2012

how could save the download within the application itself?

Anda harus menjelaskan artinya jika Anda ingin menyimpannya di folder Raw atau Assets maka itu tidak memungkinkan. Anda dapat menyimpan file di direktori Data.

openFileOutput("car.pdf",mode)

mode bisa bersifat pribadi, dapat_didunia, dapat_ditulis dunia

person Vipul    schedule 27.06.2012
comment
Saya telah memperbarui kode saya, bagian kode saya harus diganti dengan milik Anda? atau tidak ada gunanya dan harus dimulai lagi? - person jlopez; 27.06.2012