Горячие новинки

Создаем свой виджет для Андроид на андроид

Разработчику:
Материалы публикуемые на данном сайте были найдены в свободном доступе в сети Интернет.
Если Вы являетесь разработчиков данного приложение и считаете что ваши авторские права нарушены - свяжитесь с нами через форму обратной связи. Мы произведем все необходимые действия для удаления приложения из каталога.

Описание:

В данной статье хотел бы поделиться опытом создания простого виджетика для 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. Открываем данный файл, удаляем что там было и добавляем мой код:

<?xml version="1.0" encoding="utf-8"?>
<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>

В данном файле мы задавили общий вид нашего виджета.

Создаем свой виджет для Android

А теперь нам осталось описать виджет, что бы планшет или телефон смог понять о чем же идет дело. Создаем папку xml в директории res (у вас должно получить вот так /res/xml/). И теперь уже в папке xml создаем файлик manifest.xml (тобишь /res/xml/manifest.xml) и пишем туда:

<?xml version="1.0" encoding="utf-8"?>
<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 - должен быть пустым, потому что наш виджет по большему счету ничего делать не будет, как выводить информацию в одну запись:

import android.appwidget.AppWidgetProvider;
public class widget extends AppWidgetProvider
{}

Теперь все скомпилируем в проект. Нажимаем MENU в нашем эмуляторе и смотрим на девайсе что получилось:

Создаем

Создаем

Создаем

Создаем

В следующей статье я расскажу как разместить события в данный виджет, но правда пока и сам не очень разобрался.
Спасибо всем за внимание, ждите следующие статьи.

P.S Admin4ek

Понравилось? Расскажи друзьям!

Комментарии:


0
13-06-2015 00:49
Лёха
Сам не разбираешься а пишешь.