Сложно представить серьезное приложение, которое не нуждается в хранении данных. В 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=Прочесть статью

Вы мечтаете о карьере разработчика для мобильных устройств? Готовы продираться через тернии изучения новой платформы (Mac, iOS) и быть на передовой современных информационных технологий? Вас не пугает суровый конкурсный отбор? Вы видите свое место в команде профессионалов высочайшего класса? Готовы работать в наиболее изменчивой (и поэтому наиболее требовательной) среде? ДляПрочесть статью

С сегодняшнего дня у всех появилась большая кнопка «Написать» в верхнем правом углу. Теперь вы можете добавлять материал через достаточно простую и в тоже время приятную страницу. В данный момент мы проводим тестирование этой воможности. Поэтому если вы заметили неполадку или считаете что форму можно улучшить — пишите в комментариях.Прочесть статью

Сегодня мы займемся стилизацией строк. Отмечу, что существует два подхода: форматирование строки в ресурсах при помощи тегов — простое и часто достойное решение. Второй подход — это форматирование при помощи Span в рантайме,чуть сложнее, но гораздо мощнее. Сегодня рассмотрим первый подход. Курсив, подчеркнутый, жирный, зачеркнутый и другие виды форматирования AndroidПрочесть статью

Универсальные вещи — это хорошо, но и изобретать велосипеды не стоит. Android имеет особую проблему с потоками и несколько решений для нее. Эта проблема — ANR. Это выглядит вот так. Если вы видите это то вы (… кирпичи?), на самом деле вы делаете следующие движения в консоли. $ adb pullПрочесть статью

Для работы с файлами действующим следующим образом: Запись (сериализация) объекта в файл: FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE); ObjectOutputStream os = new ObjectOutputStream(fos); os.writeObject(myObjectInctance); os.close(); Чтение (десериалазация) объета из файла: FileInputStream fis = context.openFileInput(fileName); ObjectInputStream is = new ObjectInputStream(fis); SomeClass someClassInstance = (SomeClass) is.readObject(); is.close(); return someClassInstance; Добавьте сюда обработку исключенийПрочесть статью

Instagram можно назвать поистине популярным и самым ожидаемым приложением на платформе iOS. Ещё совсем недавно его официальные разработчики заявили о скором появлении этого фото-сервиса на Android OC, а буквально на днях пользователям стала доступна интернет-страничка с предварительной регистрацией для всех, кто первым желает лично опробовать новые возможности и фишки Instagram.Прочесть статью

Если необходимо узнать параметры экрана делаем следующее //Получаем системный сервис, ответственный за работу с дисплеем Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); //Выдираем все нужные данные int width = display.getWidth(); int height = display.getHeight(); int orientation = display.getOrientation();Прочесть статью

Что делать если мы хотим проверить, есть ли у нас коннекшн? //Сначала прописывем разрешение в манифесте <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> //После чего реализуем метод public boolean hasInternetConnection() { ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); if (cm == null) { return false; } NetworkInfo[] netInfo = cm.getAllNetworkInfo(); if (netInfo == null) { return false;Прочесть статью

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

Этот код стартует имеил клиент (на вабор) с определенным набором данных. На эмуляторе может не работать! /* Создаем интент с экшеном на отправку */ 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");Прочесть статью

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

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