`
QCheng5453
  • 浏览: 15878 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android笔记——Day7 *AppWidget的使用初步 *Android文本输入输出时的中文编码问题

 
阅读更多

1、AppWidget的使用初步

先贴个地址,这个地址里面写的其实很详细。http://www.cnblogs.com/qianlifeng/archive/2011/03/26/1996407.html


··这里还是再大概总结一下AppWidget的使用流程。

1)新建一个布局文件,里面实际上呈现了AppWidget的布局。

2)在res文件夹下新建一个xml文件夹并新建一个xml文件,创建时在resource type里选择appwidget provider。这个为AppWidget提供了元数据,实际上感觉是对这个Appwidget一个总体的描述文件。

3)写一个继承AppWidgetProvider的类,并在里面复写一些函数。

4)在AndroidManifest中进行各种声明(实际上Appwidget是一个Reciver)

至此,实际上一个AppWidget就已经可以显示在桌面上了,但是,要想对该插件上的空间进行监听还需要进一步 的操作,由于Appwidget是和主程序运行在不同的进程中的,所以想要对Appwidget中的空间进行监听,实际上涉及 进程间的数据交流,这个我目前也不懂--#,不过,Android为我们提供了一些方法方便我们对事件进行监听。

5)先设置一个Intent;再用PendingIntent将该Intent包装起来。

6)用RemoteViews类的对象获取AppWidget上的所有控件。

7)用RemoteViews对象中的set...函数将PendingIntent和布局中某控件连接起来。

8)更新AppWidget。

	@Override
	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
			int[] appWidgetIds) {
		for (int i = 0; i < appWidgetIds.length; i++) {
			Intent intent = new Intent(context, a2info_detailInfoActivity.class);     //5)
			PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);    //5)
			RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.info_appwidget_layout);      //6)
			remoteViews.setOnClickPendingIntent(R.id.layoutinfo1, pendingIntent);      //7)
			appWidgetManager.updateAppWidget(appWidgetIds[i], remoteViews);       //8)
		}
		super.onUpdate(context, appWidgetManager, appWidgetIds);
	}

  ··用AppW需要注意的地方

1)appwidget—provider中minWidth和minHeight的计算方法:格子数*74-2    单位:dp;

2)AppWidget目前支持的控件类型:

FrameLayout、LinearLayout、RelativeLayout、AnalogClock、Button、Chronometer、ImageButton、ImageView、ProgressBar、TextView

3)使用RemoteViews获取AppWidget中控件是不要写错了,另外布局文件中也要当心不要写错。


2、Android文本输入输出时的中文编码问题

··Android程序如果想让一个电脑上的txt文件输入进sd卡中,及进行复制,注意要将txt保存时编码选择UTF-8类型的,若只是将汉字字符串输出到sd卡上的文件中,直接用字节流FileOutputStream写入到文件中即可,此时编码是正确的。

··!——————!再次强调不要忘了加SD卡读写权限--#

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics