Как стать продуктивным Android разработчиком

  • View
    680

  • Download
    0

  • Category

    Mobile

Preview:

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

Recommended