Сложно представить серьезное приложение, которое не нуждается в хранении данных. В Android существует несколько способов для этого: SharedPreferences, использование файлов, использование веб-сервисов и Sqlite базы данных. Сегодня мы рассмотрим последний вариант в достаточном объеме. Суть проблемы При создании приложения с базой данных можно разделить работу на 3 этапа: Описание моделейПрочесть статью

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

Создавая пользовательский интерфейс нужно уделить максимум внимания тому, чтобы пользователь мог достигнуть необходимого результата приложив минимум усилий. Именно таким целям  служит виджет AutoCompleteTextView. Попутно научимся использовать массивы строк, описанные в ресурсном xml-файле. Суть проблемы Допустим у нас есть текстовое поле, в которое пользователь может вводить значение, при этом у насПрочесть статью

Продолжение статьи Основы использования SQLite в Android. Часть 1: cоздание и использование базы данных. После всего вышеописанного можно сказать что создание инфраструктуры для работы с базой данных делится на два этапа: Описание наследника SQLiteOpenHelper Описания методов для выполнения запросов к базе и работы с курсором. Это может быть адаптер, ноПрочесть статью

Хотите посмситься из приложения? Проще простого. Uri smsUri = Uri.parse("smsto:3300052"); Intent intent = new Intent(Intent.ACTION_VIEW, smsUri); intent.putExtra("sms_body", "Привет, Платон! Пиши еще!"); startActivity(intent);Прочесть статью

Ниже описаны два подхода: один для немедленного звонка, другой — переводит вас в диалер (экран набора номера и кнопок контролирующий вызов) с заранее определенным номером. //Покажет "звонилку" с номером 3300052 Uri dialUri = Uri.parse("tel:3300052"); Intent dialIntent= new Intent(Intent.ACTION_DIAL, telUri); // Сразу звонит на 3300052 Uri callUri = Uri.parse("tel:3300052"); Intent callIntent=Прочесть статью

27 февраля в Барселоне были представлены первые анонсы долгожданной выставки Mobile World Congress-2012 или Всемирный мобильный конгресс-2012. Компания LG на данном мероприятии презентует сразу пять стильных новинок Android-смартфонов. Уникальные премьеры являются поистине продвинутыми аппаратами с 4-ядерными флагманами 4X HD на мощной платформе NVIDIA Tegra 3. Серия L представлена моделями L3,Прочесть статью

Чем нам может помочь UIWebView? Для чего предназначен этот компонент в UIKit? На эти вопросы я постараюсь ответить в этой статье. Расскажу о самых простых методах работы с ним. UIWebView может показывать следующее содержимое: Сайты Просто HTML Документы Microsoft Office, Adobe PDF, Документы Apple iWork Медиа-контент Создание UIWebView Для началаПрочесть статью

Этот код стартует имеил клиент (на вабор) с определенным набором данных. На эмуляторе может не работать! /* Создаем интент с экшеном на отправку */ final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); /* Заполняем данными: тип текста, адрес, сабж и собственно текст письма */ emailIntent.setType("plain/text"); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"to@email.com"}); emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");Прочесть статью

Отправить POST-запрос не так тяжело как кажется. Достаточно подготовить «правильный» NSURLRequest. NSString* params = @"param=value&number=1"; // задаем параметры POST запроса NSURL* url = [NSURL URLWithString:@"http://server.com"]; // куда отправлять NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"POST"; request.HTTPBody = [params dataUsingEncoding:NSUTF8StringEncoding]; // следует обратить внимание на кодировку // теперь можно отправитьПрочесть статью

Скороть работы и, особенно, запуска эмулятора Android печальна. Сегодня я поделюсь опытов его ускроения, а в частности: Ускорение загрузки эмулятора при помощи snapshot Увеличение объема внутренней памяти эмулятора Ускороение запуска эмулятора Эмулятор может запускатся практически моментально (не более 10 секунда), если использовать так называемый «snapshot» — сохранненный образ состояния эмулятора,Прочесть статью

Не так давно компания Google представила активным интернет-пользователям сравнительно молодой, но уже весьма популярный браузер Google Chrome для мобильных устройств и планшетов, работающих на Android 4.0. Универсальную бета-версию браузера уже сегодня можно бесплатно скачать с андроид-маркета. Установка программы проста и понятна. Но самым главным достоинством браузера можно отметить его удобствоПрочесть статью

Приложение может запланировать показ уведомлений (похожих на UIAlertView) пользователю на любое время в будущем. Вместе с уведомлением можно изменить бейдж приложения (красный круг около значка), проиграть звук. Для каких приложений полезны UILocalNotification? Например для приложений «напоминалок», будильников, To-do листов. Приложение, работающие в фоне так же может показывать UILocalNotfication, чтобы уведомитьПрочесть статью

Часто нам нужно спрятать экранную клавиатуру и убрать фокус с EditTextView. Ниже можно найти решение) //Получаем системную службу – менеджер метода ввода InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); //Указываем менеджеру в качестве параметра WindowToken нужного EditTextView imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);Прочесть статью

Написать эту статью меня побудило 2 фактора: статья «Когда я говорил», берущая за душу, и опыт проведения собесодований, леденящий душу. К сожалению, даже для людей со значительным опытом в разработке, вопрос «чем отличается абстрактный класс от интерфейса?» может стать поводом для несвязной речи и покраснения лица. Чтобы дать возможность людямПрочесть статью

Как получить информацию об установленных приложениях, их именах, пакетах, версиях и иконках //Класс описывающий приложение class ApplicationInfo { private String appname = ""; private String pname = ""; private String versionName = ""; private int versionCode = 0; private Drawable icon; private void prettyPrint() { Log.v(appname + "t" + pnameПрочесть статью

Начнем с вопроса — «Что такое и зачем нужен Singleton?». Singleton (Одиночка) — это порождающий шаблон проектирования. Singleton гарантирует, что у класса есть только один рабочий экземпляр и предоставляет к нему доступ одним единственным способом. Singleton доступен во всем приложении. При помощи «одиночек» очень органично описываются объеткы, которые явлюятся уникальнымиПрочесть статью

В прошлой статье посвященной JNI на Android я описывал как начать работу с Android NDK, в том числе, как вызывать нативные методы из Java, на этот раз я опишу как вызывать Java-методы из нативного кода. Для лучшего понимания этой статьи, рекомендую предварительно ознакомиться с основами JNI в Android. Сам процессПрочесть статью