بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
بسته شدن اسپلش اسکرین پس از کپی شدن دیتابیس روی حافظه دستگاه (آموزش)
به درخواست دوست خوبمون سهیل
البته این کد کاملا تجربی هستش و شاید اصلا علمی نباشه! اما برای من 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 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .