Premesso che abbiamo compilato il progetto son SQLite e completato la form per l'inserimento di un libro, ora andiamo avanti creando l'Activity GestioneLibro che la utilizza, almeno nel caso in cui si voglia proprio inserire un libro.
Poi faremo in modo che la pagina di ingresso MainActivity chiami GestioneLibro.
1. Pulsante destro sui src (sorgenti) e selezionare New-->>Class...
2. Nella form che si apre, specificare che la Classe che vogliamo creare ha come superclasse Activity.
premendo il tasto Browse... e scrivendo le prime lettere "Act" poi basterà selezionare la prima classe che compare android.app.Activity
3. Inserire il nome della classe che vogliamo creare: GestioneLibro
4. Premendo Fine, vediamo che tra i sorgenti è stato creato un nuovo file Gestionelibro.java che è la nostra classe.
prima di utilizzarla e di scrivere del codice dentro, nel successivo passo, la registriamo nel file AndroidManifest.xml, che è il file in cui vengono registrate tutte le componenti e le caratteristiche della nostra applicazione.
1. Aprire il file AndroidManifest.xml.
Andare sull'ultimo tab in basso in cui si può modificare questo file in XML.
2. Inserire, all'interno dei tag <application>, sotto il tag di chiusura </activity> del ActivityMain, la seguente riga di codice:<activity android:name="com.example.androidsqlite.GestioneLibro"/>
1. Nella nostra classe Gestionelibro.java aggiungiamo il seguente pezzo di codice, il metodo OnCreate:
public class GestioneLibro extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.insert_book); } }
2. Per approfondire il concetto di Activity in Android, ricordiamo che sul sito ufficiale developer.android.com ci sono tutte le informazioni di cui abbiamo bisogno.
A questo link c'è la spiegazione del metodo OnCreate che viene chiamato alla partenza dell'Activity.
1. Andare su res-->>layout-->>activity_main.xml.
Aggiungere un bottone al centro della form.
2. Scrivere tramite la vista XML "Inserisci Libro" sul bottone e salvare.
Notare il campo che ci servirà nel passo successivo: android:id="@+id/button1"
. button1 è il nome con cui il sistema Android identifica il pulsante su quella form. Ricordiamolo, perché è utile nel passo successivo in cui assoceremo a quel bottone l'azione di far partire la nostra Activity "GestioneLibro".
1. Torniamo su MainActivity.java e inseriamo, all'interno del metodo OnCreate, dopo l'istruzione setContentView(..), il seguente blocco di codice:
Button buttInserisci = (Button)findViewById(R.id.button1); buttInserisci.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(MainActivity.this, GestioneLibro.class); myIntent.putExtra("azione", "INSERIMENTO"); //Optional parameters MainActivity.this.startActivity(myIntent); } });
3. Torniamo a vedere nel Graphical Layout com'è cambiata la nostra form!.
1. Selezionare il progetto, pulsante destro del mouse,
Run As-->>Android Application
Dalla form Android device chooser, selezionare il proprio telefono o far partire un emulatore ed attendere.
2. Sul telefono apparirà la prima form della nostra app con un bottone "Inserisci Libro". Toccarlo e vedere la form dell'attività GestioneLibro.
1. Torniamo sulla classe GestioneLibro.java e il metodo OnCreateviene modificato in questo modo:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); //Prendo la Stringa passata dall'Activity Main String action = intent.getStringExtra("azione"); if(action.equals("INSERIMENTO")) //Se ha valore "INSERIMENTO" { setContentView(R.layout.insert_book); //Il layout della form sarà insert_book.xml //il campo editabile titolo final EditText titolo = (EditText)findViewById(R.id.editText1); //il campo editabile autore final EditText autore = (EditText)findViewById(R.id.editText1); //il bottone inserisci Button buttInserisci = (Button)findViewById(R.id.button1); //definiamo l'azione da compiere quando si tocca il bottone buttInserisci.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //creare un oggetto book Book book = new Book(titolo.getText().toString(),autore.getText().toString()); //connessione al DB MySQLiteHelper db = new MySQLiteHelper(GestioneLibro.this); //aggiungi l'oggetto lobro db.addBook(book); //lista tutti i book presenti List<Book> list = db.getAllBooks(); //fai un ciclo for sui libri e falli vedere con un toast for(Book b : list) { Toast.makeText(getApplicationContext(), b.getId() + " " + b.getTitle() + " " + b.getAuthor(), Toast.LENGTH_SHORT).show(); } } }); } }
2. Run dell'App sul telefono e inserire un Libro. Vedere poi scorrere i libri inseriti con un id crescente fino a quello che abbiamo appena inserito.