کپی دیتا بیس بر روی حافظه ی داخلی از Assets
بّا عرض سلام و خسته نباشید
یه مدتی یه مشکل پیدا کردم اصلا نمی تونم رفعش کنم هر کاری می کنم .
میخوام یک دونه فایل 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();
}
}
فک کنم DIR_APP تون مشکل داره
برای بدست آوردن آدرس فولدر دیتای برنامتون
String filesPath = getFilesDir().getPath();StringdatabasePath =filesPath+"/../databases";
اگه با این مشکل حل نشد اروری که میده رو بگین
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .

