четверг, 13 октября 2011 г.

Программно узнать разрешение экрана

1) DisplayMetrics metrics = new DisplayMetrics();
   getWindowManager().getDefaultDisplay().getMetrics(metrics);
   Log.d("Resolution""resolution: " + metrics.widthPixels+
" x "  +      metrics.heightPixels);

2)  Display display = getWindowManager().getDefaultDisplay();
    Log.d("Resolution""resolution: "+ display.getWidth()+" x "+ display.getHeight());   

пятница, 7 октября 2011 г.

Инженерное меню на android

Позволяет узнать: IMEI, номер телефона, сведения о батарее, статистика использования, информация WI-FI
Как вызвать: *#*#4636#*#*

среда, 5 октября 2011 г.

Заметки

Информация: String[] to ArrayList, ArrayList to String[], создание нового адаптора,  управление прозрачностью картинки

понедельник, 26 сентября 2011 г.

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

Постановка задачи: Отправлять координаты на сервер, а также сопутствующую информацию (скорость, направление, время получения координат, точность) в фоновом потоке.


среда, 14 сентября 2011 г.

Автоматическая сборка проекта Ant-ом и выкладывание его на ftp.

Постановка задачи: Есть начальные настройки программы для конкретного клиента: IP1, IP2, port и т.д. У меня есть список клиентов, и настройки, которые соответствуют каждому клиенту. Для того чтобы не вводить их после скачивания и установки apk файла, нужно вшить эти настройки в каждую сборку. То есть для каждого клиента должна быть своя, настроенная на него, сборка приложения.
Версия Android-а: 1.6

среда, 31 августа 2011 г.

Создаем свой скролбар, поведение которого не будет изменятся в зависимости от телефона.

Постановка задачи: Нужно чтобы ScrollView всегда показывал, в какой части списка мы сейчас находимся.
Проблема: Линия прокрутки (ScrollView) пропадает, на некоторых телефонах, и появляется только когда идет процес прокручивания списка.
Версия Android-а: 1.6

воскресенье, 21 августа 2011 г.

Обфускация кода

Постановка задачи: обфуцировать  Android-проект(обфускация - процес переименования классов и методов в макимально короткие названия, что позволяет 1) уменьшить размер apk-файла 2) усложнит задачу анализа исходного кода, тем кто захочет декодировать apk).
Проблема: нужно чтобы обфускатор не обфусцировать ресурсы и часть системных классов.
В общем обфускация должна не поломать работоспособность кода.
Версия Android-а: 1.6

четверг, 18 августа 2011 г.

Отправка почты без использования сторонних библиотек

Постановка задачи: Сделать отправку отчета об ошибках себе на почту.
Проблема: В Android-е версии 1.6 есть стандартный Intent для этих целей, но используя его, пользователь будет видить почту и пароль отправителя, а также почту получателя, что не желательно в моем случае. Есть подключаемое API, но оно 1) занимает много место 2) при обфускации с библиотеками этого API возникли проблемы. Что меня и подтолкнуло написать свою реализацию отправки почты.
Версия Android-а: 1.6

пятница, 5 августа 2011 г.

Выделение слов в тексте.

Постановка задачи:  Нужно выделять некоторые слова в тексте. Пример выделенного слова: Слово .
Проблема: Не полная поддержка html тегов в Android-е.
Версия Android-а: 1.6

четверг, 28 июля 2011 г.

Прикручиваем функцию setMaxHeight к классу ScrollTextView.

Постановка задачи:  Есть текст со скролингом, его размер динамически меняется. Нужно чтобы высота контрола, определялась содержимым, пока текста меньше чем 4 строки, а если его больше, то высота не увеличивалась, а появлялся скролинг.
Проблема:  Метод getLineCount класса TextView возвращает 0.
Версия Android-а: 1.6

четверг, 21 июля 2011 г.

Прикручиваем скролинг к TextView.

Постановка задачи: Сделать возможность прокручивать текст, если величина текста больше выделенного места для View, в который он помещен.
Версия Android-а: 1.6

вторник, 12 июля 2011 г.

Как выйти программно из любого места приложения?

Постановка задачи: Зделать стандартный способ выхода из любого места приложения под андроид (аналог джавовского System.exit(0)). 
Версия Android-а: 1.6