Android co-mi-usnadnuje-zivot

304 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
304
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android co-mi-usnadnuje-zivot

  1. 1. Co mi usnadňuje život Tipy z vývoje pro Android OS Michal Ursiny / Fuerte International www.fuerteint.com
  2. 2. Někdy se cítíte
  3. 3. A přitom by jste chtěli
  4. 4. Jak na to ● redukujte složitost problému ● někdo to už vyřešil před Vámi – naučte se to ● poučte se z vlastních chyb / nevhodných řešení ● sledujte vývoj, novinky, reflektujte
  5. 5. Co jsem se naučil já ● ContentProviders + Loadery ● Google Play Services ● Volley
  6. 6. Sample project: nearby ● https://bitbucket.org/ursimon/nearby ● demonstruje vše ;-)
  7. 7. ContentProvider + Loader ● ● ● ● pro ukládání dat v appce dříve dbHelper = složité, problematické při vícevláknovém zpracováním ContentProvider = thread safe, poskytuje notifikace o změně Ve spojení s Loader zjednodušuje zobrazování dat v appce
  8. 8. ContentProvider + Loader ● ● ● ● ● Jak to celé implementovat... Hotový ContentProvider do AndroidManifest s atributem exported=“false“ = jen pro Vaši appku Ve své Activity / Fragment implementujte LoaderManager.LoaderCallbacks<Cursor> OnCreateLoader – vytváříte Loader, query OnLoaderFinished – dostanete Cursor – co s ním? Klasicky do adapteru
  9. 9. ContentProvider + Loader ● Jak ho napsat? ● Koukněte se na fungující příklad nebo ● Nechte si ho vygenerovat! https://github.com/fedepaol/Android-sql-lite-helper
  10. 10. O víc se nestaráte
  11. 11. ContentProvider + Loader ● ● Podrobnější info: Power your app with Content Provider Mathieu Calba DroidCon London / 2013 : https://speakerdeck.com/mathieu_calba/power-your-app-with-content-provider ● aDevMeetup #7: Michal Havryluk - Jak efektivně pracovat s databází (suspendedNotifications) http://www.youtube.com/watch?v=sX0n6kNvrDg
  12. 12. Google Play Services ● Google mapy do appky ● Zjednodušuje získání lokace (FusionProvider) ● GeoFencing a více ● Součástí SDK
  13. 13. Google Play Services ● Jak získat lokaci? ● Importujete Google Play Services library project ● ● Implementujete GooglePlayServices.ConnectionCallbacks Získate LocationClient
  14. 14. Google Play Services ● ● LocationClient.getLastLocation() vrací nejlepší a nejnovější pozici – může stačit, ale může být taky NULL :-( LocationClient.requestLocationUpdates(Locatio nRequest, LocationListener) požádáte o location request a dostanete lokaci v LocationListeneru
  15. 15. O víc se nestaráte
  16. 16. Volley ● Android knihovna pro networking ● Přímo od Google (používá Google Play Store) ● ● ● Je rychlá, cachuje requesty, paralelní zpracování requestů Ve spojení s Gson vám může vracet přímo objekty – nic neparsujete NetworkImageView – view komponenta pro nahrávání obrázků ze sítě
  17. 17. Volley ● ● Google I/O 2013 - Volley: Easy, Fast Networking for Android: http://www.youtube.com/watch?v=yhv8l9F44qo Repository: https://android.googlesource.com/platform/frameworks/volley stačí vybuildovat jako library project a výsledný jar do vašeho projektu ● Docs: http://files.evancharlton.com/volley-docs/
  18. 18. Volley - Request ● subclass Application = inicializace queue, imageloader ● RequestQueue queue = MyVolley.getRequestQueue(); ● ● Vytvoříte request: GsonRequest<PlacesResponse> categoryRequest = new GsonRequest<PlacesResponse>(Method.GET, callURL, PlacesResponse.class, createMyReqSuccessListener(), createMyReqErrorListener()); queue.add(categoryRequest);
  19. 19. Volley - Request private Response.Listener<PlacesResponse> createMyReqSuccessListener() { return new Response.Listener<PlacesResponse>() { @Override public void onResponse(PlacesResponse response) { // you have your object HERE! }} ● ● ● Alternativně: StringRequest = dostáváte String, JsonObjectRequest = dostáváte Json Lze rozšířit: SimpleXMLRequest https://gist.github.com/itsalif/6149365 GsonRequestHeaders – s rozšířením s podporou headers + body https://gist.github.com/ursimon/7743040
  20. 20. Volley - NetworkImageView ● Komponenta přímo do Layoutu <com.android.volley.toolbox.NetworkImageView/> ● A pak už jen: image.setImageUrl(myUrl, MyVolley.getImageLoader());
  21. 21. O víc se nestaráte
  22. 22. Díky! ● Slideshare: http://www.slideshare.net/ursimon ● Twitter: @ursimon ● Email: michal.ursiny@gmail.com

×