1.appwidget的xml配置文件中有一个控制appWidget自动更新的属性
android:updatePeriodMillis=“86400”
这个从android2.0以后就属性无效了!android官网上面竟然没有说明
2.appwidget的功能非常有限
如果你的widget里面有一个TextView的话,你甚至无法得到这个控件中的文字内容,不要想用getText()方法,因为appwidget只支持一种对其包含控件的访问方法:
RemoteViews rv = new RemoteViews(packageName, layoutId);
rv中包含一些设置属性的方法
比如:setTextViewText(viewId, text)等
但是不支持一切getxxx方法
因此,你只能将数据呈现到appwidget上面。但是,你或许会遇到这种情况:从一个activity或service中获取数据显示到appwidget,当用户进一步操作时(点击了appwidget上的一个按钮),appwidget将会启动另一个activity或者service,并将数据传输给它。例如:启动一个dialog对话框activity让用户输入搜索关键字,用户点击确定之后,关键字会出现在appwidget上,再点击appwidget上的搜索按键,appwidget会启动浏览器,跳转到搜索页面。
如果以上情况,开发者不可能从appwidget中获取到关键字,因此,比较好的解决方法是利用sharedPreference,将关键字存储进sharedPreference,无论是appwidget的UI显示,还是浏览器activity获取关键字的操作,全部变成读取sharedPreference数据。当然,也可以用其存储方式。
分享到:
相关推荐
在深入探讨Android AppWidget之前,我们首先需要理解AppWidget在Android生态中的角色和价值。AppWidget,即桌面小部件,是Android系统提供的一种允许应用程序在主屏幕放置动态更新的组件,用户无需打开完整应用即可...
这个库主要目的是为了让开发者能够在低版本的Android系统上使用Android 5.0(Lollipop)及以上版本引入的新特性,如Material Design设计风格,同时提供了一些重要的UI组件和功能。 首先,我们来看一下AppCompat库的...
在Android开发中,`AppWidgetProvider`是一种特殊的BroadcastReceiver,用于与桌面小部件(AppWidget)交互。这个组件可以响应用户的交互,例如点击事件,并更新小部件显示的内容。在这个特定的场景中,开发者使用`...
- **AppWidget Framework**:提供了创建桌面AppWidget的API,允许开发者构建小部件以增强桌面功能。同时,支持基于自定义内容创建LiveFolders。 - **Media Framework**:增强了多媒体功能,包括原生录音和播放API,...
综上所述,Android手机天气预报项目综合运用了网络通信、XML处理、数据库管理和Android组件技术,构建了一个能够实时获取、存储和展示天气信息的App Widget,以满足用户在移动设备上查询天气的需求。
在Android SDK中,我们可以使用`android.support.v4.widget.DrawerLayout`来实现这一功能,它是Android Support Library的一部分,支持Android 2.1 (API级别7)及以上版本。 **1. DrawerLayout基础** `DrawerLayout...
这个库特别关注的是v23版本,它包含了许多重要的组件和功能,使得开发者可以轻松地在Android 2.1(API级别7)及更高版本上实现与最新Android版本相似的用户体验。 AppCompat库的核心组件是`android.support.v7.app....
import android.widget.TextView; public class Hello extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate...
2. 对于TabLayout,可以在布局文件中添加`<androidx.tabs.widget.TabLayout>`,并设置其适配器`TabLayout.setupWithViewPager(viewPager);` 3. 如果使用PagerTabStrip,只需将其添加到ViewPager上方即可,它会自动与...
在Android支持库v7中,`appcompat`包提供了对这种组件的支持,使得开发者可以方便地在Android 2.1(API级别7)及以上的版本上使用这一特性。`android-support-v7-appcompat`库不仅包含了Navigation Drawer,还包含了...
Android v7 AppCompat库是Android开发中的一个关键组件,它主要解决了在不同版本Android系统上实现向后兼容的问题。在Android生态系统中,由于设备众多,操作系统版本各异,开发者需要确保应用能在广泛的操作系统...
然而,早期的Android版本并不支持这种风格,HoloEverywhere正是为了解决这个问题而生,使得开发者可以为较低版本的Android设备提供一致的用户体验。 2. **核心原理** HoloEverywhere基于Sl4A(Script for Android...
下面列举了一些不同版本的 Android 系统中可用的图标资源: - **Android™ 2.1** - `android.R.drawable` - **Android™ 1.5** - `android.R.drawable` - **Android™ 1.6** - `android.R.drawable` - **Android™ ...
"android-support-v7-appcompat" 是Android开发中的一个重要库,主要目的是为了实现向后兼容,使得开发者能够在Android 2.1(API级别7)及以上的版本中使用ActionBar功能。这个库是Google为解决不同Android版本间API...
AppWidget框架引入,允许创建桌面小部件,API支持自定义内容的LiveFolders。媒体框架的增强包括原声录音和回放API,MIDI回放引擎以及视频录制(3GP格式)功能。此外,还引入了视频照片分享意图和媒体搜索意图。 **...
在Android开发中,实现Activity之间...同时,随着Android Jetpack的推出,现在也有如`androidx.viewpager2.widget.ViewPager2`这样的新组件,提供了更好的性能和更多功能,开发者可以根据项目需求选择合适的实现方式。