Autore Topic: database app  (Letto 424 volte)

Offline Nicolab1971

  • Utente junior
  • **
  • Post: 107
  • Respect: +2
    • Mostra profilo
database app
« il: 07 Maggio 2014, 15:52:50 CEST »
0
Devo eseguire un controllo sui dati registrati nel sqllite dell'applicazione, ma nonrieco a trovare il db sul mio galaxy nexus, sull'emulatore lo trovo all'interno della cartella
data/data/nomeapp/databases.

Ciao e grazie

Offline Brontomania

  • Nuovo arrivato
  • *
  • Post: 32
  • Dinosauro di lanetta
  • Respect: +5
    • Github
    • Google+
    • @Brontomania
    • Mostra profilo
  • Dispositivo Android:
    HTC One, Nexus 7, Nexus S
  • Sistema operativo:
    Windows 10
Re:database app
« Risposta #1 il: 09 Maggio 2014, 06:44:37 CEST »
0
Dovrebbe essere così anche sul Nexus,  ma  in quella cartella, senza i permessi di root,  non credo ti faccia entrare.  Ho dovuto rootare il mio Nexus S per accedere a quelle cartelle da adb Shell. 

Sent from my Nexus 7 using Tapatalk


Offline Nicolab1971

  • Utente junior
  • **
  • Post: 107
  • Respect: +2
    • Mostra profilo
Re:database app
« Risposta #2 il: 10 Maggio 2014, 10:52:34 CEST »
0
Grazie per la risposta


Grazie a tutti per il supporto, spero di poter essere utile anche io.

Offline pup3770

  • Utente junior
  • **
  • Post: 89
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy s3
  • Sistema operativo:
    Android
Re:database app
« Risposta #3 il: 17 Maggio 2014, 11:07:44 CEST »
0
Ciao Ragazzi,
mi accodo anche se per un'altra motivazione. Dovrei salvare dei numeri (latitudine e longitudine) in un DB SQLite, attualmente lo faccio mediante il salvataggio con String. Se volessi salvare i dati come numeri o double? Come fare?

Considerate che ho:

Dato.java
Codice (Java): [Seleziona]
package com.ciao.localandsavegps;

public class Dato {
   
    private String latitudine;
    private String longitudine;
   
   
    public Dato(String latitudine, String longitudine) {
            super();
            this.latitudine = latitudine;
            this.longitudine = longitudine;

    }

    public String getLatitudine() {
            return latitudine;    
    }
   
   
    public String getLongitudine() {
        return longitudine;    
}
   
   
   
}

AdapterDato.java
Codice (Java): [Seleziona]
package com.ciao.localandsavegps;

import java.util.List;

import android.view.LayoutInflater;
import android.widget.ArrayAdapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;


public class AdapterDato extends ArrayAdapter<Dato>{
   
    private int resource;
    private LayoutInflater inflater;
    private Context context;
   
   
    public AdapterDato (Context context, int resourceId,List<Dato> objects) {
         super(context, resourceId, objects);
         resource = resourceId;
         inflater = LayoutInflater.from(context);
         this.context = context;

     }

     @Override
     public View getView(int position, View v, ViewGroup parent) {

         // Recuperiamo l'oggetti che dobbiamo inserire a questa posizione
         Dato c = getItem(position);

         ViewHolder holder;

         if (v == null) {
                 
             // Layout che conterra' solamente la TextView txtnomeContatto
             int layout = R.layout.row_dato;
             
             v  = LayoutInflater.from(getContext()).inflate(layout, null);              
                 
             holder = new ViewHolder();
             holder.latitudineDato= (TextView) v.findViewById(R.id.txtlatitudineDato);    
             holder.longitudineDato= (TextView) v.findViewById(R.id.txtlongitudineDato);          

             v.setTag(holder);
         } else {
              holder = (ViewHolder) v.getTag();

         }
         
         holder.latitudineDato.setText(c.getLatitudine());
         holder.longitudineDato.setText(c.getLongitudine());

         
      return v;
       }        

     private static class ViewHolder {
        TextView latitudineDato;
        TextView longitudineDato;

      }
     
 
}


DataBaseHelper.java
Codice (Java): [Seleziona]
package com.AlessandroRosina.localandsavegps;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataBaseHelper extends SQLiteOpenHelper {

        private static final String DATABASE_NAME = "coordinate";
        private static final int DATABASE_VERSION = 1;
       
        public DataBaseHelper(Context context) {
               
                super(context, DATABASE_NAME, null, DATABASE_VERSION);
               
        }

        @Override
        public void onCreate(SQLiteDatabase db_coordinate) {
                // TODO Auto-generated method stub
               
                String create = "";
                create += "CREATE TABLE coordinate (";
                create += "  latitudine TEXT,";
                create += "  longitudine TEXT)";
                db_coordinate.execSQL(create);
               
                /*
                 * Esempi di inserimento dati nel DB
                ContentValues v = new ContentValues();
               
                v.put("nome", "Marco");
                v.put("cognome", "Marco");
                db.insert("rubrica", null, v);
               
                v = new ContentValues();
                v.put("nome", "Giorgio");
                v.put("cognome", "Marco");
                db.insert("rubrica", null, v);
               
                v = new ContentValues();
                v.put("nome", "Luigi");
                v.put("cognome", "Marco");
                db.insert("rubrica", null, v);
                */

        } //Fine OnCreate
       

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                // TODO Auto-generated method stub
        }
       
} //Fine Activity DataBaseHelper


