Autore Topic: Storage valori GPS in un database  (Letto 925 volte)

Offline TheWhiteWolf

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung SGS3
  • Sistema operativo:
    Ubuntu 12.04 / Win 7
Storage valori GPS in un database
« il: 05 Dicembre 2012, 16:37:54 CET »
0
Dunque,parto dicendo che stò sviluppando il progetto per API16 e testo il tutto su device (sia in AVD che in reale) altresì in API16,dunque vado a cominciare.

Ho seguito l'ottimo tutorial in quanto,di per sè,è la prima volta che metto mano a java dovendo rispecchiarmi con database sql,percui prima di iniziare e domandare,mi sono messo a studiare leggendo anche in tutti i vari topic presenti in sezione. Uno poteva fare al caso mio,in parte,ma non fà mai risolto,quindi provo a riproporlo (magari alla fine ne viene fuori qualcosa di utile per tutti).

Qual'è lo scopo che vorrei raggiungere? Salvare in questo database la latitudine,la longitudine e un numero sequenziale (poi modificabile) che identifichi la riga completa (formata quindi da ID,NOME,LAT,LON).
In seguito dovrei far apparire questi dati in una ListView (activity a parte) in cui dovranno apparire i dati del db tramite una query.

Il mio problema per il momento,dopo aver definito il DB,è riuscire a capire come pescare i dati e inviarli al database (è qui che casco come un'asino)

Fermo restando che: latitudine e longitudine potrei pescarli da una TextView in cui appaiono.
Il nome inizialmente non ha interesse,potrebbero essere anche numeri.In seguito farei in modo che si possa modificare.

Io nella classe principale metto un bel onClickListener sul mio bottone che serve,una volta premuto,per salvare la posizione. Di rimando all'interno vado a definire con
Codice (Java): [Seleziona]
Public void Onclick (view view) quello che deve succedere ed è qui che mi fermo,perchè non sò come andare a ripescare i dati. Ho provato in vari modi ma non riesco a capire come mettere tutto in ordine,ci arrivo per ragionamento,ma non riesco a "tradurlo" nel codice giusto.

Qualcuno riuscirebbe ad aiutarmi? (magari una volta risolto si potrebbe riscrivere il tutto e associarlo all'utile tutorial per la gestione delle mappe che già esiste,dando così una continuità)

Parto postando il mio file che determina tutto ciò che riguarda il DB:

Codice (Java): [Seleziona]
package com.drive.info;

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

public class listagpsdb {  

    SQLiteDatabase mDb;
    DbHelper mDbHelper;
    Context mContext;
    private static final String DB_NAME="listagps";
    private static final int DB_VERSION=1;
   
    public listagpsdb(Context ctx){
            mContext=ctx;
            mDbHelper=new DbHelper(ctx, DB_NAME, null, DB_VERSION);    
    }
   
    public void open(){  
            mDb=mDbHelper.getWritableDatabase();
           
    }
   
    public void close(){
            mDb.close();
    }
   
   
   
    public void insertPosition(String name,double lat, double lon){
            ContentValues cv=new ContentValues();
            cv.put(PositionsMetaData.POSITIONS_NAME_KEY, name);
            cv.put(PositionsMetaData.POSITIONS_LATITUDE_KEY, lat);
            cv.put(PositionsMetaData.POSITIONS_LONGITUDE_KEY, lon);
            mDb.insert(PositionsMetaData.POSITIONS_TABLE, null, cv);
    }
   
    public Cursor fetchProducts(){ //metodo per fare la query di tutti i dati
            return mDb.query(PositionsMetaData.POSITIONS_TABLE, null,null,null,null,null,null);              
    }

    static class PositionsMetaData {  // i metadati della tabella, accessibili ovunque
            static final String POSITIONS_TABLE = "position";
            static final String ID = "_id";
            static final String POSITIONS_NAME_KEY = "name";
            static final String POSITIONS_LATITUDE_KEY = "lat";
            static final String POSITIONS_LONGITUDE_KEY = "lon";
    }

    private static final String POSITIONS_TABLE_CREATE = "CREATE TABLE IF NOT EXISTS "  //codice sql di creazione della tabella
                    + PositionsMetaData.POSITIONS_TABLE + " ("
                    + PositionsMetaData.ID+ " integer primary key autoincrement, "
                    + PositionsMetaData.POSITIONS_NAME_KEY + " text, "
                    + PositionsMetaData.POSITIONS_LATITUDE_KEY + " double not null);"
                    + PositionsMetaData.POSITIONS_LONGITUDE_KEY + "double not null);";

    private class DbHelper extends SQLiteOpenHelper { //classe che ci aiuta nella creazione del db

            public DbHelper(Context context, String name, CursorFactory factory,int version) {
                    super(context, name, factory, version);
            }

            @Override
            public void onCreate(SQLiteDatabase _db) { //solo quando il db viene creato, creiamo la tabella
                    _db.execSQL(POSITIONS_TABLE_CREATE);
            }

            @Override
            public void onUpgrade(SQLiteDatabase _db, int oldVersion, int newVersion) {
                    //qui mettiamo eventuali modifiche al db, se nella nostra nuova versione della app, il db cambia numero di versione

            }

    }
           

}



In seguito quindi,parte della classe principale:


Codice (Java): [Seleziona]
public class Navi extends MapActivity {
    private TextView tvLatitudine;
    private TextView tvLongitudine;
    private TextView tvVelocita;
    private TextView tvQuota;
    private TextView tvAccuratezza;
   

    //Riferimento alla MapView
    private MapView mapView = null;

    //Riferimento al MapController
    MapController mapController;

    //Riferimento al MyLocationOverlay
    private MyLocationOverlay myLocationOverlay;

    // Otteniamo il riferimento al LocationManager
    LocationManager locationManager;

     
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_navi);
           
            // DICHIARAZIONE BOTTONE PER APERTURA ACTIVITY LISTA GPS
           
            Button ApriSalvataggi = (Button) findViewById(R.id.ApriSalvataggi);
            ApriSalvataggi.setOnClickListener(new View.OnClickListener() {
               
                        public void onClick(View view) {
                                Intent listagps = new Intent(Navi.this, listagps.class);
                                Navi.this.startActivity(listagps);
                        }
               
            });
           
                       
                // DICHIARAZIONE BOTTONE SALVATAGGIO COORDINATE GPS
               
               
                Button SalvaLocation = (Button) findViewById(R.id.SalvaLocation);
                listagpsdb db = new listagpsdb(getApplicationContext());
                db.open();
                SalvaLocation.setOnClickListener(new View.OnClickListener() {
                         
                    public void onClick(View view) {  // qui è dove dovrei mettere l'avvenimento della raccolta e stoccaggio dati
                               
                                       
                    }
                        });

Ovvio che non voglio al pappa pronta,altrimenti non imparerò mai,quindi anche soltanto un buon "calcio nel sedere" verso il sentiero giusto,è ben accetto.

Grazie fin da ora per l'aiuto!
« Ultima modifica: 05 Dicembre 2012, 16:39:25 CET da TheWhiteWolf »

Offline meesta

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy nexus
  • Play Store ID:
    meesta
Re:Storage valori GPS in un database
« Risposta #1 il: 18 Gennaio 2013, 12:45:07 CET »
0
Alla creazione della tua tabella il campo ID sarà : _ID_PK integer primary key autoincrement. Così ogni volta che fai una insert si creerà una nuova riga con il contatore (pk) incrementato

Offline pup3770

  • Utente junior
  • **
  • Post: 89
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy s3
  • Sistema operativo:
    Android
Re:Storage valori GPS in un database
« Risposta #2 il: 21 Maggio 2014, 13:07:00 CEST »
0
Ciao, immagino che ormai è un post molto vecchio e quindi non verrà letto chissà quanto, ma visto che non è stato chiuso mi sembra doveroso condividere con voi quanto da me fatto. Lasciando stare che io ho aperto il post perché volevo capire come salvare in DB SQLite numeri e non stringhe ma alla fine vedo che anche tu salvi STRINGHE pur dicendo che volevi salvare numeri..Ma cmq..

Activity Dato.java
Codice (Java): [Seleziona]
package com.pup3770.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;    
}
   
   
   
}

