浏览 3854 次
锁定老帖子 主题:Android Widget开发系列(三)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-19
最后修改:2009-06-19
本例中的Activity类和普通的Activity极为相似,只是在触发函数中加载完Activity信息后需要多加一些处理。 (1) 在onCreate(Bundle bundle)函数中末尾添加如下语句,其意图在于保存mAppWidgetId,传给AppWidgetProvider: Intent intent = getIntent(); Bundle extras = intent.getExtras(); if (extras != null) { mAppWidgetId = extras.getInt( AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); } if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) { finish(); } (2) 保存输入的帐户信息: SharedPreferences.Editor prefs = context.getSharedPreferences(PREF_NAME, 0).edit(); prefs.putString(PREF_PREFIX_KEY+mAppWidgetId, messages); prefs.commit(); 将信息保存到一个类似于Java中的Map对象中,以便将来提取。 (3) 编写Button的触发函数 AppWidgetManager appWidgetManager=AppWidgetManager.getInstance(context); DiguWidget.updateAppWidget(context, appWidgetManager,mAppWidgetId, messages.toString()); Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId); setResult(RESULT_OK, resultValue); 调用AppWidgetProvider类中的updateAppWidget()函数更新信息,并将mAppWidgetId传递给Intent对象。 (4) 增加获取输入信息的函数 当然,这个函数在这里是完全没有必要的,只是为了操作上方便,当AppWidgetProvider对象需要帐户信息时,会调用该函数。 SharedPreferences prefs = context.getSharedPreferences(PREF_NAME, 0); String prefix = prefs.getString(PREF_PREFIX_KEY + appWidgetId, null); if (prefix != null) { return prefix; } else { return context.getString(R.string.prefix_default); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |