{DATE}
© Денис Колисниченко
В этой статье мы рассмотрим семь полезных рецептов, которые пригодятся практически любому Android-программисту. Сразу скажу: рецепты рассчитаны на то, что читатель сей статьи уже знаком с разработкой приложений для Android. Азов здесь не будет. Все рецепты будут написаны на Java, а сами проекты будут создаваться в Eclipse.
Класс TelephonyManager можно использовать для получения информации о телефоне, определения его состояния и набора номера абонента. В первом рецепте мы поговорим о получении информации о телефоне.
Первым делом создаем проект приложения по умолчанию (пусть наше приложение будет называться TM). В файл манифеста нужно добавить следующую строку:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Без этого нельзя будет прочитать состояние телефона и наше приложение, увы, работать не будет.
Рис. 1. Редактирование файла манифеста
Файл разметки тоже практически будет без изменения. Мы добавим лишь свойство id для элемента TextView. Файл разметки приведен в листинге 1.
Листинг 1. Файл разметки TM/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
В В В android:orientation="vertical"
В В В android:layout_width="fill_parent"
В В В android:layout_height="fill_parent"
В В В >
<TextViewВ
В В В android:id="@+id/info"
В В В android:layout_width="fill_parent"
В В В android:layout_height="wrap_content"
В В В android:text="@string/hello"
В В В />
</LinearLayout>
После создания файла разметки можно приступить к написанию кода. Примерный код см. в листинге 2. Полный код приложения ты найдешь на компакт-диске (такое решение было принято, дабы не растягивать текст статьи) в файле TMActivity.java.
Листинг 2. Фрагмент кода приложения
String EOL = "\n";
// Находим текстовую область в разметке
info =(TextView) findViewById(R.id.info);
// Создаем объект tm для получения информации о телефоне
В В В В В В В tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
       // буфер строк
В В В В В В В StringBuilder sb = new StringBuilder();
В В В В В В В
       // Общая информация об устройстве
       sb.append("Общая информация:\n\n");
       sb.append("ID устройства :")
В В В В В В В .append(tm.getDeviceId()).append(EOL);
       sb.append("Версия ПО: ")
В В В В В В В .append(tm.getDeviceSoftwareVersion()).append(EOL);
       sb.append("Номер телефона: ")
В В В В В В В .append(tm.getLine1Number()).append(EOL);
В В В В В В В
В В В В В В В // Р