Upload
pavel-shchahelski
View
680
Download
0
Embed Size (px)
Citation preview
Как стать продуктивным Android
разработчиком!
Немного о себе
Щегельский Павел
Работаю в компании Netstream
Занимаюсь Android разработкой на протяжении 3+ лет
Являюсь оргом GDG Minsk
final HttpClient client = new DefaultHttpClient();
final HttpGet httpGet = new HttpGet(queryPath);
httpGet.addHeader("Accept-Encoding", "gzip");
httpGet.addHeader("accept","application/json");
HttpResponse response;
try {
response = client.execute(httpPost);
HttpEntity entity = response.getEntity();
if(entity != null){
InputStream is = entity.getContent();
json = new JSonObject(convertIsTOString(is));
inputStream.close();
}
} catch (ConnectTimeoutException e) {
throw new NonfatalException("HTTP", "Connection timeout!", e);
} catch (IOException e) {
throw new IOException ("HTTP", "Connection problem", e);
} catch (JsonException e) {
throw new NonfatalException("HTTP", "POST request failed", e);
}
Boilerplate code
Tip #1: Очевидные вещи
• IDE
• Simulator
Tip #2: Пиши меньше кода
Code Snippets
+
Open source libraries
Open source libraries
Цифры говорят сами за себя. Более 150 тыс
Android libraries portal• Play store
Android libraries portal
Link - http://android.hew.io/
Android libraries portal
Link - http://www.androidviews.net/
Android libraries portal
Link – http://androidweekly.net/
Android design portal
Link – http://androidniceties.tumblr.com/
Code snippets portal
Link – http://www.androidsnippets.com/
UI & Custom views
• Crouton (вместо Toast)
• Card UI
• Все что связано с ListView (Swipe ListView, Sticky List
Headers, Drag&Drop и т.д.)
• Все что связано с GridView (Staggered, Sticky Grid Headers
и т.д.)
• Все что связано с ActionBar (Fading, Glass, Toggle и т.д.)
• Google progress bar (SwipeRefreshLayout, GoogleProgressBar
и т.д.)
Networking• REST clients
o Retrofit
o Spring for Android
• Async requestso OKHttp
o Volley
o Android-async-http
o AQuery
Okhttp code snippet
Image Loading• Варианты
o Picasso
o UIL
o UrlImageViewHelper & ion
o Glide (new in google io 14 app)
o Aquery
Database• Варианты
o Ormlite
o Cupboard
o GreenDao
o SQL Cipher
Dependency injection
• Classo Dagger
• Viewso Butter Knife (теперь доступно Kotterknife)
• Resto RoboGuice
o Android Annotations (AA)
Injection Butte Knife
Tip #3 Используй уже существующие тулы
Mockup design tool
Link – http://ninjamock.com/
Mockup design tool
Link – https://www.fluidui.com/
Не забудь уменьшить размер твоего имеджа
Link – https://tinypng.com/
Link – http://romannurik.github.io/AndroidAssetStudio/
Link – http://gradleplease.appspot.com/
Link – http://plugins.gradle.org/search?term=android
Link – http://angrytools.com/
Link – https://www.buzzingandroid.com/tools/android-layout-finder/
Json -> POJO
Link – http://www.jsonschema2pojo.org/
Tip #4: Изучайте open source проекты и смотрим видосы
Google io app (iosched)
Стэк open source projects
• Github
• http://en.wikipedia.org/wiki/List_of_free_and_open-
source_Android_applications
• http://aopensource.com/
Youtube каналы
Другие варианты• Blogs of Google Experts
• Chet Hasse podcasts
Tip #5: Изучайте android UI паттерны
Youtube каналы
Link – http://goodui.org/
Link – http://www.android-app-patterns.com/
Link – http://android.inspired-ui.com/
И не забываем про developer.android.com
портал
Спасибо
• Вопросы?
Где меня можно найти?
Pavel Shchahelski
pshchahelski
Lollopop update