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

مشکل در خواندن دیتابیس در اولین اجرای برنامه(فوری)

farzaneh___  8 سال پیش  8 سال پیش
0 0


برا دیتابیس از کتابخونه active android استفاده میکنم
برا این ،ورژن و نام دیتابیس تو منیفست تعریف میشه بعد با اولین بار بالا اومدن برنامه(با فراخوانی

ActiveAndroid.initialize(this);

داخل کلاسapplication)خودش میسازه دیتابیس و جداول رو(کلاسایی که نوعش جدول هست رو استفاده میکنه و..)
من اومدم داخل assets فایل دیتابیسو گذاشتم و اومدم بعد اون متد این دیتابیس رو معرفی کردم منتها یه مشکلی داره
اولین بار که برنامه بالا میاد انگار نمیتونه بخونه دیتابیس رو و دفعه دوم که اجرا کنم اکی میشه همه چی، مشکل چیه؟

 
public class G extends Application {

public static LayoutInflater inflater;
public static Context appContext;
private AppPreferenceTools appPreferenceTools;
// private boolean startApp=false;
@Override
public void onCreate() {
super.onCreate();
inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
appContext = getApplicationContext();
appPreferenceTools = new AppPreferenceTools(this);
//Constants.checkNetwork=false;
copyDataBase();
ActiveAndroid.initialize(this);
}
private void copyDataBase() {
try{
// Open your local db as the input stream
InputStream myInput = appContext.getAssets().open("database/Hilti.db");
Log.d("myInput",String.valueOf(myInput));
// Path to the just created empty db
String outFileName = "/data/data/" +appContext.getPackageName()
+ "/databases/" + "Hilti.db";
Log.d("outFileName",String.valueOf(outFileName));
// Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
Log.d("myOutput",String.valueOf(myOutput));
// transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
// Close the streams
myOutput.flush();
myOutput.close();
myInput.close();}
catch (IOException ex){
Log.d("catch db",ex.getMessage());
}
}

}
 برای این سوال پاسخی وجود ندارد.

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