如何建立widget的开发环境
1.到下mon版本的Aptana_Studio_Setup.exe mon版本有些功能没有,但是是免费的,够用了。
2.安装Aptana前先安装最新版的Firefox.
3.安装Aptana后,直接用Aptana新建一个工程,建的时候一路回车即可,不用选任何勾。
4.然后在这下面建个html文件即可在firefox中调试看效果了。
如果嫌在Aptana中编辑看不到可视化编辑环境,可以先在FrontPage(用安装vc6后就有点interdev也不错)中编辑好(如表格、字体),然后再把代码拷过来。
5.在工程下加上Info.plist文件(编辑里面的内容,指向你的那个html文件名)后就可以放到S60模拟器上运行了。
6.直接点击工程名称,按键ctrl+c, 再粘贴到外边随便哪个文件夹里,然后右键单击此文件夹,选择添加到压缩文件,压缩格式选择zip,文件名后缀的.zip改为.wgz,然后回车即可。
7.如果没有安装S60的模拟器,下载最新版S60的SDK(java的或c++的都行,其实这两个都是一样的),下载时选第一个一般下载模式,可以右键用旋风等多线程下载工具下载的,安装了SDK后,在程序菜单中就可以找到手机模拟器了。
在模拟器上选左上角的第一个菜单的第一项,然后选择刚才的wgz文件,一路选择是即可,模拟器会自动安装好的,安装100%进度点确定后,最后还会报一个好像失败的提示,不用担心,其实是已经安装成功了的。
8.然后从模拟器的菜单选择程序,已经安装的程序,就可以看到你的那个widget了,点击即可运行。
9.第二次安装时会自动覆盖上一次安装的同一个程序。
有时会发生安装成功后没生效或其他异常,关掉模拟器,再打开模拟器就正常了。
有谁知道Widget应用程序的开发工具是什么?
Widget (建议中文译名:微巨) 「Yahoo!Widget Engine」是一种基于JavaScript的应用程序平台,您必须先安装Widget引擎后才能使用各式各样的Widget工具。
Yahoo!Widget是由雅虎推出的免费并开放源码的桌面应用程序平台。
它由Widget引擎和Widget工具两部分组成。
能够极大的便利您的网络操作和完善您的桌面应用。
Widget引擎提供了一个Ajax应用程序平台,在Windows和Mac OS X的操作系统环境下都可以使用。
安装引擎后就能在此平台上运行各式各样的Widget工具了。
1. Widget的这个创想来自一个叫做Rose的苹果电脑工程师。
98年的一天,Rose在自己的苹果操作系统桌面玩一个可以更换皮肤的MP3播放器时忽发奇想:如果在我桌面上运行的所有工具都能够更换皮肤或外观,那将是一件很酷的事情,Rose的兴奋之情溢于言表,它给这个酷酷的玩意儿起了个名字叫“Konfabulator”。
于是两人开始共同为了这个炫酷的玩意儿在深夜努力工作,他们开辟了一个和Konfabulator相关的网站向大家传播这个想法,并在论坛中征询网友的意见“到底什么才是真正的Konfabulator?”大家的说法是千奇百怪的,有人说它是一个运行在用户桌面的加热器,有人说它是桌面宠物,有人说它是张牙舞爪的机器人。
但是没有人对于Konfabulator的描述是确切的。
4. 终于在2003年2月10日的深夜,Konfabulator1.0正式版在Rose和Perry的共同努力下正式发布了。
它是运行在苹果操作系统之上的小工具,其中的主运行文件叫做Widget,在Rose头脑中酝酿了5年的想法终于第一次问世了。
并且向所有人宣布Konfabulator是运行在用户桌面上最独一无二的工具,你希望它是什么样子,它就能按照你的想法而改变。
5. Konfabulator意想不到的快速在全美疯狂的蔓延着,Rose和Perry感到非常的吃惊,同时他们也认识到这将会成为Konfabulator发展历史上非常关键的一个时期,于是两个人都辞去了各自的工作,开始专注于Konfabulator这件事情。
6. 在2003年的7月Konfabulator1.5版本发布了,主运行文件Widget的开发变得风靡一时,越来越多的人参与其中,也因为如此Konfabulator更名为Widget。
Widget在苹果操作系统中所表现出的热潮,使得Rose和Perry认为它应该有更广的应用领域。
于是在接下的半年中Perry的一个朋友参与到开发Widget Windows平台版本的工作中来,但最开始的一些尝试都是失败的。
7. 不久之后Rose找到了一个自己的好朋友ED,ED是苹果电脑公司工作超过十年有着深厚资历的一名优秀的开发工程师。
在和他沟通Windows平台下开发Widget的事情之后,ED认为Rose希望在Windows平台下运行Widget的想法有些不可理喻。
Rose和Perry开始很失望,但令他们感到吃惊的是,两天以后ED居然拿出了一个Windows平台下运行的Widget原型。
8. 2004年的11月Widget1.8版本正式对外发布了,由此开始Widget进入了一个新的时代,成为了跨平台的产品。
使用Windows和Mac操作系统的用户都可以使用和开发自己喜欢的Widget工具。
当然这还仅仅只是一个开端。
使用「Yahoo!Widget工具」需要的计算机系统:
Yahoo!Widget工具在Windows和MacOS X上都可执行。
Windows:等级需为Windows 2000 Service Pack 3 或以上版本或Windows XP SP1或以上版本。
Macintosh:等级则需为Mac OS X 10.3 或以上版本。
内存需求为512MB以上,使用宽带网络不小于512k的计算机系统。
Widget的各种应用
(1)桌面Widget:
Yahoo! Widget:
Windows Vista侧边栏 :
(2)个性化首页Widgets
ibes
iGoogle
(3)博客Widgets
博客侧边栏(blogspot)
抓虾Widget
widget是用什么语言来变成的
是用Java语言编写的。
需要安装引擎也印证了这一点,因为几年前微软就把sun的Java引擎从系统剥离出去了,害怕Java占了c语言的江山。
但是Java语言确实优秀。
楼主注意白字。
android怎样编写widget
下面是Demo的详细步骤:
一、新建一个Android工程命名为:WidgetDemo.
二、准备素材,一个是Widget的图标,一个是Widget的背景。
存放目录如下图:
三、修改string.xml文件如下:
[html] view plain copy print?
Hello World, WidetDemo!
DaysToWorldCup
四、建立Widget内容提供者文件,我们在res下建立xml文件夹,并且新建一个widget_provider.xml代码入下:
[html] view plain copy print?
其中宽度、长度很清楚,还有android:updatePeriodMillis是自动更新的时间间隔,android:initialLayout是Widget的界面描述文件。
还有一个属性Android:configure是可选的,如果你的Widget需要在启动时先启动一个Activity,则需要设定该项为你的Activity。
五、修改main.xml布局,代码如下:
[html] view plain copy print?
六、修改WidgetDemo.java代码如下:
[java] view plain copy print?
.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,代码如下:
[html] view plain copy print?
其中
[html] view plain copy print?
name指定该Widget的接收者是WidetDemo,即你建立的AppWidgetProvider子类,label指定该Widget的标签,还可以用属性icon指定图标
[html] view plain copy print?
是采用android文档中提供的,用于接收更新的intent意图
[html] view plain copy print?
resource指定该Widget的描述信息,该描述中定义了Widget的相关信息,如该Widget的宽度、长度、自动更新的间隔时间等信息,也就是前面四所定义的内容