Страницы

четверг, 16 апреля 2015 г.

Как вручную изменить версию БД SQLite

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

Для этого достаточно выполнить SQL запрос
PRAGMA user_version = number;
Аналогично можно узнать и текущую версию БД.
PRAGMA user_version;

пятница, 20 марта 2015 г.

Genymotion и Charles proxy

Включается проксирование так же, как и в обычном телефоне, но и там это не очень очевидно делается:


  • Настройки -> Wi-Fi -> долгое нажатие на активной сети
  • "Изменить сеть"
  • "Дополнительно"
  • "Прокси-сервер" -> "Вручную"
  • Прокси: 10.0.3.2 (адрес локальной машины в Genymotion)
  • Порт: 8888
  • "Сохранить"

пятница, 19 декабря 2014 г.

AndroidStudio - Gradle DSL method not found 'runProguard()'

С обновлением Android Studio до версии 1.0 произошли изменения и в gradle. В результате появляется такая вот ошибка:
Gradle DSL method not found: 'runProguard()'




Для исправления нужно всего лишь изменить "runProguard" на "minifyEnabled".
Все изменившиеся свойства:

runProguard => minifyEnabled 
zipAlign => zipAlignEnabled 
jniDebugBuild => jniDebuggable 
renderscriptDebug => renderscriptDebuggable

Описано это всё здесь: tools.android.com

среда, 8 октября 2014 г.

Почему не отображается PhotoShareDialog

Для того, чтобы расшарить изображение в FB из своего приложения через SDK недостаточно использования
new FacebookDialog.PhotoShareDialogBuilder(...).addPhotos(...).build().present();
В этом случае диалог просто не появляется, а в логах добавляется ошибка
Warning: Error: com.facebook.FacebookException: Failed to copy image.
Нужно ещё объявить в манифесте провайдер:



Нужно только заменить цифровую часть на id своего приложения.

Подробнее прочитать можно в документации.

четверг, 1 декабря 2011 г.

Проверка доступности сайта/хоста

boolean isHostReachable(String address) {
    try {
        URL url = new URL(address);

        HttpURLConnection urlc = 
            (HttpURLConnection) url.openConnection();
        urlc.setRequestProperty("User-Agent", "userAgent");
        urlc.setRequestProperty("Connection", "close");
        urlc.setConnectTimeout(1000 * 10);
        urlc.connect();
        if (urlc.getResponseCode() == 200) {
            urlc.disconnect();
            return true;
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return false;
}

В коде ничего сложного нет: создаём подключение к интересующему хосту, задаём user agent, таймайт в миллисекундах, подключаемся и проверяем код ответа, после чего тут же отключаемся.

вторник, 27 сентября 2011 г.

Выделение текста в WebView или как выстрелить себе в ногу.


Понадобилось выделять текст в WebView. Потратил почти два дня поочередных запросов к гуглу, поисков на StackOverflow и изучения исходников стандартного браузера. Решение в итоге нашёл, даже два, но осадок остался. Задача довольно часто нужна и можно было бы описать её решение в документации.

вторник, 13 сентября 2011 г.

Справочно-правовая система Право.ru

Сегодня наконец-то вышла версия мобильного приложения СПС «Право.ru». Теперь все кодексы, федеральные законы, указы и иные нормативные акты всегда под рукой в красивом приложении с user-friendly интерфейсом…

Основа приложения была написана мной еще полгода назад, но позже я перешёл в другую компанию, и дорабатывалось приложение другими разработчиками.