e per il prelevamento delle coordinate e salvataggio:

Coordinate.java
Codice (Java): [Seleziona]
package com.ciao.localandsavegps;

import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class Coordinate extends Activity {

        DataBaseHelper db_coordinate;

       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
               

                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_coordinate);
                               
                 
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
 
 
        boolean gps = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
 
        if (!gps) {
 
                new AlertDialog.Builder(this).setTitle("GPS Disabilitato").create().show();
 
 
                TextView providerText = (TextView) findViewById(R.id.provider_txt);
                providerText.setText("Sto usando la connessione dati");
 
            lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
                    60000, // 1 minute interval between updates
                    100, // 100 meters between updates
                    new LocationListener() {
 
                                        @Override
                                        public void onLocationChanged(Location location) {
 
                                        TextView latitudine = (TextView) findViewById(R.id.latitude_txt);
                                        TextView longitudine = (TextView) findViewById(R.id.longitude_txt);
 
                                        latitudine.setText("La latitudine è: "+String.valueOf(location.getLatitude()));
                                        longitudine.setText("La longitudine è: "+String.valueOf(location.getLongitude()));
                                        }
 
                                        @Override
                                        public void onProviderDisabled(String provider) {}
 
                                        @Override
                                        public void onProviderEnabled(String provider) {}
 
                                        @Override
                                        public void onStatusChanged(String provider, int status, Bundle extras) {}
 
            });
        } else {
 
                TextView providerText = (TextView) findViewById(R.id.provider_txt);
                providerText.setText("Sto usando il GPS");
 
 
            lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                    20000, // 20 seconds interval between updates
                    100, // 100 meters between updates
                    new LocationListener() {


                                        @Override
                                        public void onLocationChanged(Location location) {

                                               
                                        TextView latitudine = (TextView) findViewById(R.id.latitude_txt);
                                        TextView longitudine = (TextView) findViewById(R.id.longitude_txt);
 
                                        latitudine.setText("La latitudine è: "+String.valueOf(location.getLatitude()));
                                        longitudine.setText("La longitudine è: "+String.valueOf(location.getLongitude()));
 

                                        db_coordinate = new DataBaseHelper(getApplicationContext());
                                 
                                        String latitudine_db = "";
                                        String longitudine_db = "";
                                        latitudine_db = String.valueOf(location.getLatitude());
                                        longitudine_db = String.valueOf(location.getLongitude());
                                       
                                        ContentValues v = new ContentValues();

                                        v.put("latitudine", latitudine_db);    
                                        v.put("longitudine", longitudine_db);
                                        db_coordinate.getWritableDatabase().insert("coordinate", null, v);

                                        Toast.makeText(getApplicationContext(), "Coordinate salvate correttamente", Toast.LENGTH_SHORT).show();
                                       
                                       
                                        }
 
                                        @Override
                                        public void onProviderDisabled(String provider) {}
 
                                        @Override
                                        public void onProviderEnabled(String provider) {}
 
                                        @Override
                                        public void onStatusChanged(String provider, int status, Bundle extras) {}
 
            });
        }

        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.coordinate, menu);
                return true;
        }
       

       
        //Collegamento alla Activity "Coordinate" mediante pressione del bottone
                        public void ricavaCoordinate (View view){
                                 
                        Intent coordinate;
                 
                        coordinate = new Intent (this, Coordinate.class);
                 
                        startActivity(coordinate);
                        }
                       
                       
       
        //Collegamento alla Activity "ElencoCoordinate" mediante pressione del bottone

                        public void elencoCoordinate (View view){
                                 
                        Intent elenco;
                 
                        elenco = new Intent (this, ElencoCoordinate.class);
                 
                        startActivity(elenco);
                        }
       
                       
        //Collegamento alla Activity "Contatti" mediante pressione del bottone
                        public void visualizzaContatti (View view){
                                 
                        Intent contatti;
                 
                        contatti = new Intent (this, Contatti.class);
                 
                        startActivity(contatti);
                        }
                       
                       
        //Collegamento alla Activity "Homepage" mediante pressione del bottone
                        public void home (View view){
                                 
                        Intent homepage;
                 
                        homepage = new Intent (this, MainActivity.class);
                 
                        startActivity(homepage);

                        }
                       
                //Collegamento alla Activity "FormattaElenco" mediante pressione del bottone
                        public void formattaElenco (View view){
                                 
                        Intent formatta;
                 
                        formatta = new Intent (this, FormattaElenco.class);
                 
                        startActivity(formatta);
                        }

}


Ho provato a modificare "Dato.java" mettendo al posto di "String", "double" e non mi da problemi ma da problemi "AdapterDato.java" al rigo:
Codice (Java): [Seleziona]
// Recuperiamo l'oggetti che dobbiamo inserire a questa posizione
         Dato c = getItem(position);



come fare?

Grazie in anticipo