`

Android Widget开发案例(伦敦奥运会倒计时!)

阅读更多
河北衡水武强 3月16日20:21

效果图:
[img]

[/img]

一、新建一个Android工程命名为:WidgetDemo.



二、准备素材,一个是Widget的图标,一个是Widget的背景。存放目录如下图:


[img]

[/img]

三、修改string.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, WidetDemo!</string>
    <string name="app_name">DaysToWorldCup</string>
</resources>



四、建立Widget内容提供者文件,我们在res下建立xml文件夹,并且新建一个widget_provider.xml代码入下:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
	android:minWidth="50dip"
	android:minHeight="50dip"
	android:updatePeriodMillis="10000"
	android:initialLayout="@layout/main"
/> 



五、修改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"
    android:background="@drawable/wordcup"
    >
<TextView  
	android:id="@+id/wordcup"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
 	android:textSize="12px"
    android:textColor="#ff0000"
    />
</LinearLayout>


六、修改WidgetDemo.java代码如下:
package com.android.tutor;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.widget.RemoteViews;
public class WidetDemo extends AppWidgetProvider {
    /** Called when the activity is first created. */
  
	@Override
	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
			int[] appWidgetIds) {
		
		Timer timer = new Timer();
		timer.scheduleAtFixedRate(new MyTime(context,appWidgetManager), 1, 60000);
		super.onUpdate(context, appWidgetManager, appWidgetIds);
	}
	
	
	private class MyTime extends TimerTask{
		RemoteViews remoteViews;
		AppWidgetManager appWidgetManager;
		ComponentName thisWidget;
		
		public MyTime(Context context,AppWidgetManager appWidgetManager){
			this.appWidgetManager = appWidgetManager;
			remoteViews = new RemoteViews(context.getPackageName(),R.layout.main);
			
			thisWidget = new ComponentName(context,WidetDemo.class);
		}
		public void run() {
			
			Date date = new Date();
			Calendar calendar = new GregorianCalendar(2010,06,11);
			long days = (((calendar.getTimeInMillis()-date.getTime())/1000))/86400;
			remoteViews.setTextViewText(R.id.wordcup, "距离南非世界杯还有" + days+"天");
			appWidgetManager.updateAppWidget(thisWidget, remoteViews);
			
		}
		
	}
  
}



七、修改配置文件AndroidManifest.xml,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.tutor"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <receiver android:name=".WidetDemo"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data android:name="android.appwidget.provider"
            		   android:resource="@xml/widget_provider"
            />
        </receiver>
    </application>
    <uses-sdk android:minSdkVersion="7" />
</manifest> 



八、点击运行(Ctrl+F11),之,运行成功后,我们长时间点击桌面,会出现如下俩个,依次点击,就可以看到最上面的效果图:
[img]

[/img][img]

[/img]
  • 大小: 68.8 KB
  • 大小: 31.1 KB
  • 大小: 38.7 KB
  • 大小: 42.3 KB
分享到:
评论

相关推荐

    Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!) ..pdf

    ### Android Widget 开发详解:世界杯倒计时案例 在深入探讨如何开发一款具有实时世界杯倒计时功能的Android Widget之前,我们先来了解下Widget在Android系统中的地位和作用。Widget,即桌面小部件,是一种可以放置...

    Android高手进阶教程之AndroidWidget开发案例世界杯倒计时.pdf

    通过这个世界杯倒计时的案例,开发者可以了解到Android Widget的基本构建过程,并以此为基础,进一步学习和扩展更复杂的Widget功能,如动态数据获取、用户交互等。在考试或实际工作中,熟练掌握Widget开发能够提升...

    android 源码 android Widget开发案例 eclipse项目 直接导入

    这个“android 源码 android Widget开发案例 eclipse项目 直接导入”是一个很好的学习资源,帮助开发者深入理解如何构建和定制Widget。通过Eclipse IDE可以直接导入该项目,快速开始学习。 首先,我们需要了解...

    android开发案例

    本案例主要围绕"Android开发案例",特别是"世界杯倒计时"的Widget开发进行讲解,旨在帮助开发者理解和实践Android Widget的创建与实现。 首先,Android Widget的基本组成部分包括布局文件、更新服务...

    android widget 开发实例源码

    在Android应用开发中,Widget是桌面小部件,它允许用户在主屏幕上与应用程序进行交互,无需实际打开应用程序。本教程将深入探讨如何使用Android Widget,通过提供的源码实例,涵盖了一系列基本到高级的组件,包括...

    Android-Android倒计时控件

    在Android应用开发中,倒计时控件是一个常见的需求,用于实现各种计时功能,比如登录验证码的有效期、活动开始前的预告等。本篇将深入探讨如何在Android中创建一个自定义的倒计时控件,特别是使用Canvas进行绘制,并...

    Android Widget组件开发

    在Android应用开发中,Widget组件是用户界面的一个重要组成部分,它允许开发者将应用程序的功能和信息直接展示在用户的桌面或通知栏上,无需打开应用程序。Widget提供了便捷的方式,让用户可以快速交互,增强了用户...

    Android App Widget 开发

    Android App Widget是Android系统提供的一种轻量级的UI组件,允许开发者在用户的主屏幕上放置一些交互式的快捷方式或小部件,提供类似于桌面小工具的功能。这些小部件可以显示实时信息,如天气、日历事件、音乐播放...

    AndroidWidget开发学习教程.pdf

    Android Widget开发学习教程主要涵盖了如何创建和配置一个基本的Widget,包括以下几个关键步骤: 1. **创建AppWidgetProvider子类**: 一个Android Widget的核心是`AppWidgetProvider`类,它是BroadcastReceiver的...

    安卓Widget小组件相关-androidWidget小组件开发.zip

    本资料包"androidWidget小组件开发.zip"包含了一个名为"MyWidget"的示例项目,可能包含了关于如何创建和实现Android Widget小组件的代码和资源。 1. **Widget组件概述** - Android Widget是Android系统中的一个...

    Android应用源码之android Widget小组件开发.zip

    本示例源码提供了学习Android Widget开发的实战案例,你可以通过阅读和调试代码来加深理解。同时,结合Android官方文档和其他在线教程,将有助于你更好地掌握Widget开发的精髓。 总之,Android Widget小组件开发是...

    Android进度条 带小圆圈的倒计时圆形进度条

    要实现带小圆圈的倒计时圆形进度条,我们需要创建一个新的自定义View,继承自`android.widget.ProgressBar`。在这个类中,我们可以重写`onDraw()`方法来绘制我们想要的自定义样式。同时,我们需要添加一个属性来存储...

    安卓天气日历时间选择倒计时相关-Android日期时间倒计时可设置提醒.zip

    在实际开发中,我们通常会创建一个`TimeCount`类,它负责计算和更新倒计时,并可能有一个`Reminder`类来管理提醒设置。 日历选择通常涉及使用`android.widget.CalendarView`控件,用户可以通过滚动选择日期。而时间...

    Android高级应用源码-android Widget小组件开发.rar

    压缩包内的源码提供了实际的Widget开发案例,你可以通过阅读代码了解每个部分是如何实现的,例如如何处理用户点击、如何更新Widget内容以及如何在不同尺寸的屏幕上适配。 总的来说,学习和理解Android Widget开发...

    android倒计时功能的实现(CountDownTimer)

    在Android开发中,倒计时功能是一种常见的需求,尤其是在定时器应用、游戏、提醒等场景中。`CountDownTimer`类提供了一种简单而有效的方式,用于实现倒计时功能,无需深入理解线程和Handler的复杂性。 #### ...

    android widget

    在Android开发中,Widget是应用程序在用户主屏幕上的一种表现形式,它允许开发者为用户提供轻量级的交互体验,即便在应用程序未打开时也能提供服务。本篇将详细讲解"android widget"这一主题,主要基于 mars 老师的 ...

    Android应用源码之android Widget小组件开发-IT计算机-毕业设计.zip

    在Android应用开发中,Widget小组件是用户界面的重要组成部分,它们允许用户在主屏幕上与应用程序进行交互,而无需实际打开应用。本项目是针对Android Widget小组件开发的一个毕业设计示例,适合学习和理解Android...

    Android Widget开发代码示例详细说明

    # Android Widget开发代码示例详细说明 ## 一、概览 在Android系统中,Widget是一种可以在用户桌面上提供快捷操作或显示应用相关信息的小部件。它们可以被看作是应用程序的一部分,但通常独立于主应用运行。Widget...

Global site tag (gtag.js) - Google Analytics