I have issues in copying database file from /assets to /data/data folder in file explorer. I have searched this website, found many answers, but could not find the appropriate answer that suits my context. I have created the database externally with SQLite Manager and imported it into assets folder. Now, when I run my application, I am getting NullPointerException in the emulator. I found that the package has not created in /data/data folder at all. But the application is launching in the emulator. The debugger also did not show any errors.
I have tried the following solutions -
Restarted eclipse and emulator, deleted and recreated existing emulator, finally restarted laptop
None of the solutions solved my problem. Can any one please tell me, whats my mistake?
Here is my MainActivity.java :-
public class MainActivity extends Activity implements OnClickListener
{
Dialog d;
private photoDbAdapters mDbAdapter;
public int currentimageindex=0;
String[] sp;
int p=1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
images();
}
public void images()
{
try{
String rt=mDbAdapter.fetchsingles(); //the application
is getting crashed in this part
int id = getResources().getIdentifier(rt, null, null);
ImageView iv = (ImageView) findViewById(R.id.ImageView3_Left);
iv.setImageResource(id);
}catch(NullPointerException er)
{
String ht=er.toString();
Toast.makeText(getApplicationContext(), ht, Toast.LENGTH_LONG).show ();
}}
@Override
public void onClick(View v)
{
finish();
android.os.Process.killProcess(android.os.Process.myPid());
// TODO Auto-generated method stub
}
fetchsingles method :- (this method will retreive image file name from database)
public String fetchsingles()
{
try{
img = mDbHelper.getData();
}catch(Exception e)
{
String error= e.toString();
Dialog d = new Dialog(null);
d.setTitle("image cannot be fetched");
int err=Integer.parseInt(error);
d.setContentView(err);
d.show();
}
return img;
}
getdata method:-
public String getData()
{
// TODO Auto-generated method stub
String dry="SELECT "+COL_DATA+" FROM Photos WHERE "+COL_ID+"=2;";
Cursor c = myDataBase.rawQuery(dry,null);
String result = "";
int img = c.getColumnIndex(COL_DATA);
result = c.getString(img);
return dry;
The code might look lengthy, don't mind anything and please help me in solving this problem.
Thanks in advance.
Try using below code to copy database from assets to data/data/package directory
Also put this code under onCreate method in your activity where you want to copy database..