Autore Topic: ActivityForResult database  (Letto 334 volte)

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
ActivityForResult database
« il: 20 Maggio 2014, 18:33:32 CEST »
0
Ciao, per fare il Restore del database, ho creato un intent per scegliere il file.db e salvarlo nella memoria del telefono..
Il database contiene 6 tabelle, ma al momento del Restore vengono copiati i dati di 5 tabelle ed una rimane fuori.
non capisco perchè, Grazie per l'aiuto.

Codice: [Seleziona]
ricevi_database = (Button) findViewById(R.id.but_ricevi);
                ricevi_database.setOnClickListener(new OnClickListener() {
                      @Override
                      public void onClick(View v) {
                              Intent intent1 = new Intent(Intent.ACTION_GET_CONTENT);
                                intent1.addCategory(Intent.CATEGORY_OPENABLE);
                                intent1.setType("application/image");
                                startActivityForResult(Intent.createChooser(intent1,  "database.db"), ACTIVITY_CHOOSE_FILE);
                      }
                    });
.
Codice: [Seleziona]
@Override
          protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            switch(requestCode) {
           
              case ACTIVITY_CHOOSE_FILE: {
                if (resultCode == RESULT_OK){
                importDB(new File(data.getData().getPath()));
                }
              }
             

              }
            }
.
Codice: [Seleziona]
private void importDB(File from){
   
        File to = new File("/data/data/"+getPackageName()+"/databases/database.db");       
        try {
                FileUtils.copyFile(from, to);
                Toast.makeText(this, getString(R.string.Toast_import) , Toast.LENGTH_SHORT).show();
               
        } catch (IOException e) {
                e.printStackTrace();
                Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
        }
}

Offline giuseppesorce

  • Utente junior
  • **
  • Post: 92
  • Respect: +6
    • Google+
    • warpmobile_it
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6,Nexus 5,Nexus 4, Galaxy Nexus, Nexus s, Nexus One,Htc Wildfire S, Nexus 7... etc
  • Sistema operativo:
    Ubuntu 14.04
Re:ActivityForResult database
« Risposta #1 il: 22 Maggio 2014, 05:43:38 CEST »
0
Il problema è molto strano visto che il restore avviene a livello di file. Purtroppo complicato aiutarti, se non abbiamo a disposizione il database, la struttura o il file.
The code is joy and passion but it has a high degree of suffering