Upload
michal-pavlasek
View
587
Download
1
Embed Size (px)
DESCRIPTION
Slidy z mojej prednasky o nastrojoch co pouzivam pri vyvoji na Android.
Citation preview
Tipy pre developerov Aké nástoje na vývoj používam
Michal Pavlásektwitter.com/pavlasek
plus.google.com/+MichalPavlasek
Obsah
• Idea / Návrh aplikácie• Vývoj• Testovanie• Nasadenie• Ostrá prevádzka / Maintanance
O mne
• Java/Android, …, developer • Treba.sk• Easy Silencer• Football Glossary• Hangman Movies
Idea / Návrh aplikácie
• Fluid UI– fluidui.com
• Taylor Ling
– http://androiduiux.com/free-design-resources/
Idea / Návrh aplikácie
• Wireframing / Mockups• Printable A4 Android GUI Sketching Kit
– http://androiduiux.com/2012/06/30/printable-a4-gui-sketching-kit-nexus-s-galaxy-nexus-and-nexus-7/
Vývoj
• minSdkVersion=14– Ak je to len trošku možné– Inak
● ActionBarSherlock ( ActionBarCompat)● Holo Everywhere● NineOldAndroids ● ...
• 3MB vs 1MB (treba.sk)
IDE + OS
• Android Studio– IntelliJ Idea
• Android Development Tools (ADT)
– Eclipse
• Linux (Ubuntu), Mac
• Windows
– AVD - RAM (768MB)
Build
• Gradle– Android Studio
• Eclipse
• ANT
• Maven
http://androidkickstartr.com/
Device - / AVD
• Zariadenie je nutnosť• AVD
– ARM– x86
• Amazon AVD
• Genymotion– www.genymotion.com
Vývoj
• GIT (svn, ...)• Amazon/Bitnami
– EC2 micro
Vývoj
• http://square.github.io/– Dagger
– Otto
– Okhttp
– Tape
– ...
Vývoj - Databáza
• SQLite• ORM
– OrmLite– greenDAO– storm-gen
Vývoj - UI
• Touch feedback!• DP+SP – nie PX• Android Asset Studio
– android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html
• Action Bar Style Generator
• Holo Colors Generator
• CB screen resolution
Vývoj - UI
• CB screen
resolution
Vývoj
• AndroidQuery– aq.id(R.id.button)
.text("Click Me")
.clicked(this, "buttonClicked");
Vývoj - Hry
• Cocos2d– Android
– Cocos2d-x
• AndEngine
• Unity
Vývoj
● Performance / Battery life● Support Library● Lint – tools.android.com/tips/lint● Google play services● Google play game services● Amazon vs Google● Crashlytics● GCM
Testovanie
● StrictMode● developer.android.com/tools/testing/● Robolectric
Activity activity = Robolectric.buildActivity(MyActivity.class).create().get();
Button pressMeButton = (Button) activity.findViewById(R.id.press_me_button);
TextView results = (TextView) activity.findViewById(R.id.results_text_view);
pressMeButton.performClick();
String resultsText = results.getText().toString();
assertThat(resultsText, equalTo("Testing Android Rocks!"));
Nasadenie
● Zálohujte si certifikáty● Zálohujte si certifikáty
● Zálohujte si certifikáty
● ApiKeys (Devel/Production)● Maps,...
● Otestujte● adb install app.apk
Nasadenie
● Lokalizácia● Getlocalization.com● ...● App Translation Service
● Developer Console
● TIP: popis v Play store
do strings.xml
Maintanance
● Crash/ANR● Devel console
● Crashlytics● Google Analytics
Kde získavať info
● Twitter● Google+● Google IO● ADiA, DevBytes, ...● Pinterest● androidweekly.net● Lokálne stretnutia ;)
Treba.sk
● Client/server● GCM● Drawer● Voice input
EasySilencer
● Otto● EventBus
● DashClockWidget● AlarmManager● Notifications
HangmanMovies
● Google PlayGame Services
● Achievments● Leaderboards● Sync
● YouTube● Amazon/Google
HangmanMovies
● Google PlayGame Services
● Achievments● Leaderboards● Sync
● YouTube● Amazon/Google
FootballGlossary
● Voice input● YAML data● Tablet optimalizacia
Záver
● Ďakujem za pozornosť● Q/A