Android. Различия в разметках FrameLayout, RelativeLayout, LinearLayout и TableLayoutРассмотрим принципиальные отличительные черты четырех типов разметки в Android: FrameLayout, RelativeLayout, LinearLayout и TableLayout. FrameLayout - самый простой способ разметки, LinearLayout и TableLayout предназначены для линейного расположения элементов. RelativeLayout является самым сложным и, в то же время, самым гибким способом размещения дочерних элементов. http://www.seostella.com/ru/article/2012/02/07/android-razlichiya-v-razmetkah-framelayout-relativelayout-linearlayout-i-tablelayout.html |
Toast - Android AlertBox. Диалог как всплывающее уведомлениеToast - popup-сообщение, которое появляется поверх активного окна и.заполняет необходимое для своего отображения пространство, при этом текущая activity остается для пользователя видимой и интерактивной. Уведомление автоматически исчезает и никаким образом не взаимодействует с пользователем. http://www.seostella.com/ru/article/2012/02/13/toast-android-alertbox-dialog-kak-vsplyvayuschee-uvedomlenie.html |
Android. Ошибка "Only the original thread that created a view hierarchy can touch its views."Android-архитектура построена таким образом, что визуальные компоненты могут изменять свое состояние только из своего потока. При попытке обратиться к ним из других потоков, возникает исключение "Only the original thread that created a view hierarchy can touch its views." Рассмотрим способы решения этой проблемы. http://www.seostella.com/ru/article/2012/02/14/android-oshibka-only-the-original-thread-that-created-a-view-hierarchy-can-touch-its-views.html |
Android. BroadcastReceiver и LocalBroadcastManagerBroadcastReceiver - базовый класс для кода, который будет получать intent, отосланные с помощью метода sendBroadcast(). Рассмотрим использование этого класса с классом LocalBroadcastManager. http://www.seostella.com/ru/article/2012/02/15/android-broadcastreceiver-i-localbroadcastmanager.html |
Android. Ошибка "Attempted to add window with non-application token"Ошибка "Attempted to add window with non-application token" в основном случается при попытке создать диалог, используя конструктор AlertDialog.Builder и передавая ему параметром контекст. Чтобы избавится от ошибки, необходимо вместо экземпляра Context, передавать экземпляр класса Activity. http://www.seostella.com/ru/article/2012/02/20/android-oshibka-attempted-to-add-window-with-non-application-token.html |
Android. Ошибка "You must specifiy a valid layout reference. The layout ID @layout/layout_id is not valid."В eclipse в Android-проекте при предпросмотре разметки иногда появляется ошибка "You must specifiy a valid layout reference. The layout ID @layout/layout_id is not valid." Решается эта проблема путем выполнения команды меню Project -> Clean для проекта и последующим перезапуском eclipse. http://www.seostella.com/ru/article/2012/02/20/android-oshibka-you-must-specifiy-a-valid-layout-reference-the-layout-id-layout-layout-id-is-not-valid.html |
Android. Как определить, отображается клавиатура на экране или нетВ Android API нет встроеных средств определения, отображается клавиатура на экране или нет. Поэтому, для того чтобы определить в реальном времени наличие клавиатуры на экране, необходимо использовать самописные варианты решения этой задачи. Рассмотрим вариант с использованием метода onMeasure() класса View. http://www.seostella.com/ru/article/2012/02/23/android-kak-opredelit-otobrazhaetsya-klaviatura-na-ekrane-ili-net.html |
Android. Элементы GridView в обратном порядкеЕсли в адаптере для GridView Вы пытаетесь повторно использовать созданные дочерние элементы View, то после каждой перерисовки все эти дочерние элементы будут менять свой порядок. Чтобы избавится от проблемы необходимо не использовать переменную View, переданную в метод getView(). http://www.seostella.com/ru/article/2012/02/23/android-elementy-gridview-v-obratnom-poryadke.html |
Android. Принудительная перерисовка элементов ListView/GridViewДля того чтобы принудительно перерисовать дочерние элементы ListView/GridView воспользуйтесь методом view.invalidateViews(). Или если Вы используете адаптер, то - viewAdapater.notifyDataSetChanged(). http://www.seostella.com/ru/article/2012/02/23/android-prinuditelnaya-pererisovka-elementov-listview-gridview.html |
Android. Пользовательский нестандартный шрифтНа платформе Android есть возможность использовать нестандартные шрифты. В этой статье рассматривается пример использования внешних шрифтов. http://www.seostella.com/ru/article/2012/02/27/android-polzovatelskiy-nestandartnyy-shrift.html |
Android. Использование собственных View в xml-разметке layoutВ статье рассматривается использование собственноручно созданных View в xml-разметке на платформе Android. Также будет приведен небольшой демонстрационный пример. http://www.seostella.com/ru/article/2012/02/27/android-ispolzovanie-sobstvennyh-view-v-xml-razmetke-layout.html |
Android. Поворот View на указанный градусНа платформе Android есть возможность повернуть View на указанный градус. В этой статье рассматривается пример, в котором реализован указанный поворот. http://www.seostella.com/ru/article/2012/02/27/android-povorot-view-na-ukazannyy-gradus.html |
Android. Как получить Layout Inflater, используя ContextВо всевозможных адаптерах часто возникает необходимость в получении объекта LayoutInflater, когда доступен только контекст. Сделать это можно двумя способами: LayoutInflater li = LayoutInflater.from(context) или LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) http://www.seostella.com/ru/article/2012/02/27/android-kak-poluchit-layout-inflater-ispolzuya-context.html |
Android. Пользовательские элементы GridViewВ этой статье рассматривается возможность создания пользовательских элементов для компонента GridView. Эта проблема порождена тем, что адаптер для GridView воспринимает как элементы только объекты класса View. В качестве примера будет использоваться элемент, состоящий из изображения и текста. http://www.seostella.com/ru/article/2012/02/28/android-polzovatelskie-elementy-gridview.html |
Пользовательский диалог в AndroidРассмотрим создание пользовательского диалога на платформе Android. Будут показаны два очень похожих способа создания диалога. http://www.seostella.com/ru/article/2012/02/29/polzovatelskiy-dialog-v-android.html |
Удаление OnClickListener в AndroidЧтобы удалить OnClickListener для какого-либо объекта в Android, необходимо вызвать метод setOnClickListener(), передав ему в качестве параметра null. Например, view.setOnClickListener( null ). http://www.seostella.com/ru/article/2012/02/29/udalenie-onclicklistener-v-android.html |
Как отловить необработанные исключения (Force close) в AndroidПри разработке приложений на платформе Android иногда случаются исключения, приводящие к аварийному закрытию приложения. На платформе есть способ обработать эти ошибки самостоятельно. Это можно сделать используя класс Thread.UncaughtExceptionHandler. http://www.seostella.com/ru/article/2012/03/01/kak-otlovit-neobrabotannye-isklyucheniya-force-close-v-android.html |
Горизонтальная линия в AndroidПредставлено два способа отрисовки горизонтальной линии на экране смартфона под управлением Android: в xml-разметке и в коде программы. http://www.seostella.com/ru/article/2012/03/22/gorizontalnaya-liniya-v-android.html |
Подчеркнутый текст в AndroidЧтобы добавить подчеркнутый текст, оберните соответствующее значение в файле strings.xml тэгами <u>Ваше значение</u>. Также Вы можете сделать Ваш текст курсивом или жирным используя тэги <i> и <b> соответственно. http://www.seostella.com/ru/article/2012/03/22/podcherknutyy-tekst-v-android.html |
Пользовательский переключатель (Toggle) в AndroidРассмотрим создания пользовательских компонентов в Android на примере переключателя (Toggle). В приведенном примере будет представлено два типа переключателя: с двумя и с тремя состояниями. http://www.seostella.com/ru/article/2012/04/09/polzovatelskiy-pereklyuchatel-toggle-v-android.html |
Android. Ошибка "No content provider: /mnt/sdcard/"В случае работы с файловой системой ошибка "No content provider: /mnt/sdcard/DCIM/... ", которая вызвана кодом вида getContentResolver().openInputStream(uri), решается путем использования FileInputStream: new FileInputStream( uri.getPath() ) http://www.seostella.com/ru/article/2012/04/10/android-oshibka-no-content-provider-mnt-sdcard.html |
Android. Ошибка на смартфонах HTC и Gigabyte: n-byte external allocation too large for this processНа смартфонах некоторых производителей (HTC и Gibabyte, как миниммум) при вызове метода BitmapFactory.decodeFile() генерируется исключение java.lang.OutOfMemoryError вида: 20155392-byte external allocation too large for this process. Эта ошибка, к примеру, может быть вызвана при попытке получить изображение высокого разрешения из файловой системы или с помощью камеры смартфона. В статье описывается способ решения данной проблемы. http://www.seostella.com/ru/article/2012/04/10/android-oshibka-na-smartfonah-htc-i-gigabyte-n-byte-external-allocation-too-large-for-this-process.html |
Проверка наличия включенного интернета (Wi-Fi, Bluetooth, GPRS) в AndroidРассматривается способ получения информации о активном соединении для передачи данных. Учтите, что активное сетевое соединение не гарантирует корректности передачи данных. http://www.seostella.com/ru/article/2012/04/11/proverka-nalichiya-vklyuchennogo-interneta-wi-fi-bluetooth-gprs-v-android.html |
Необработанные исключения (UncaughtExceptionHandler) в Android. Часть 2Во второй части статьи об необработанных исключениях немного расширим логику приложения: будем пробрасывать необработанное исключения далее чтобы стандартный обработчик обработал его, stacktrace исключения отсылается на указанный адрес и если приложение не может отослать данные, то автоматически выключается через 10 секунд. http://www.seostella.com/ru/article/2012/05/11/neobrabotannye-isklyucheniya-uncaughtexceptionhandler-v-android-chast-2.html |
Как получить Bitmap из ресурсов в AndroidОчень часто в Android есть необходимость получить Bitmap из изображения, которое находится в ресурсах. Сделать это очень просто. Об этом далее... http://www.seostella.com/ru/article/2012/05/12/kak-poluchit-bitmap-iz-resursov-v-android.html |
Как определить, что Activity отобразилось на экране в AndroidПроблема, с которой часто сталкиваются разработчики на Android - отобразить какой-то диалог или выполнить другие действия сразу после отображения Activity на экране смартфона. Разберемся с этой проблемой. http://www.seostella.com/ru/article/2012/05/13/kak-opredelit-chto-activity-otobrazilos-na-ekrane-v-android.html |
Как открыть страницу в браузере в AndroidЧасто бывает необходимо открыть URL в стандартном браузере из приложения в Android. В этой статье будет рассмотрен простой способ достичь нужного результата. http://www.seostella.com/ru/article/2012/05/15/kak-otkryt-stranicu-v-brauzere-v-android.html |
Как отправить email через стандартный почтовый агент в AndroidВ Android есть простой способ отправить email из приложения, используя стандартный email-клиент. В этой статье будет рассмотрен данный способ. http://www.seostella.com/ru/article/2012/05/16/kak-otpravit-email-cherez-standartnyy-pochtovyy-agent-v-android.html |
Как программно установить свойство layout_weight в AndroidЕсли Вы создаете программно интерфейс в приложении для платформы Android, то часто бывают необходимы свойства, которые являются частью xml-разметки. Одним из таких свойств является свойство layout_weight. О том, как его задать программно и будет рассказано в этой ствтье. http://www.seostella.com/ru/article/2012/05/17/kak-programmno-ustanovit-svoystvo-layout-weight-v-android.html |
Установка toLeftOf, toRightOf, below и above свойств программно в AndroidРазберемся со способом как установить еще несколько полезных свойств xml-разметки в Android. Следующие свойства будут рассмотрены в этой статье: layout_above, layout_toLeftOf, layout_toRightOf и layout_below. http://www.seostella.com/ru/article/2012/05/18/ustanovka-toleftof-torightof-below-i-above-svoystv-programmno-v-android.html |
Как открыть Google Play маркет из приложенияВ Android SDK есть возможность из приложения открыть Google Play маркет на странице этого приложения. Это необходимо, например, для указания пользователю, что необходимо обновить программу или если пользователь решил за нее проголосовать. В этой статье будет рассказано как это сделать. http://www.seostella.com/ru/article/2012/05/25/kak-otkryt-google-play-market-iz-prilozheniya.html |
Нет DEVELOPER_PAYLOAD при использовании In App Billing в AndroidПроблема следующая: при тестировании оплаты с использованием in-app billing в Android не приходит свойство DEVELOPER_PAYLOAD от Google-маркета, хоть оно и установлено в REQUEST_PURCHASE запросе. http://www.seostella.com/ru/article/2012/05/28/net-developer-payload-pri-ispolzovanii-in-app-billing-v-android.html |
Как получить версию приложения с AndroidManifest.xml в AndroidВ Android версию приложения необходимо устанавливать параметром android:versionName тэга manifest файла AndroidManifest.xml. В этой статье рассмотрим способ как программно извлечь эту информацию. http://www.seostella.com/ru/article/2012/05/29/kak-poluchit-versiyu-prilozheniya-s-androidmanifest-xml-v-android.html |
Как получить номер телефона в AndroidВ Android есть возможность получить информацию о телефонном номере устройства, названии мобильного оператора и много другой полезной информации. Об этом и будет рассказано в этой статье. http://www.seostella.com/ru/article/2012/05/30/kak-poluchit-nomer-telefona-v-android.html |
Как определить, что приложение запущено на эмуляторе в AndroidОчень частая проблема разработчиков программ для платформы Android - это определить, запущена программа с использованием эмулятора или на реальном телефоне. В этой статье речь пойдет об определении устройства. http://www.seostella.com/ru/article/2012/05/31/kak-opredelit-chto-prilozhenie-zapuscheno-na-emulyatore-v-android.html |
Как получить информацию о модели телефона в AndroidВ Android есть полезный класс android.os.Build, который предоставляет полную информацию о модели телефона, на котором запущено приложение. http://www.seostella.com/ru/article/2012/06/01/kak-poluchit-informaciyu-o-modeli-telefona-v-android.html |
Как получить информацию о прошивке телефона в AndroidКак и в случае с информацией о телефоне, информация о прошивке хранится в виде констант в классе android.os.Build.VERSION. Подробности этих констант описаны в этой статье. http://www.seostella.com/ru/article/2012/06/02/kak-poluchit-informaciyu-o-proshivke-telefona-v-android.html |
Как получить информацию о RAM-памяти (ОЗУ) в AndroidВ этой статье расскажем о том, как получить информацию о RAM-памяти в сматрфонах под управлением Android. http://www.seostella.com/ru/article/2012/06/03/kak-poluchit-informaciyu-o-ram-pamyati-ozu-v-android.html |
Информация о постоянном хранилище в AndroidПолучить информацию об общем объеме и доступном объеме внутреннего хранилища устройства под управлением Android намного легче, чем аналогичную информацию об ОЗУ. В этой статье рассмотрим данную тему. http://www.seostella.com/ru/article/2012/06/04/informaciya-o-postoyannom-hranilische-v-android.html |
Информация о SD карте в AndroidПолучение информации об общем объеме и доступном объеме SD карты в Android аналогично процедуре получение информации о постоянном хранилище. В этой статье рассмотрим данную тему. http://www.seostella.com/ru/article/2012/06/05/informaciya-o-sd-karte-v-android.html |
Как получить информацию о батарее в AndroidУровень заряда батареи в Android получить достаточно легко. Необходимо всего лишь зарегестрировать BroadcastReceiver в Вашем Activity. В этой статье рассматривается данный вопрос. http://www.seostella.com/ru/article/2012/06/06/kak-poluchit-informaciyu-o-bataree-v-android.html |
Как получить информацию о процессоре (CPU) в AndroidВ этой статье расскажем о том, как получить информацию о процессоре (CPU) в сматрфонах под управлением Android. http://www.seostella.com/ru/article/2012/06/07/kak-poluchit-informaciyu-o-processore-cpu-v-android.html |
Как получить uptime (время работы устройства от последнего запуска) в AndroidВ Android есть также способ получить количество миллисекунд, прошедших с момента запуска смартфона. В этой статье рассмотрим этот вопрос. http://www.seostella.com/ru/article/2012/06/08/kak-poluchit-uptime-vremya-raboty-ustroystva-ot-poslednego-zapuska-v-android.html |
Как получить Mac адрес в AndroidВ Android есть возможность получить MAC адрес Wi-Fi адаптера. В этой статье раскажем, как это сделать. http://www.seostella.com/ru/article/2012/06/09/kak-poluchit-mac-adres-v-android.html |
Как отловить шейк-событие (Shake, встряхивание) в AndroidВ Android часто используемым событием является встряхивание устройства, благодаря которому происходят какие-то функции приложения, например звуковой сигнал или перерисовка экрана. В этой статье рассмотрим данное событие. http://www.seostella.com/ru/article/2012/06/01/kak-otlovit-sheyk-sobytie-shake-vstryahivanie-v-android.html |
Прозрачный фон у ImageButton на AndroidВ этой статье будет рассказано, как сделать прозрачный фон для компонента ImageButton, который по умолчанию не является прозрачным. Этот способ также применим и для других компонентов, у которых по умолчанию непрозрачный фон. http://www.seostella.com/ru/article/2012/06/20/prozrachnyy-fon-u-imagebutton-na-android.html |
"Unable to instantiate activity" в AndroidВ этой статье будет рассказано о способах решения проблемы "Unable to instantiate activity ComponentInfo: java.lang.ClassNotFoundException: in loader dalvik.system" при программировании на платформе Android. http://www.seostella.com/ru/article/2012/06/27/unable-to-instantiate-activity-v-android.html |
Android эмулятор и ввод с клавиатурыВ этой статье будет рассказано, как заставить Android эмулятор принимать ввод с клавиатуры. http://www.seostella.com/ru/article/2012/09/11/android-emulyator-i-vvod-s-klaviatury.html |
Переключение между портретным и ландшафтным режимом в эмуляторе AndroidЧасто бывает необходимо переключиться между портретным и ландшафтным режимом в эмуляторе Android. Например, для того чтобы проверить как ведет себя приложение в разных режимах отображения. http://www.seostella.com/ru/article/2012/09/11/pereklyuchenie-mezhdu-portretnym-i-landshaftnym-rezhimom-v-emulyatore-android.html |
Android. Как установить максимальную длину текста в EditTextВ статье будет рассмотрено два способа установки лимита на количество символов в EditText: с помощью разметки и с помощью программного кода. http://www.seostella.com/ru/article/2012/09/12/android-kak-ustanovit-maksimalnuyu-dlinu-teksta-v-edittext.html |
Как установить низкую скорость интернета в Android эмулятореВ Android симуляторе есть возможность эмуляции низкой скорости интернета. О том, как это сделать будет рассказано в данной статье. http://www.seostella.com/ru/article/2012/10/05/kak-ustanovit-nizkuyu-skorost-interneta-v-android-emulyatore.html |
Как разрешить ввод только заданных символов в EditText на платформе AndroidЕсли необходимо запретить ввод в EditText всех символов, кроме указанных, то эта статья для Вас. Примером данного запрещения является поле ввода имени пользователя, которое, например, может содержать только буквы и цифры. http://www.seostella.com/ru/article/2012/10/06/kak-razreshit-vvod-tolko-zadannyh-simvolov-v-edittext-na-platforme-android.html |
Как отобразить диалог загрузки (loading) в AndroidВ Android есть очень простой метод отображения диалога загрузки. В этой статье рассказывается как это сделать. http://www.seostella.com/ru/article/2012/10/09/kak-otobrazit-dialog-zagruzki-loading-v-android.html |
Как конвертировать метод getAction() класса MotionEvent в getActionMasked() и getActionIndex() в AndroidМетоды getActionMasked() и getActionIndex() класса MotionEvent появились лишь в Android версии 2.2 Froyo, но для того чтобы приложение работало на предыдущих платформах часто бывает необходимо заменить только этих два метода. В этой статье рассказано как заменить их с помощью метода getAction(). http://www.seostella.com/ru/article/2012/10/06/kak-konvertirovat-metod-getaction-klassa-motionevent-v-getactionmasked-i-getactionindex-v-android.html |
Получение события нажатия Enter в компоненте EditText на платформе AndroidОтлавливания нажатия клавиши Enter в поле для ввода EditText - достаточно частая задача на платформе Android. Расскажем как это сделать наиболее оптимальным способом. http://www.seostella.com/ru/article/2012/10/10/poluchenie-sobytiya-nazhatiya-enter-v-komponente-edittext-na-platforme-android.html |
Как получить уникальный идентификатор устройства (Device Id) в AndroidУникальный идентификатор устройства - очень полезное свойство, особенно при работе с клиентами при помощи локальной сети или Интернета. В этой статье рассказано, как получить Device Id на платформе Android. http://www.seostella.com/ru/article/2012/10/14/kak-poluchit-unikalnyy-identifikator-ustroystva-device-id-v-android.html |
Один элемент в ListView или что делать если notifyDataSetChanged() не обновляет содержимое спискаРазработчики приложений для платформы Android иногда сталкиваются с проблемой, когда список не обновляется после изменения переменной, связанной с адаптером и вызовом метода notifyDataSetChanged(). В этой статье рассказано как избавиться от этой проблемы. http://www.seostella.com/ru/article/2012/10/19/odin-element-v-listview-ili-chto-delat-esli-notifydatasetchanged-ne-obnovlyaet-soderzhimoe-spiska.html |
java.lang.VerifyError в AndroidВ данной статье представлен один из вариантов решения исключения java.lang.VerifyError в Android. http://www.seostella.com/ru/article/2012/10/20/java-lang-verifyerror-v-android.html |