بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
کمک در کپی فایل از asset به sdcard خواهشا کمک کنید ...
استاد و یا دوستان عزیزم با توجه به آموزشی ک استاد در قسمت 02-19 توضیح داده من مراحل را انجام میدم و یا از sample خود استاد هم استفاده کردم ک عکس رو از asset به sdcard کپی میکنه اما وقتی یه فایل pdf میذارم کپی میشه اما حجم 0 بایت میشه و من اصلا هدفم pdf نیستا در اصل میخوام فایل بانک sqlite رو در sdcard کپی کنم که نمیشه خواهشا خواهشا کمکم کنید چون واسم خیلی مهمه چند روزه روش گیر کردم اما جواب نمیگیرم... میخوام وقتی بانکم اطلاعات داره در هنگام نصب برنامه در دستگاه دیگه بانکم به همراه اطلاعاتش کپی بشه تا کار بکنه... ممنون میشم.
0
0
رو کپی کردن بانک جواب گرفتم اما رو pdf جواب نمیده ...
(12 سال پیش)
0
0
دوست عزیز ما که علم غیب نداریم. حداقل کدتون رو بزارید :) (12 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
underomeda
12 سال پیش
+9
0
بفرما دادش با این هرچیزی رو از asset به sd کپی میتونی بکنی الگوریتمه خودمه!!!
AssetManager assetManager = context.getAssets();
InputStream inputStream;
try {
inputStream = assetManager.open("myfile/data.db");
HelperIO.copyFile(inputStream, DIR_DATABASE + "/data.db");
}
catch (IOException e) {
e.printStackTrace();
}
copymaydata();
ManageDataBase();
super.onCreate();
}
private void copymaydata() {
AssetManager assetFiles = getAssets();
String[] files = null;
try {
files = assetFiles.list("myfile");
}
catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStream in = null;
OutputStream out = null;
for (int i = 0; i < files.length; i++) {
if (files[i].toString().equalsIgnoreCase("data.db")
|| files[i].toString().equalsIgnoreCase("images")) {} else {
try {
in = assetFiles.open("myfile/" + files[i]);
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
out = new FileOutputStream(
DIR_DATABASE + "/"
+ files[i]);
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
copyAssetFiles(in, out);
}
}
}
private void copyAssetFiles(InputStream in, OutputStream out) {
byte[] buffer = new byte[BUFFER_SIZE];
int read;
try {
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
in.close();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
in = null;
try {
out.flush();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
out.close();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out = null;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .