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

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

Как получить информацию об установленных приложениях, их именах, пакетах, версиях и иконках //Класс описывающий приложение 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. Сам процессПрочесть статью

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

Суть проблемы Повторное использование кода – это хорошо. Если оно не сопряжено с копи-пастингом – это еще лучше. Поэтому в данной серии статей мы рассмотрим создание собственного класса-наследника View, с возможностью задания его свойств через xml-атрибуты в layout-файле контейнера. Это позволит использовать его в проекте повторно, не создавая тонны xml-копи-пасты. ВПрочесть статью

Для этого можно создать категорию на NSString // нужно подключить CommonDigest.h #import <CommonCrypto/CommonDigest.h> // и можно определить категорию на NSString @interface NSString (MD5_Hash) + (NSString *) md5String:(NSString*)concat; @end @implementation NSString (MD5_Hash) + (NSString *) md5String:(NSString*)concat { const char *concat_str = [concat UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(concat_str, strlen(concat_str), result); NSMutableString *hashПрочесть статью

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

Добро пожаловать на новый iDev 2.0! Мы знаем о трудностях с которыми сталкивается любой разработчик мобильных приложений не понаслышке. Проблемы с русскоязычной документацией, критически малое количество многоопытных профи в этой молодой области программирования, отсутствие грамотных кукбуков и исчерпывающих бумажных носителей мобильного знания. Все это значительно усложняет вхождение в процесс разработкиПрочесть статью

Если вы используете закладки для навигации по приложению, то часто бывает удобным сделать внизу экрана. Это делается элементарно при помощи разметки <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp"> <!— располагаем FrameLayout НАД TabWidget, обратите внимание на веса для элементов —> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="wrap_content"Прочесть статью

Дамы и господа! Администрация idev.by рада сообщить две замечетальные новости: мы открыли регистрацию теперь доступна новая рубрика «Вопрос-Ответ» Зарегистированные пользователи смогут получать рассылку с нашего сайта, а главное задавать вопросы, получать на них ответы, а так же сами отвечать на вопросы других пользователей. Мы надеемся, что вам понравится! Зарегистрироваться можноПрочесть статью

В этой статье написано о том, как получить информацию о местоположении. Рассмотрен самый простой метод без излишеств. Теория Для начала поставим перед собой задачу — узнать, что мы можем знать о местоположении устройства (iPhone, iPad) и как заполучить эту информацию. Узнать мы можем следующее: Высоту над уровнем моря GPS координатыПрочесть статью

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