Android-App/NerdKalender Martin Perstorfer Stefan Eckl
Bildquelle: https://play.google.com/store?hl=de&tab=w8 Gliederung Allgemeines über Android Projektbeschreibung Livevorführung Vorbereitungen Projektumsetzung Teil I Projektumsetzung Teil II Veröffentlichung und Tests Fazit Bildquelle: https://play.google.com/store?hl=de&tab=w8
Allgemeines über Android wurde von der Open Handset Alliance gegründet Oktober 2008: Erstes Gerät mit Android größter Markanteil unter allen mobilen Betriebssystemen Google übernimmt mehr und mehr die Überhand
Projektbeschreibung Projekttitel: NerdKalender Anzahl der gelebten Tage der gespeicherten Kontakte ermitteln und mit Sortierung darstellen Einstellungen sollen variierbar sein Ziel: funktionsfähige Version am PlayStore veröffentlichen
Livevorführung
Vorbereitungen Entwicklungsumgebung: Eclipse mit Android SDK Programmiersprache: Java Hardware zum Debuggen: HTC Wildfire, NEXUS 7 Nachschlagewerk: Android 3 von Thomas Künneth(Buch)
Projektumsetzung I AndroidManifest.xml Startseite Alle Kontakte Benutzerdefiniert mit Schnittstelle Einstellungen
AndroidManifest.xml Version Berechtigungen Logo MainActivity Activity
Startseite Button bnAlleKontakte = (Button)(this.findViewById(R.id.bnAlleKontakte)); bnAlleKontakte.setOnClickListener( new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Start.this, AlleKontakte.class); StartActivity(intent); } });
Alle Kontakte Daten Vector<Kontakte> Layout Listenkopf Listenitems KontaktAdapter adapter = new KontaktAdapter(this, R.layout.listview_item_row, kontakt); lvKontakt = (ListView)findViewById(R.id.lvKontkate); View header = (View)getLayoutInflater().inflate (R.layout.listview_header_row, null); lvKontakt.addHeaderView(header); lvKontakt.setAdapter(adapter);
Alle Kontakte Cursor mainQueryCursor= contentResolver.query( ContactsContract.Contacts.CONTENT_URI, mainQueryProjection, mainQuerySelection, mainQuerySelectionArgs, null); // Trefferliste abarbeiten... while (mainQueryCursor.moveToNext()) { String contactId = mainQueryCursor.getString(0); String displayName = mainQueryCursor.getString(1); Cursor bdc = bd.query(android.provider.ContactsContract.Data.CONTENT_URI, new String[] { Event.DATA }, android.provider.ContactsContract.Data.CONTACT_ID+" = "+contactId+" AND "+Data.MIMETYPE+" = '"+Event.CONTENT_ITEM_TYPE+"' AND "+Event.TYPE+" = "+Event.TYPE_BIRTHDAY, null, android.provider.ContactsContract.Data.DISPLAY_NAME); … // Geburtsdatum ermitteln und in Vector speichern
Kontakte mit Geburtsdatum gleicher Aufbau wie „Alle Kontakte“ Sortierung nach: „Wer hat den nächsten Runden“ greift auf Einstellungen zu
Projektumsetzung II Einstellungen Schnittstelle mit Geburtstagsberechnung About
Start Layout-Designer xml-Code-Datei
Start OnClickListener = OnClick- Ereigniss (Java) Start.java OnClickListener = OnClick- Ereigniss (Java) ruft die Klasse About auf Intent = neue Seite
About About.java erzeugt erst beim onCreate ihr zugehöriges Layout
About Layout-Designer xml-Code-Datei
Start Layout-Designer xml-Code-Datei
Start Start.java ruft die Klasse Einstellungen auf
Einstellungen Preference = Einstellungsmenü anstatt setContentView(Layout) hier addPreference
Einstellungen my_preferences.xml Anzeige
Einstellungen array.xml Anzeige
Start Layout-Designer xml-Code-Datei
Start Start.java ruft die Klasse Benutzerdefiniert auf
Benutzerdefiniert Erstellen einer SharedPreference Benutzerdefiniert.java Erstellen einer SharedPreference auslesen des gewählten Auswahl in einen string weitere Verarbeitung
Veröffentlichung und Tests Entwickleraccount bei Google Play App hochladen (als Betatest) Beschreibung der App ein Logo im Format 512x512 Pixel min. 2 Screenshots eine Kategorie auswählen und vieles mehr App veröffentlichen Bildquelle: cdn.crackberry.com/sites/crackberry.com/files/styles/large/public/topic_images/2013/ANDROID.png%3Fitok%3Dxhm7jaxS
Fazit Herausforderung, da neues Themengebiet Ziel erreicht App als Testversion am PlayStore Aktueller Stand: Version 0-9-4 weitere Ideen für nächstes Schuljahr kann ich nur weiterempfehlen!
Danke für ihre Aufmerksamkeit!