Dev fest Androidapplication - case study       Daniele Bottillo       GDG Bologna
Indice● lapplicazione● da dove siamo partiti● che cosa abbiamo fatto● come labbiamo fatto● i problemi incontrati
Lapplicazione
Lapplicazione● agenda devfest● dettaglio talk● condivisione talk● aggiunta talk al calendario● lista sponsor● about
Da dove siamo partiti● GDG Bologna è in "partenza"● supporto agli organizzatori● conoscenza di Android● hey ma unapplicazi...
Requisiti / Punto di partenza● 15-20 giorni di tempo● lavoro notturno e nei weekend● progettazione in pausa pranzo● ragazz...
Punto di partenza tecnico● non abbiamo tempo● android 4.0● solo smartphone● fragment ed intent● ragazze imbufalite
Progettazione
Progettazione                  Main Activity                      About Activity                  View PagerFragment Agend...
Progettazione● genericità● devfest è ciclica● progetto android dev-fest● progetto android dev-fest-2012● libreria android
Android Library● progetto non compila più!● creare riferimento alla libreria● override● strings.xml
Sviluppo● nuovo progetto Eclipse● Build SDK: Android 4.1 (API 16)● Minimum Required SDK: Android 4.0 (API  14)● android co...
Sviluppo - Agenda      ● viewpager      ● fragment      ● custom adapter        (section list)      ● no images!
Sviluppo - Dettaglio Talk         ● dialog fragment         ● images!         ● intent per condivisione         ● intent p...
Sviluppo - Intent condivisioneIntent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/plain");intent.putExtra(...
Sviluppo - Intent calendarioIntent intent = new Intent(Intent.ACTION_EDIT);intent.setData(Events.CONTENT_URI).putExtra(Cal...
Sviluppo - Libreria             android-devfest-2012                                 android-devfest          json        ...
Sviluppo - NFCString url = "https://play.google.com/store/apps/details?id=org.gdgbologna.devfest2012";byte[] payload = url...
Problemi incontrati● intent calendario  ○ +1 per i nexus  ○ insulti per HTC, SAMSUNG, etc..● fragment  ○ bellissima idea  ...
Riferimenti● http://code.google.com/p/android-devfest/● http://code.google.com/p/android-devfest-  2012/● http://www.gdg-b...
Fine● Daniele Bottillo  ○ www.danielebottillo.com  ○ twitter: cribcaged7
Upcoming SlideShare
Loading in …5
×

Dev fest android application case study

679 views

Published on

Talk di Daniele Bottillo e Luca Leone alla DevFest 2012 @ Firenze

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
679
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dev fest android application case study

  1. 1. Dev fest Androidapplication - case study Daniele Bottillo GDG Bologna
  2. 2. Indice● lapplicazione● da dove siamo partiti● che cosa abbiamo fatto● come labbiamo fatto● i problemi incontrati
  3. 3. Lapplicazione
  4. 4. Lapplicazione● agenda devfest● dettaglio talk● condivisione talk● aggiunta talk al calendario● lista sponsor● about
  5. 5. Da dove siamo partiti● GDG Bologna è in "partenza"● supporto agli organizzatori● conoscenza di Android● hey ma unapplicazione Android per la devfest non esiste?● GDG Berlin / GDG Zurich (ieri)
  6. 6. Requisiti / Punto di partenza● 15-20 giorni di tempo● lavoro notturno e nei weekend● progettazione in pausa pranzo● ragazze imbufalite
  7. 7. Punto di partenza tecnico● non abbiamo tempo● android 4.0● solo smartphone● fragment ed intent● ragazze imbufalite
  8. 8. Progettazione
  9. 9. Progettazione Main Activity About Activity View PagerFragment Agenda Fragment Sponsor Fragment Talk
  10. 10. Progettazione● genericità● devfest è ciclica● progetto android dev-fest● progetto android dev-fest-2012● libreria android
  11. 11. Android Library● progetto non compila più!● creare riferimento alla libreria● override● strings.xml
  12. 12. Sviluppo● nuovo progetto Eclipse● Build SDK: Android 4.1 (API 16)● Minimum Required SDK: Android 4.0 (API 14)● android compatibility package
  13. 13. Sviluppo - Agenda ● viewpager ● fragment ● custom adapter (section list) ● no images!
  14. 14. Sviluppo - Dettaglio Talk ● dialog fragment ● images! ● intent per condivisione ● intent per aggiunta a calendario
  15. 15. Sviluppo - Intent condivisioneIntent intent = new Intent(Intent.ACTION_SEND);intent.setType("text/plain");intent.putExtra(Intent.EXTRA_TEXT,talk.getTitle()+" - "+talk.getSpeaker());startActivity(Intent.createChooser(intent, app.getResources().getString(R.string.title_sharing_dialog)));
  16. 16. Sviluppo - Intent calendarioIntent intent = new Intent(Intent.ACTION_EDIT);intent.setData(Events.CONTENT_URI).putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, talk.getStart().getTimeInMillis()).putExtra(CalendarContract.EXTRA_EVENT_END_TIME, talk.getEnd().getTimeInMillis()).putExtra(Events.TITLE, talk.getTitle()).putExtra(Events.EVENT_LOCATION, talk.getPlace())
  17. 17. Sviluppo - Libreria android-devfest-2012 android-devfest json strings.xml List Fragment Class jsonRaw = R.raw.class;<string-array name="fest"> <item>Firenze</item> Field field = jsonRaw. <item>Sicilia</item> getField(fest[0].toLowerCase());</string-array> InputStream is = activity.getResources(). openRawResource(field.getInt(null));
  18. 18. Sviluppo - NFCString url = "https://play.google.com/store/apps/details?id=org.gdgbologna.devfest2012";byte[] payload = url.getBytes();NdefRecord ndefRecord = new NdefRecord(NdefRecord.TNF_ABSOLUTE_URI,payload, new byte[0], payload);mNdefPushMessage = new NdefMessage(new NdefRecord[] { ndefRecord });mNfcAdapter.setNdefPushMessage(mNdefPushMessage, this);
  19. 19. Problemi incontrati● intent calendario ○ +1 per i nexus ○ insulti per HTC, SAMSUNG, etc..● fragment ○ bellissima idea ○ portano via tempo... ○ gestione ciclo di vita e viewpager
  20. 20. Riferimenti● http://code.google.com/p/android-devfest/● http://code.google.com/p/android-devfest- 2012/● http://www.gdg-bologna.org/ (in terminazione)● GDG Bologna - Google +
  21. 21. Fine● Daniele Bottillo ○ www.danielebottillo.com ○ twitter: cribcaged7

×