Pull to refresh
7
0
Alexandr Tsvetkov @lordtao

Senior Android Developer

Send message

Библиотека Android Data Processor для легкого построения REST запросов и их обработки

Reading time3 min
Views12K
В повседневной работе постоянно сталкиваюсь с разработкой приложений использующих REST сервисы. Существующие библиотеки помогающие в построении запросов и их обработку не слишком меня устраивали по ряду причин. Возникла мысль о создании простого инструмента наподобие Universal Image Loader позволяющего быстро строить запросы и парсить полученные данные. В результате появился Android Data Processor

Процессор данных предназначен для выполнения REST запросов к сервисам или локально к файлам.
Запросы могут выполнятьс синхронно или асинхронно. Процессор не содержит парсеров. Для обработки результатов вы используете свои любимые парсеры данных и передаете им полученные данные в виде InputStream, String.
Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments18

Изменение вида выдачи данных в LogCat

Reading time7 min
Views4K
Стандартный логгер не совсем удобен, по крайней мере для меня. Ниже приведен пример логера переделанного под себя. Пользуюсь им уже более полутора лет. Позволяет быстрее визуально локализировать найденные проблемы, облегчает логирование. Легко перерабатывается для своих нужд. При работе не требует постоянного прописывания тега или создания тега в виде отдельной константы так как форматированный тег выдается автоматически в виде

> Класс: функция: номер строки

Используем так — Log.w("SUCCESS download")

> DownloadCharts:downloadSongs:322: SUCCESS download

Иногда необходимо узнать быстро не только место конкретной ошибки, но и класс родительский. Тогда на помощь приходит вызов логгера с указанием родителя, например Log.w(this, "Предупреждение") тогда мы получаем строку в виде

> (Родитель) Класс: функция: номер строки

> (ChartsLibrary) DownloadCharts:downloadSongs:322: Предупреждение

Впрочем легче один раз попробовать его и посмотреть на результаты.

Под катом приведен код.

Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments3

Самиздат — библиотека в кармане. Версия 2.0.1 Beta

Reading time1 min
Views664
Добрый день всем!

Большое спасибо всем кто нашел время и написал замечания на программу. Самое главное, что интерес к приложению есть, а недостатки буду устранять по мере наличия свободного времени.

Итак, что нового в версии 2.0.1 Beta:

1. Самое главное — добавлен поиск по автору.
В работе поиск по многочисленным параметрам, надеюсь выпустить до Нового Года.

2. Переделан механизм отображения произведений, оптимизирована работа с памятью.
К сожалению на слабых моделях телефонов с маленькой памятью остались проблемы с отображением очень больших текстов размером более 6Мб. Иногда не хватает памяти для загрузки и приложение может выдать ошибку. Повторное чтение произведения как ни странно проходит.

Если кто знаком с проблемой отображения больших текстов под Андроид — буду рад совету. Кеширование с дозагрузкой и тормозами прикручивать не хочется, нужно плавное прокручивание всего текста. Ранее пробовал TextView, сейчас ListView — использует меньше памяти.

"Самиздат" — чтение произведений с портала http://samlib.ru/.

Beta версия доступна по ссылке или воспользуйтесь приведенным ниже QR кодом:

image image

image
Total votes 7: ↑5 and ↓2+3
Comments6

Самиздат — библиотека в кармане. Версия 2.0.0 Beta

Reading time1 min
Views6.5K
Добрый день всем!

Наконец то нашлось немного времени и полностью переписана бесплатная программа «Самиздат» для чтения произведений с моего любимого портала http://samlib.ru/. Программа работает с телефонами Андроид. Beta версия доступна по ссылке или воспользуйтесь QR кодом:

image image

image
Total votes 22: ↑15 and ↓7+8
Comments36

Android: Вращаем на все четыре стороны AndEngine

Reading time3 min
Views7.6K
Однажды мне пришлось решать задачу — запускать четыре разные игры написанные на andengine в зависимости от ориентации экрана. Обычные положения — landscape и portrait вопросов не вызывали. Вопросы возникли для остальных положений — противоположных для указанных. Четыре варианта переворота устройства. Пришлось обратиться к работе с сенсорами. Указанный ниже подход применим не только к AndEngine, но и к обычным Activity.
Читать дальше...
Total votes 17: ↑15 and ↓2+13
Comments15

Удаление иконки приложения из лаунчера

Reading time1 min
Views5.8K
Перевод заметки когда то найденной на страницах Интеренета.

Создать приложение которое не появляется в списке запускаемых приложений вместе с иконкой легко. Достаточно поместить в файл манифеста следующие строки:

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


Задача удаления иконки приложения после инсталляции дело немного более хитрое.
Читать далее...
Total votes 12: ↑6 and ↓60
Comments7

Автоматическое генерирование APK с различными данными из командной строки с помощью Ant

Reading time3 min
Views5.9K
Недавно столкнулся с проблемой — нужно было на удаленном сервере генерировать apk файл для загрузки, причем в зависимости от передаваемого адреса сервера программа должна была по умолчанию при установке соединяться с различными серверами.

Итак задача — дать пользователю возможность загрузить из интернета динамически генерируемое Андроид приложение которые буду вести себя по разному в зависимости от переданных параметров (в данном случае разные сервера загрузки данных).

Подробности
Total votes 35: ↑31 and ↓4+27
Comments2

Стандарт разработки приложений под Android

Reading time3 min
Views17K
Разработчик Андроида сталкивается с большим количеством файлов и ресурсов предназначенных для разных частей программы. Даже он сам через месяц не может вспомнить, какой файл или ресурс к чему относится.
Предлагаемый ниже материал основан на моем опыте разработок многих проектов для Андроида и опробован уже в нескольких проектах. В результате простых правил нагромождение файлов и ресурсов превращается в удобочитаемый проект, экономит время и нервы. Особенно оказалось удобным при работе в команде, когда к проекту могут присоединяться новые программисты. В Eclipse вы легко находите любые ресурсы, поскольку они становятся уникальными, легко находимыми и сортируются в понятном порядке в любых списках. Общие удобные правила позволяют легко читать чужой код и находить нужные ресурсы.

Большинство из указанного является моими личным мнением.

Читать дальше →
Total votes 49: ↑39 and ↓10+29
Comments35

Работа с прогресс диалогами

Reading time5 min
Views3.9K
У начинающих работать с андроидом возникают вопросы по поводу создания прогресс диалогов. Моя заметка возможно поможет им.

Создать и запустить диалог можно несколькими способами, но всех их объединяет одно: все изменения видимой части пользовательского интерфейса после создания Activity должны происходить в специальном потоке. Многие об этом забывают и потом удивляются, почему не происходит видимых изменений. Простейший вариант это вызов следующей конструкции:

вашаАктивити.runOnUiThread(new Runnable() {
    @Override
    public void run() {
        // Изменение видимой части
    }
});


или для View:

вашеВию.post(new Runnable() {
    @Override
    public void run() {
        // Изменение видимой части
    }
});


Ваши команды на изменение ставятся в очередь и в определенный момент вызываются Activity. Преимущество есть, хотя на первый взгляд не очевидно. Программа перестает тормозить при каждом изменении интерфейса, все перерисовки проходят как бы фоново, программа не подвисает при исполнении каких то вычислительных задач связанных одновременно с рассчетами/загрузкой и с отображение хода процесса. С другой стороны это немного усложняет код.

Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments3

Information

Rating
Does not participate
Location
Запорожье, Запорожская обл., Украина
Date of birth
Registered
Activity