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

بسته شدن اسپلش اسکرین پس از کپی شدن دیتابیس روی حافظه دستگاه (آموزش)

محسن علیزاده  11 سال پیش  11 سال پیش
+4 0

به درخواست دوست خوبمون سهیل

البته این کد کاملا تجربی هستش و شاید اصلا علمی نباشه! اما برای من it's work!

برای این کار کافیه یک اکتیویتی ساده برای اسپلشتون بسازید و کد زیر رو در اون قرار بدید:

                try {
copyDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

بعد زیر این کد، کد انتقال به صفحه بعدی رو بذارید:

startActivity(new Intent(SplashActivity.this, MainActivity.class));
SplashActivity.this.finish();

کد کپی دیتابیس رو هم در انتهای اکتیویتی قرار می دیم.

 private void copyDataBase() throws IOException {

InputStream myInput = getApplicationContext().getAssets().open("db.db");
String outFileName = "/data/data/" + getApplicationContext().getPackageName() + "/databases/db.db";

File databaseFile = getDatabasePath(outFileName);
if (!databaseFile.exists()) {
databaseFile.mkdirs();
databaseFile.delete();
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
}

}

یه لودینگ هم به صورت نمایشی در اسپلش قرار بدید، تا وقتی صفحه بخواد بسته بشه خودش می چرخه...

موفق باشید.

0 0
مرسی محسن.دمت گرم.فقط برای من مشکل سیاهی صفحه رو داشت. (11 سال پیش)
0 0
سیاهی صفحه رو مستونید با یک prograss bar برطرف کنید (11 سال پیش)
0 0
چه جوری؟ (11 سال پیش)
0 0
آخه من اون صفحم پروگرس بار هم داشت ولی باز هم سیاه بود. (11 سال پیش)
+2 0
اون متد داخل Thread اجرا بشه اصولی تر هستش. (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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