niedziela, 18 lipca 2010

Coś dla początkujących - NotePad tutorial

Wstęp
Wszystkim, którzy dopiero rozpoczynają przygodę z Androidem szczególnie polecam Notepad tutorial. Znajdują się tam trzy proste ćwiczenia, dzięki którym w łatwy i szybki sposób można poznać podstawy programowania na platformę Android.

Ponieważ potrzebowałem jakiegoś prostego przykładu aby opisywać bardziej zaawansowane rzeczy stwierdziłem, że nie będę pisał od podstaw nowego szkieletu tylko wykorzystam Notepad tutorial. Po pierwsze dlatego, że jest dobrze napisany, po drugie - dobrze objaśniony, a po trzecie - zawiera właśnie to czego potrzebowałem. Źródła ćwiczeń z rozwiązaniami można ściągnąć stąd.

Drobne zmiany
Jednak nie mogę się powstrzymać przed pewnymi modyfikacjami. Obecnie to wygląda tak:



Po pierwsze, chciałbym aby były wyświetlane na liście takie wartości jak tytuł i treść, teraz jest tylko tytuł notatki. W tym celu należy dodać nowe pole w wierszach listy, w którym będzie się znajdowała treść notatki. Plik notes_row.xml wygląda teraz tak:



Dodany jest nowy TextView z id text2, a pole tytułu będzie wyświetlane większymi literami.

Teraz trzeba poprawić metodę fillData() w klasie Notepadv3 aby wypełniała text2 treścią.

private void fillData() {
        // Get all of the rows from the database and create the item list
        Cursor mNotesCursor = mDbHelper.fetchAllNotes();
        startManagingCursor(mNotesCursor);
        
        // Create an array to specify the fields we want to display in the list (only TITLE)
        String[] from = new String[]{NotesDbAdapter.KEY_TITLE, NotesDbAdapter.KEY_BODY};
        
        // and an array of the fields we want to bind those fields to (in this case just text1)
        int[] to = new int[]{R.id.text1, R.id.text2};
        
        // Now create a simple cursor adapter and set it to display
        SimpleCursorAdapter notes = 
             new SimpleCursorAdapter(this, R.layout.notes_row, mNotesCursor, from, to);
        setListAdapter(notes);
    }


Teraz prezentuje się to tak:


Jeszcze tylko zmienić szerokości layoutów, aby cała szerokość wiersza mogła być zaznaczana i klikana. Plik notes_list.xml wygląda teraz tak:




To by było na tyle. Następnym razem opisze filtrowanie list.