• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Android
 

Android

on

  • 1,127 views

slajdy k mé přednášce na TU Liberec

slajdy k mé přednášce na TU Liberec

Statistics

Views

Total Views
1,127
Views on SlideShare
1,127
Embed Views
0

Actions

Likes
0
Downloads
10
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • - nainstalovat do workspace ukázky kódu - nainstalovat sqlitebrowser pro ukázku - nalogovat se do google analytics, admob - nastartovat emulator, checknout nastaveni emulatoru
  • - jako vy = začátečník - otázky: 1) kdo už má app na android marketu / apple appstore? 2) kolik lidi ma smartphone 3) kolik lidi ma android 4) kolik lidi ma nejaky projekt na app ?
  • - proč? Kontext jednotlivých issues, demonstrace jednotlivých issues včetně zdrojáku; vracení se
  • SharedPreferences s výhodou i pro data aplikace (bez nutnosti zobrazení nastavení view)
  • Ne o mě, ale o Androidu
  • Obhajoba platformy
  • Používejte DIP
  • Většinou máte nějaký content, který chcete sdílet – pokud není důvod to tam nemít tak to tam mějte
  • Asi možno i Google App Engine (placené! Free do 1GB requestů...) a další

Android Android Presentation Transcript

  • Android pohled na platformu Android OS, inspirace do začátku Michal Ursiny; http://ursiny.cz ; @ursimon
  • Barcode scanner
    • Připravte si svůj barcode scanner – bude se vám hodit
  • Intro – něco o mě
    • Absolovent TU Liberec cca 2004
    • 1995 Turbo Pascal / DOS (hříčky, dema)
    • 2000 Delphi / Windows (id3master, shareware hry, fakturační systém,...)
    • 2004 – PHP / LAMP (launch plasticka-chirurgie.info, spolupráce atweb.cz, spousty webů, eshopů)
    • 2009 – G1 a Android – 20% side-project
  • Android projekty co stojí za zmínku
    • CZ Teletext
    • Heureka.cz – srovnání cen
    • Dárky od heureka.cz
    • Student Agency SMS Rezervace
    • Vodafone zprávy
    • Pražská Plynárenská Zákaznická karta
    • Další hříčky: Blinking Android, Flashlight, série RSS čteček
  • CZ Teletext
  • CZ Teletext
    • Čtečka teletextu – stahuje bitmapy z webových URL podle nějakého vzoru
    • Stáhnutí v background threadu, bitmapa save to SD, share intent
    • Bookmarks v SQLite databázi
  • Student Agency SMS Rezervace
    • Odesílání SMS (potřebujete PERMISSION)
    • Uložení stavu app v SharedPreferences
  • Student Agency SMS Rezervace
    • Recenze v časopisu Mobility 10/2011
    • Zařazeno do Vodafone ošatky 25.11 efekt:
  • Heureka.cz – srovnání cen
  • Heureka.cz – srovnání cen
    • Vlastně jen dumb interface do mobilního webového rozhraní heureka.cz
    • Zapojení volání na barcode scanner
    • Search integrace voice-search – EASY!
    • nápad > realizace
  • Heureka.cz – srovnání cen SE VYPLATILO!
  • Dárky od heureka.cz
    • Zatřepete, pošle se request na pozadí, rozparsuje se
    • http://www.heureka.cz/direct/xml-export/xmas-offer.php
    • Výsledek se zobrazí do webview
  • Vodafone zprávy
  • Vodafone zprávy
    • RSS čtečka – parsing XML – to se vždycky hodí!
    • Vůbec ne EASY (SAX), když můžete, raději JSON nebo svůj custom formát (např. CSV)
    • Pro přípravu dat s výhodou využit Yahoo Pipes + Feedburner
  • Zákaznická karta PPAS
  • Zákaznická karta PPAS
    • Zatím nejvíc advanced app
    • Fetch XML data subjektů a regionů jednou denně
    • Filtr dle regionů, kategorií (statické) a řazení
    • Location FIX, přepočítávání vzdáleností na pozadí
    • Využití Google API mapy
  •  
  • Android jako platforma
    • Easy to jump in
    • SDK pro vývoj k dispozici na všech platformách: windows / linux / mac osx
    • Žádné poplatky, vše free; eclipse + sdk = all you need
    • Zařízení od low-end (Vodafone Smart 858 za 2200,-) až po high-end (Galaxy Nexus – v předobjednávce Vodafone 13.500,-)
    • = široký záběr platformy
  • Android – růst platformy: aktivace
    • Brutální růst platformy; poslední data:
    • 550.000 nových zařízení DENNĚ (červenec 2011)
    • = 23.000 za hodinu; 383 za minutu; 6 za vteřinu
    • http://www.youtube.com/watch?v=fqFpq9WXbJo
  • Android – růst platformy Teď už spíše tak 2x http://www.youtube.com/watch?v=xUnbZlJnQ8A
  • Android – podíl na trhu >50% smartphones (US nyní, ale brzo i global)
  • Android jako platforma - resume
    • Stojí za to pro ni vyvíjet
    • Není obskurní platforma ani platforma na vymření – platformě se daří dobře a má předpoklady, že se jí bude dařit dobře dál
    • Široká dostupnost, otevřenost vs. rel. uzavřenost ostatních platforem – obé má svoje +/- ale uzavřené platformy tu už máme, takže proč to dělat jako ostatní – blue ocean strategy – dělat věci jinak, najít si svoje místo na trhu
    • Androidu se to daří – a proto to má smysl
  • Co už umíte
    • Nainstalovat si Eclipse + Android SKD
    • pokud ne, tak: Android nálevna: http://www.slideshare.net/pavelpetrek/20101108-androidnalevna
  • Co by se vám mohlo dál hodit
    • Design !
    • ACTION_SEND intent na sdílení
    • Odesílání SMS pomocí SMSManager – PERMISSIONS!
    • Search, voice search + suggestion provider
    • ListView, adaptéry
    • Práce s databází SQLite + DBAdapter, SQLite browser
    • Thready
    • Back-end data
    • Android Market – publikace, komentáře, stats
    • Google Analytics – stats uvnitř app
    • Admob
  • O designu
    • Design je důležitý
    • Grafický návrh nebo alespoň nějaký návrh by měl předcházet realizaci – měl by dělat designér, ne programátor, pokud nejste i designér, sežeňte si ho ;-)
    • Na aplikacích bez designu je to vidět (ano i na mých :-( )
    • http://google-cz.blogspot.com/2011/07/design-pro-android-v-kostce.html
    • http://developer.android.com/guide/practices/ui_guidelines/index.html
  • Ikona
    • Začíná to ikonou
    • S výhodou využijte Android Asset Studio
    • Není náhradou za řádný design, ale lepší než nic – než designer dodá OK
    • http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html
  • Ještě více o designu
    • Roman Nurik, autor Android Asset Studio:
    • http://www.google.cz/events/developerday/2010/prague/sessions/excellence-in-android-ux.html
  • Styly
    • Něco jako CSS u androidu
    • Do res/values xml obsahujici např.:
    • <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?>
    • <resources>
    • <style name=&quot;CodeFont&quot; parent=&quot;@android:style/TextAppearance.Medium&quot;>
    • <item name=&quot;android:layout_width&quot;>fill_parent</item>
    • <item name=&quot;android:layout_height&quot;>wrap_content</item>
    • <item name=&quot;android:textColor&quot;>#00FF00</item>
    • <item name=&quot;android:typeface&quot;>monospace</item>
    • </style>
    • </resources>
  • Témata
    • Stejně jako styly nebo využít build-in styly např.:
    • @android:style/Theme.Light v Android Manifestu u aktivity
  • ACTION_SEND
    • Jednoduchá, ale poměrně silná věc – sdílení napříč systémem pomocí intentu ACTION_SEND
    Intent i = new Intent(Intent. ACTION_SEND ); i.putExtra(Intent. EXTRA_SUBJECT , theTitle ); i.putExtra(Intent. EXTRA_TEXT , theURL ); i.setType( &quot;text/plain&quot; ); startActivity(Intent. createChooser (i,getString(R.string. button_share )));
  • Poslání SMS pomocí SMSManager
    • Potřebujete permission:
    • android.permission.SEND_SMS v AndroidManifest.xml
    SmsManager. getDefault () .sendTextMessage( &quot;+420123456789&quot; , null , sms, null , null );
  • Jak dál když nevíte?
    • APIDemos – příklady všech běžných prvků Androidu v doporučeném použití
    • Google pomůže: android developer keyword
    • Developer.android.com
    • Stack Overflow: http://stackoverflow.com/
  • ListView seznamy
    • Viz. APIDemos, nejjednoduší implementace
    • Obdobně i spinner (combobox)
    // Use an existing ListAdapter that will map an array // of strings to TextViews setListAdapter( new ArrayAdapter<String>( this , android.R.layout. simple_list_item_1 , mStrings )); getListView().setTextFilterEnabled( true );
  • Thready
    • Některé akce, typicky stahování dat musíte dělat na pozadí – neblokovat UI thread = FORCE CLOSE... NEEEE!!!
    • public void onClick(View v) {
    • new Thread(new Runnable() {
    • public void run() {
    • final Bitmap bitmap = loadImageFromNetwork(&quot;http://example.com/image.png&quot;);
    • mImageView.post(new Runnable() {
    • public void run() {
    • mImageView.setImageBitmap(bitmap);
    • }
    • });
    • }
    • }).start();
    • }
  • Jak na databázi
    • DbAdapter implementace z příkladu NotePad
    • Snadné napojení na ListView skrze SimpleCursorAdapter
    • TIP: šikovný tool: http://sqlitebrowser.sourceforge.net/
  • Back-end data
    • Často potřebujete / stahujete data z nějakého back-endu
    • Co nejjednoduší formát, ať se vám to snadno a lehce parsuje na zařízení
    • XML je rel. náročné tutorial: http://www.ibm.com/developerworks/xml/tutorials/x-androidrss/
    • JSON efektivní
    • CSV nejjednoduší
  • Back-end data #2
    • Back end stojí peníze...
    • S výhodou využijte Yahoo Pipes
    • Feedburner zase zajistí stabilitu RSS zdrojů
  • Android Market
    • Registrační fee 25USD skrze Google Wallet (zaplatíte kartou) – lifetime registrace = můžete publikovat jak chcete
    • Nepodléhá schvalování, jakmile publikováno = okamžite k dispozici
    • Adult content nutno označit
    • Google „android market publish“
    • Nemusíte – distribuovat APK lze nezávisle
    • Unikátní packagename, signatures, keys, keystores
  • Android Market - komentáře Nebrat moc vážně – většinou silně subjektivní – nicméně indikátor možných problémů. Blinking Android: „ Me Great for sending the baby to sleep!“ „ I love the strobo mode.it is nice to use in a disco.“ „ The coolest thing about this was installing it...from there I think I dropped a few iq points.“ Flashlight: „ I buy a lot of gemstones, and this app is the best for using as back light. Set ruby on screen and you can see the clarity. great app for jeweler.“
  • Android Market
    • Bohužel nelze zatím prodávat aplikace jako CZ developer :-(
  • Google Analytics
    • http://code.google.com/intl/cs/mobile/analytics/docs/android/
    • Vytvoříte si profil v Google Analytics
    Propojíte jar library do svého projektu GoogleAnalyticsTracker tracker ; v onCreate: tracker = GoogleAnalyticsTracker. getInstance (); tracker .startNewSession( &quot;UA-XXXXXXX-XX&quot; , 4, this ); tracker . trackPageView ( &quot;/homescreen&quot; ); v onDestroy: tracker .stopSession();
  • AdMob
    • Za námahu si zasloužíte:
  • AdMob
    • Reklamy do mobilních aplikací; registrace free, platí na paypal
    • Implementace: jar library, custom element do layout a je hotovo!
    • Posílají, když měsíčně aspoň 20USD = na pivo
    • Více info o možnostech monetizace výborná přednáška Martina Adámka: http://www.youtube.com/watch?v=cBqJ-QeBKac
  • AdMob inspirace
  • Další doporučené zdroje
    • Google Developers Day 2009, 2010, 2011
    • ADevCamp.cz – organizováno inmite.eu
    • Andy Rubin @arubin – šéf platformy
    • Roman Nurik @romannurik
    • Reto Meier: @retomeier http://www.google.cz/events/developerday/2010/prague/sessions/best-practices-for-building-android-apps.html
    • Kniha: Professional Android 2 Application Development
  • Tipy a triky
    • Ddms = Dalvik Debug Monitor = umožňuje dělat screenshoty ze zařízení v android-sdk/tools
    • Clean project v Eclipse = záchrana při pomatení
    • Logujte! Log
    • Používejte DIP pro pozicování
    • Další temná zákoutí Androidu: http://www.youtube.com/watch?v=xxca_SADKeM
  • Díky za pozornost Otázky? ZAČNĚTE! http://www.slideshare.net/ursimon/android-10460713