我们曾给Widget开发者提供过一些小教程,很多朋友都需要第一手的开发资料,我们联系到一位正在开发Widget小工具的作者。作者从事Android开发将近两周了,Android给我的总体感觉是组件功能较弱,不过相对来说也比较简单,我曾做过一年的Java EE开发,我觉得现在接触Android开发也是一件愉快的事情,我的第一个项目是做一个Widget小工具,现在这个项目基本完成了,下面我把我在这个项目中遇到的问题写下来方便后来者参考。
页面跳转
我在做Widget遇到的第一个问题就是怎么进行页面间的跳转,在继承AppWidgetProvider的类里有一个onUpdate(),在这个方法里调用updateAppWidget(),在updateAppWidget里就可以进行界面跳转了。
Java代码
Intent intent = new Intent(context, OperateActivity.class);
PendingIntent Pintent=
PendingIntent.getActivity(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.widget, Pintent);
//最后更新
appwidgetManager.updateAppWidget(appwidgetIds, views);
PendingIntent Pintent=
PendingIntent.getActivity(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.widget, Pintent);
//最后更新
appwidgetManager.updateAppWidget(appwidgetIds, views);
第二个问题是SQLite
SQLite类继承SQLiteOpenHelper
在SQLite类里通过程序可创建数据库,表和字段,还可以写增删改查
下面我把查询代码写下
Java代码
public Cursor GroupSelect(String group)
{
String sql="select p._id,p.group_type,p.info_title,p.info_content" +
" from info_table as p " +
"where p.group_type=?";
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery(sql, new String[]{group});
return cursor;
}
{
String sql="select p._id,p.group_type,p.info_title,p.info_content" +
" from info_table as p " +
"where p.group_type=?";
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.rawQuery(sql, new String[]{group});
return cursor;
}
其他问题我们将以后的文章中与大家一起分享。