Последнее время для упрощения кода, да и вообще упрощения своей жизни я начал использовать разнообразные библиотеки которые упрощают работу с разного рода функциями которые часто использую, такие как создание запросов на сервер, загрузка картинок или парсинг json.
Сегодня я хочу рассказать вам о нескольких библиотеках которые я использую и которые смогут помочь вам в дальнейшей разработке.
Офф. сайт: loopj.com/android-async-http
Это простая библиотека у которой есть куча функций. Создание get, post и file запросов на сервер.
Подключение элементарнейшеее, скачать jar файл и скопировать его в папку libs/, а дальше просто делайте запрос на сервер как вам нужно. На сайте приводится куча примеров как лучше сделать что бы было понятно и просто.
Вот самый простой пример post запроса на сервер.
Запрос с параметрами:
Офф. сайт: github.com/nostra13/Android-Universal-Image-Loader
Простая и классная библиотека которая может скачивать картинки с сервера, обрабатывать ошибки.
Имеет собственный гридвью для вывода картинок и галерею. Так же может быть использована в кастомных адаптерах, то есть очень коммуникабельная. Простая в использовании.
Пример загрузки картинок с удаленного сервера:
itemIcon — это imageView в который отображаем картинку \ картинки. Это пример использования из амоего адаптера.
null — если нулл то обработает само ошибку.
Больше примеров можете посмотреть по ссылке которую я привел выше, их там уйма.
Офф. сайт: jsoup.org
Я уже писал статью по этой библиотеке но раз уж пошла такая пьянка то и сюда ее добавлю. Простая библиотека которая раскрывает вам большое количество возможностей по парсингу сайтов. На сайте имеется CookBook в которой можно просмотреть все возможности библиотеки в примерах, сюда же я могу включить только основную функцию парсинга по id.
Таким образом мы выведем весь текст который находится по ссылке en.wikipedia.org в div id=element.
Офф. сайт: code.google.com/p/google-gson
Огромная мощная библиотека позволяющая работать с огромными количествами получаемых json данных с серверов. Имеет очень большой функционал, в user guide он писывается весь.
Советую ее использовать когда у вас какой-то большой проект, этой библиотекой вы сможете автоматизовать свою работу, вам не придется все время писать один и тот же код чтения гсона. С этой библиотекой вы создаете класс который вмещает в себя сеттеры и геттеры того или иного параметра и далее работаете с этими сеттерами и геттерами.
Если же проект небольшой то я думаю не стоит усложнять его еще и такими сложными функциями, хотя на вкус и цвет фломастеры разные.
Офф. сайт: github.com/path/android-priority-jobqueue
Очень удобная библиотека в плане загрузки в фоне, например когда у вас сложности с интернетом но вам нужно выкачать какое-то количество данных, вот эта библиотека придет вам на помощь. Она ставит в очередь на скачку все что вы ей дадите.
Как с ней работать можно глянуть вот по этой ссылке, там всего лишь два куска кода, первый вы создаете класс в котором описываете добавление работы в стек, а вторым пунктом является вызов и добавление работы собственно в этот класс и все.
Так же пример приводить не буду так как на git hub и так понятно описано.
Офф. сайт: github.com/winsontan520/Android-WScratchView
Крутая библиотека для людей которые хотят сделать стирание стикеров у себя в приложении как это например в картах на пополнения счета раньше было (не знаю как сейчас, давно не покупал).
Встраивается в пару шагов. Сперва вам нужно добавить WScratchView на ваш xml
А далее работать с ним из своей Activity \ Fragment. Например вот работа из onCreate():
Как понятно из кода сперва мы находим этот WScratchView, дальше настраиваем его размер и цвет. Две булевых настройки — первая это задаем что бы стирабельная была, вторая что бы размывало задний фон.
Вот и все, смотрится круто.
Как раз недавно ее использовал в проекте, заказчик остался доволен (:
Используйте библиотеки когда есть возможность, код становится проще и читабельней чем когда пытаешься городить велосипед который работает через раз. Сталкивался с такими товарищами в проектах, плакал горькими слезами когда разбирался в том коде.
Не говнокодьте товарищи! У меня все, всего хорошего.
Сегодня я хочу рассказать вам о нескольких библиотеках которые я использую и которые смогут помочь вам в дальнейшей разработке.
1. Asynchronous Http Client
Офф. сайт: loopj.com/android-async-http
Это простая библиотека у которой есть куча функций. Создание get, post и file запросов на сервер.
Подключение элементарнейшеее, скачать jar файл и скопировать его в папку libs/, а дальше просто делайте запрос на сервер как вам нужно. На сайте приводится куча примеров как лучше сделать что бы было понятно и просто.
Вот самый простой пример post запроса на сервер.
AsyncHttpClient client = new AsyncHttpClient();
client.post("ссылка на сервер", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
// тут выводим response например в Log.d();
}
});
Запрос с параметрами:
RequestParams params = new RequestParams();
params.put("key", "value");
params.put("more", "data");
AsyncHttpClient client = new AsyncHttpClient();
client.post("ссылка на сервер", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
// тут выводим response например в Log.d();
}
});
2. Universal Image Loader for Android
Офф. сайт: github.com/nostra13/Android-Universal-Image-Loader
Простая и классная библиотека которая может скачивать картинки с сервера, обрабатывать ошибки.
Имеет собственный гридвью для вывода картинок и галерею. Так же может быть использована в кастомных адаптерах, то есть очень коммуникабельная. Простая в использовании.
Пример загрузки картинок с удаленного сервера:
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory(true).cacheOnDisc(true)
.displayer(new RoundedBitmapDisplayer(20)).build();
ImageLoader.getInstance().displayImage(
"ссылка на картинку",
itemIcon, options, null);
itemIcon — это imageView в который отображаем картинку \ картинки. Это пример использования из амоего адаптера.
null — если нулл то обработает само ошибку.
Больше примеров можете посмотреть по ссылке которую я привел выше, их там уйма.
3. JSoup
Офф. сайт: jsoup.org
Я уже писал статью по этой библиотеке но раз уж пошла такая пьянка то и сюда ее добавлю. Простая библиотека которая раскрывает вам большое количество возможностей по парсингу сайтов. На сайте имеется CookBook в которой можно просмотреть все возможности библиотеки в примерах, сюда же я могу включить только основную функцию парсинга по id.
Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#element");
for (Element link : newsHeadlines ) {
// сюда выводим в лог например текст
Log.d(TAG, link.text());
}
Таким образом мы выведем весь текст который находится по ссылке en.wikipedia.org в div id=element.
4. GSON
Офф. сайт: code.google.com/p/google-gson
Огромная мощная библиотека позволяющая работать с огромными количествами получаемых json данных с серверов. Имеет очень большой функционал, в user guide он писывается весь.
Советую ее использовать когда у вас какой-то большой проект, этой библиотекой вы сможете автоматизовать свою работу, вам не придется все время писать один и тот же код чтения гсона. С этой библиотекой вы создаете класс который вмещает в себя сеттеры и геттеры того или иного параметра и далее работаете с этими сеттерами и геттерами.
Если же проект небольшой то я думаю не стоит усложнять его еще и такими сложными функциями, хотя на вкус и цвет фломастеры разные.
5. Android Priority Job Queue
Офф. сайт: github.com/path/android-priority-jobqueue
Очень удобная библиотека в плане загрузки в фоне, например когда у вас сложности с интернетом но вам нужно выкачать какое-то количество данных, вот эта библиотека придет вам на помощь. Она ставит в очередь на скачку все что вы ей дадите.
Как с ней работать можно глянуть вот по этой ссылке, там всего лишь два куска кода, первый вы создаете класс в котором описываете добавление работы в стек, а вторым пунктом является вызов и добавление работы собственно в этот класс и все.
Так же пример приводить не буду так как на git hub и так понятно описано.
6. Android WScratchView
Офф. сайт: github.com/winsontan520/Android-WScratchView
Крутая библиотека для людей которые хотят сделать стирание стикеров у себя в приложении как это например в картах на пополнения счета раньше было (не знаю как сейчас, давно не покупал).
Встраивается в пару шагов. Сперва вам нужно добавить WScratchView на ваш xml
<com.winsontan520.WScratchView
android:id="@+id/scratch_view"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true" />
А далее работать с ним из своей Activity \ Fragment. Например вот работа из onCreate():
scratchView = (WScratchView) findViewById(R.id.scratch_view);
// настройка программно
scratchView.setScratchable(true);
scratchView.setRevealSize(50);
scratchView.setAntiAlias(true);
scratchView.setOverlayColor(Color.RED);
Как понятно из кода сперва мы находим этот WScratchView, дальше настраиваем его размер и цвет. Две булевых настройки — первая это задаем что бы стирабельная была, вторая что бы размывало задний фон.
Вот и все, смотрится круто.
Как раз недавно ее использовал в проекте, заказчик остался доволен (:
Вывод:
Используйте библиотеки когда есть возможность, код становится проще и читабельней чем когда пытаешься городить велосипед который работает через раз. Сталкивался с такими товарищами в проектах, плакал горькими слезами когда разбирался в том коде.
Не говнокодьте товарищи! У меня все, всего хорошего.
Комментариев нет:
Отправить комментарий