Android开发工程师文集-1 小时学会Widget小组件开发
前言
大家好,给大家带来Android开发工程师文集-1 小时学会Widget小组件开发的概述,希望你们喜欢
学会用Widget (小组件)
Widget小组件很方便,很快捷,可以个性化,自己定制,相关功能,可以实时更新最新内容。
- Widget布局,Widget配置,AppWidgetProvider与Configuration Activity
- Android Widget
- xml布局类型:AppWidget Provider
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
//引用的布局文件
android:initialLayout="@layout/widget"
android:minHeight="50dp"
android:minWidth="100dp"
//设置更新时间
android:updatePerioMillis="66666666">
</appwidget-provide>
public class WidgetProvider extends AppWidgetProvider {
@Override
public void onDeleted(Context context,int[] appWidgetIds){
super.onDeleted(context,appWidgetIds);
}
@Override
public void onDisabled(Context context){
super.onDisabled(context);
}
@Override
public void onEnabled(Context context){
super.onEnabled(context);
}
@Override
public void onReceive(Context context,Intent intent){
super.onReceive(context,intent);
}
@Override
public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds){
super.onUpdate(context,appWidgetManager,appWidgetIds);
}
}
//TimerService extends Service
Timer timer=new Timer();
timer.shedule(new TimerTask(){
@Override
public void run(){
updateTime();
}
},0,1000);
}
//onDestroy
public void onDestroy(){
super.onDestroy();
timer=null;
}
//updateTime();
private void updateTime(){
String time = simpletime.format(new Date());
}
Widget就是个桌面小组件,有了Widget,我们可以直接在桌面上进行各种操作。
Widget使用
- AndroidManifest中声明AppWidget
- xml中定义AppWidget配置文件
- layout中定义Widget布局文件
- 创建类继承AppWidgetProvider类
//清单文件中
<meta-data
android:name="android.appwidget.provider"
android:resource="@layout/widget_setting"/>
//onUpdate()重点
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.layout_widget);
//Intent intent = new Intent();
Intent intent = new Intent();
intent.setClass(context, TestWidget.class);
intent.setAction(WIDGET_BTN_ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
remoteViews.setOnClickPendingIntent(R.id.widget_btn, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
}
//清单文件
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_provider"/>
总结
- 本文讲了Android开发工程师文集-1 小时学会Widget小组件开发,如果您还有更好地理解,欢迎沟通
- 定位:分享
Android&Java知识点,有兴趣可以继续关注
Android开发工程师文集-1 小时学会Widget小组件开发的更多相关文章
- Android开发工程师文集-1 小时学会各种Drawable
前言 大家好,给大家带来Android开发工程师文集-1 小时学会各种Drawable的概述,希望你们喜欢 Drawable介绍 Drawable为抽象类,drawable与view有区别的地方,主要 ...
- Android开发工程师文集-1 小时学会SQLite
前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...
- Android Widget小组件开发(一)——Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的!
Android Widget小组件开发(一)--Android实现时钟Widget组件的步骤开发,这些知识也是必不可少的! PS:学习自某网站(不打广告) 这个小组件相信大家都很熟悉吧,以前的墨迹天气 ...
- Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式
Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...
- Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解
前言 大家好,给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢 Activity是什么 作为一个Activ ...
- Android开发工程师文集-相关控件的讲解,五大布局
前言 大家好,给大家带来Android开发工程师文集-相关控件的讲解,五大布局的概述,希望你们喜欢 TextView控件 TextView控件有哪些属性: android:id->控件的id a ...
- Android开发工程师文集-layout_weight讲解
前言 大家好,给大家带来Android开发工程师文集-layout_weight讲解的概述,希望你们喜欢 Layout_weight的相关代码展示 <TextView android:layou ...
- Android开发工程师文集-Android知识点讲解
前言 大家好,给大家带来Android开发工程师文集-Android知识点讲解的概述,希望你们喜欢 WebView讲解 一般通过Intent调用系统的浏览器: Uri uri = Uri.parse( ...
- Widget小组件
一.使用步骤: 1.建立Widget的样式布局文件widght,布局只支持几种,比如,相对布局,线性布局,帧布局,布局里支持的控件也是有限的. 2.在res下建立一个新的文件夹我的命名为xml 3.在 ...
随机推荐
- 关于如何安装使用Git、tortoiseGit、Git@osc
摘要: 讲解git在git@osc上使用的正确入门姿势. 关于Git代码托管的好处,这里就不再进行说明了.相信想去使用的人都应该有所了解啦.在使用开源中国里面的git@osc时,我们得先做入下几个工作 ...
- c++之__attribute__((unused))
转自https://blog.csdn.net/u013083059/article/details/19342935 内核时注意到有些函数会有添加__attribute__((unused)), 在 ...
- SVG绘制太极图
思路:先画一整个圆,填充颜色为黑色,再用一个边框和填充颜色均为白色的长方形覆盖右半边的半圆,再以同一个圆心,相同半径绘制一整个圆,该圆的边线颜色为黑色,没有填充颜色,最后常规操作再画四个小圆 源代码: ...
- SpringJDBC :jdbcTemplate在连接是出现 org/springframeworkbc/core/JdbcTemplate : Unsupported major.minor version 52.0 异常解决
原因是这个在jdk9版本才能使用,需更新jdk版本. 更新jdk9之后在idear的配置: 第一步:File---->Project Structure---->Project 第二步: ...
- idea编辑项目出现【Information:java: javacTask: 源发行版 7 需要目标发行版 1.7】
在编译项目时候出现问题: Information:java: javacTask: 源发行版 7 需要目标发行版 1.7 解决方案:按着图片操作,这几个地方设置的一样就可以了
- 从汇编层面解释switch语句判断快速的原因
源码如下: #include <stdio.h> void main(){ int flag; flag=1; switch (flag){ ...
- 186. Reverse Words in a String II 翻转有空格的单词串 里面不变
[抄题]: Given an input string , reverse the string word by word. Example: Input: ["t"," ...
- 本机连接Spark Standalone--最简单的spark调试方式
为了既能远程连接spark 查看ui 又能本地练习 安装简单 去官网 http://spark.apache.org/downloads.html 选择对应版本下载 tar包 解压 tar ...
- Py西游攻关之RabbitMQ、Memcache、Redis
Py西游攻关之RabbitMQ.Memcache.Redis RabbitMQ 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议 ...
- 虚拟机下 centos7 无法连接网络
[root@localhost ~]# cd /etc/sysconfig/network-scripts [root@localhost network-scripts]# ls ifcfg-ens ...