Activity AdapterDato.java
Codice (Java): [Seleziona]
package com.pup3770.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;

      }
     
 
}

Activity DataBaseHelper.java
Codice (Java): [Seleziona]
package com.pup3770.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


Activity Coordinate.java
Codice (Java): [Seleziona]
package com.pup3770.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);
                        }

}


Activity MainActivity.java
Codice (Java): [Seleziona]
package com.pup3770.localandsavegps;


import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
 
public class MainActivity extends Activity {
 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
               
                setContentView(R.layout.layout1);
            }
 
       
        //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 "Contatti" mediante pressione del bottone
                public void ricavaCoordinate (View view){
                         
                Intent coordinate;
         
                coordinate = new Intent (this, Coordinate.class);
         
                startActivity(coordinate);
                }
 
}


Activity ElencoCoordinate.java
Codice (Java): [Seleziona]
package com.pup3770.localandsavegps;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class ElencoCoordinate extends Activity {
               

                @Override
                protected void onCreate(Bundle savedInstanceState) {
                        super.onCreate(savedInstanceState);
                       
                       
                        setContentView(R.layout.activity_elenco_coordinate);
                       
                         ListView mylist = (ListView) findViewById(R.id.listView1);

                         DataBaseHelper db_coordinate = new DataBaseHelper(this);
                         
                         // Lista di coordinate
                     List<Dato> elencoCoordinate = new ArrayList<Dato>();
                         
                         String query = "SELECT * FROM coordinate";


                     Cursor cursor = db_coordinate.getReadableDatabase().rawQuery(query, null);
                     
                     
                     
                      while (cursor.moveToNext()) {
                               
                          elencoCoordinate.add(new Dato(cursor.getString(0), cursor.getString(1)));

                            }

                     cursor.close();

                     db_coordinate.close();

                     // Definisco adapter
                     AdapterDato adapterContatti = new AdapterDato(this, R.layout.row_dato,elencoCoordinate);
                     // inietto i dati  
                      mylist.setAdapter(adapterContatti);  
                       
                } //Fine OnCreate()
                       

        } //Fine Activity ElencoCoordinate


