kopiowanie pliku bazy danych z folderu / assets do / data / data w eksploratorze plików - Android
Mam problemy z kopiowaniem pliku bazy danych z folderu / assets do / data / data w eksploratorze plików. Przeszukałem tę stronę, znalazłem wiele odpowiedzi, ale nie mogłem znaleźć odpowiedniej odpowiedzi, która pasuje do mojego kontekstu. Stworzyłem bazę danych zewnętrznie za pomocą SQLite Manager i zaimportowałem ją do folderu zasobów. Teraz, gdy uruchomię aplikację, otrzymuję NullPointerException w emulatorze. Odkryłem, że pakiet nie został utworzony w folderze / data / data. Ale aplikacja uruchamia się w emulatorze. Debuger również nie pokazał żadnych błędów.
Wypróbowałem następujące rozwiązania -
Zrestartowano eclipse i emulator, usunięto i ponownie utworzono istniejący emulator, a następnie ponownie uruchomiono laptop
Żadne z rozwiązań nie rozwiązało mojego problemu. Czy ktoś może mi powiedzieć, jaki jest mój błąd?
Oto moja 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
}
metoda fetchsingles: - (ta metoda będzie pobierać nazwę pliku obrazu z bazy danych)
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;
}
metoda getdata: -
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;
Kod może wyglądać na długi, nie przejmuj się i pomóż mi rozwiązać ten problem.
Z góry dziękuję.