آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کپی دیتا بیس بر روی حافظه ی داخلی از Assets

ali_jaha  9 سال پیش  9 سال پیش
0 0

بّا عرض سلام و خسته نباشید

یه مدتی یه مشکل پیدا کردم اصلا نمی تونم رفعش کنم هر کاری می کنم .

میخوام یک دونه فایل database رو از داخل Assets کپی کنم به مسیر

 

     public static final String DIR_APP = "/data/data/com.farshelli.job/databases/";

  بعد هر کاری می کنم نمی شه طبق پروژای که دارم می خوام database وقتی برنامه رو آپدیت می کنم آپدیت بشه .

نیازی نباشه دیتا برنامه رو کاربر پاک کنه بعد برنامه رو پاک کنه .

با روش بخش 19 کپی فایل استاد کار کردم .

کد و عکس هاشو می زارم ببینین

اونی که استاد آموزش داده رو حافظه ی خارجی هست

****** ولی اونی که من می خوام رو حافظه ی داخلی هست .******

((( ولی وقتی حافظه ی داخلی رو مسیر می دم Forse stop می ده و از برنامه میندازه بیرون نمی دونم مشکل از کجاست و چجوری حلش کنم :( )))

احیانا permissioni چیزی نمی خواد واسه این کار ؟

اینم از کد ها :

 public class G extends Application {

public static Context context;

// public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
//public static final String DIR_APP = "/data/data/com.farshelli.job/databases/";
public static String DIR_APP = "/data/data/com.farshelli.job/databases/";


// public static final String DIR_APP = DIR_SDCARD + "/uncoco/filehandling";

@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
//copyFile(context, "a.bmp", DIR_APP + "ba.bmp");
new File(DIR_APP).mkdirs();
test();
File file = new File(DIR_APP + "/database");
//boolean isExist = file.exists();
//file.delete();
//file.deleteOnExit();
//test();
}


private void test() {
//HelperIO.copyFile(DIR_APP + "/sample-image.png", DIR_APP + "/copy-image.png");

AssetManager assetManager = context.getAssets();
InputStream inputStream;
try {
inputStream = assetManager.open("database");
HelperIO.copyFile(inputStream, DIR_APP + "/database");
}
catch (IOException e) {
e.printStackTrace();
}
}

 

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
peyman_m1992  9 سال پیش
+1 0

فک کنم DIR_APP تون مشکل داره
برای بدست آوردن آدرس فولدر دیتای برنامتون

String  filesPath = getFilesDir().getPath();
String databasePath =filesPath +"/../databases";

 اگه با این مشکل حل نشد اروری که میده رو بگین

0 0
اینو هم امتحان کردم این ایرایدی که تو پست بعد میزارم گرفت (9 سال پیش)
0 0
بازم نشد دادا :( (9 سال پیش)
پاسخ به سوال 
ali_jaha  9 سال پیش
0 0

این ایرادو گرفت

0 0
این متغییر هارو باید داخال oncreate مقدار دهی کنی چون توسط تابع دارن مقدار دهی میشن و ثابت نیستند (9 سال پیش)
0 0
نه داداشم بازم درست نشد :( (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .