В данной статье хотел бы поделиться опытом создания простого виджетика для Android, а именно маленькое напоминание. Если вы пропишите в Google: "Создать виджет для Android", то поиск выдаст много информации. Но вы так и не найдете точной с примерами информации как же сделать этот виджет. Именно потому я и решил открыть данный раздел "Программинг" и написать первую статью.
Если вы сделаете все правильно, то ваше творение будет вот так выглядеть:
Для начала скачаем программу Eclipse!
Начинаем писать первый виджет. Создаем новый проект в Eclipse : File => New => Progect => Android Project => SimpleActivity
Открываем файл AndroidManifest.xml, на клавиатура нажимаем CTRL+a и DELETE, и вставляем туда код ниже:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<!--package проекта-->
package="com.api.app"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<!--Определяем наш файл класса что бы можно было с ним работать-->
<receiver android:name="SimpleActivity" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/manifest" />
</receiver>
<!--конец-->
</application>
<uses-sdk android:minSdkVersion="8"/>
</manifest>
Этим действием мы объяснили програмы что мы создаем именно виджет, а не простую программу. Теперь заполним тело виджет, а именно файл main.xml. Открываем данный файл, удаляем что там было и добавляем мой код:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Widget"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/frame">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="пыщ пыщ!!!!111" />
</RelativeLayout>
В данном файле мы задавили общий вид нашего виджета.
А теперь нам осталось описать виджет, что бы планшет или телефон смог понять о чем же идет дело. Создаем папку xml в директории res (у вас должно получить вот так /res/xml/). И теперь уже в папке xml создаем файлик manifest.xml (тобишь /res/xml/manifest.xml) и пишем туда:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="0"
android:initialLayout="@layout/main">
</appwidget-provider>
Идем дальше... Файл SimpleActivity.java - должен быть пустым, потому что наш виджет по большему счету ничего делать не будет, как выводить информацию в одну запись:
public class widget extends AppWidgetProvider
{}
Теперь все скомпилируем в проект. Нажимаем MENU в нашем эмуляторе и смотрим на девайсе что получилось:
В следующей статье я расскажу как разместить события в данный виджет, но правда пока и сам не очень разобрался.
Спасибо всем за внимание, ждите следующие статьи.
P.S Admin4ek