Activity FormattaElenco.java
Codice (Java): [Seleziona]
package com.pup3770.localandsavegps;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class FormattaElenco extends Activity {
               

                @Override
                protected void onCreate(Bundle savedInstanceState) {
                        super.onCreate(savedInstanceState);
                       
                       
                        setContentView(R.layout.activity_formatta_elenco);
                       
                         //ListView mylist = (ListView) findViewById(R.id.listView1);

                         DataBaseHelper db = new DataBaseHelper(this);
                         
                       
                         // Lista di coordinate
                     List<Dato> formattaElenco = new ArrayList<Dato>();
                         
                         
                         String query = "DELETE FROM coordinate";


                     Cursor cursor = db.getReadableDatabase().rawQuery(query, null);

                 
                      while (cursor.moveToNext()) {
                               
                                formattaElenco.remove(new Dato(cursor.getString(0), cursor.getString(1)));
                              //formattaElenco.add(new Dato(cursor.getString(0), cursor.getString(1)));

                            }

                     cursor.close();

                     db.close();

                     /*
                     // Definisco adapter
                     AdapterDato adapterCoordinate = new AdapterDato(this, R.layout.row_dato,formattaElenco);
                     // inietto i dati  
                      mylist.setAdapter(adapterCoordinate);  
                       */

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

        } //Fine Activity ElencoContatti


Layout layout1.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

    <TextView
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="
       BENVENUTO
       
       Applicazione di Alessandro Rosina" />


    <Button
       android:id="@+id/calcola"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/contatti"
       android:layout_alignBottom="@+id/contatti"
       android:layout_alignParentLeft="true"
       android:layout_marginLeft="40dp"
       android:onClick="ricavaCoordinate"
       android:text="Calcola" />

    <Button
       android:id="@+id/contatti"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentRight="true"
       android:layout_below="@+id/textView1"
       android:layout_marginRight="38dp"
       android:layout_marginTop="68dp"
       android:onClick="visualizzaContatti"
       android:text="Contatti" />

</RelativeLayout>


Layout row_dato.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >

    <TextView
       android:id="@+id/txtlatitudineDato"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="10dip"
       android:textSize="22dip"
       android:text="TextView"
       >
        </TextView>
   
    <TextView
       android:id="@+id/txtlongitudineDato"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:padding="10dip"
       android:textSize="22dip"
       android:text="TextView"
       >
        </TextView>

</LinearLayout>


Layout activity_coordinate.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
 
    <TextView
       android:id="@+id/provider_txt"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:layout_marginLeft="15dp"
       android:layout_marginTop="15dp"
       android:text="Sto usando..."
       android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <TextView
       android:id="@+id/latitude_txt"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/provider_txt"
       android:layout_below="@+id/provider_txt"
       android:layout_marginTop="15dp"
       android:text="Latitude: ..."
       android:textAppearance="?android:attr/textAppearanceLarge" />
 
    <TextView
       android:id="@+id/longitude_txt"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/latitude_txt"
       android:layout_below="@+id/latitude_txt"
       android:layout_marginTop="15dp"
       android:text="Longitudine: ..."
       android:textAppearance="?android:attr/textAppearanceLarge" />

    <Button
       android:id="@+id/homepage"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_alignParentLeft="true"
       android:layout_marginBottom="15dp"
       android:onClick="home"
       android:text="Homepage" />

    <Button
       android:id="@+id/contatti"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/homepage"
       android:layout_alignBottom="@+id/homepage"
       android:layout_alignParentRight="true"
       android:onClick="visualizzaContatti"
       android:text="Contatti" />

    <Button
       android:id="@+id/Calcola"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_above="@+id/homepage"
       android:layout_alignParentLeft="true"
       android:layout_marginBottom="16dp"
       android:onClick="ricavaCoordinate"
       android:text="Calcola" />

    <Button
       android:id="@+id/Elenco"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/Calcola"
       android:layout_alignBottom="@+id/Calcola"
       android:layout_alignParentRight="true"
       android:onClick="elencoCoordinate"
       android:text="Elenco" />

    <Button
       android:id="@+id/Formatta"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/homepage"
       android:layout_alignBottom="@+id/homepage"
       android:layout_toRightOf="@+id/latitude_txt"
       android:onClick="formattaElenco"
       android:text="Formatta" />
   
</RelativeLayout>


Layout activity_elenco_coordinate.xml
Codice (XML): [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/container"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">

    <ListView
       android:id="@+id/listView1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       >
    </ListView>
   

</LinearLayout>


Layout activity_formatta_elenco.xml
Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".FormattaElenco" >

    <TextView
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="
       DATABASE
       Formattato Correttamente!!!" />


    <Button
       android:id="@+id/Calcola"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/textView1"
       android:layout_centerHorizontal="true"
       android:layout_marginTop="77dp"
       android:onClick="ricavaCoordinate"
       android:text="Calcola" />

</RelativeLayout>