如果我理解正确的问题,那么导入数据库就会出错。会是什么呢?它在某些设备上运行良好。我试图在启动时删除导入数据库,但之后在应用程序中没有显示数据库中的数据。
我在google play错误报告中收到此错误:
java.lang.Error: Error copying database
at com.ribicinc.ugani.DataBaseHelper.createDataBase(DataBaseHelper.java:61)
at com.ribicinc.ugani.Splash.importdb(Splash.java:66)
at com.ribicinc.ugani.Splash.onCreate(Splash.java:27)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
这也是我的启动代码:
package com.ribicinc.ugani;
import android.app.Activity;
import android.content.Intent;
import android.database.SQLException;
import android.graphics.LightingColorFilter;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ProgressBar;
import java.io.IOException;
public class Splash extends Activity {
private final int DURATION = 3000;
private Thread mSplashThread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
importdb();
ProgressBar pBar2 = (ProgressBar)findViewById(R.id.progress);
pBar2.getIndeterminateDrawable().setColorFilter(new LightingColorFilter(0x80deea, 0x80deea));
mSplashThread = new Thread() {
@Override
public void run() {
synchronized (this) {
try {
wait(DURATION);
} catch (InterruptedException e) {
} finally {
finish();
Intent intent = new Intent(getBaseContext(),
Main.class);
startActivity(intent);
}
}
}
};
mSplashThread.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_splash, menu);
return true;
}
public void importdb(){
//import database*
try {
DataBaseHelper myDbHelper = new DataBaseHelper(this);
myDbHelper = new DataBaseHelper(this);
try {
myDbHelper.createDataBase();
} catch (IOException ioe) {
throw new Error("Napaka!");
}
try {
myDbHelper.openDataBase();
}catch(SQLException sqle){
throw sqle;
}
}catch(SQLException sqle){
}
//import database*
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}