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卡读写权限--#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值