当前位置: 首页 > 科技观察

仿墨迹天气插件

时间:2023-03-13 05:28:45 科技观察

源码介绍forAndroid应用程序源码仿墨迹天气桌面小插件实例源码。源码运行截图源码片段publicclassUpdateServiceextendsService{privatestaticfinalintUPDATE=0x123;privateRemoteViewsremoteViews;//数字时间图像资源数组privateint[]imgs={R.drawable.n0,R.drawable.n1,R.drawable.n2,R.drawable.n3,R.drawable.n4,R.drawable.n5,R.drawable.n6,R.drawable.n7,R.drawable.n8,R.drawable.n9,};//定义显示小时和分钟的ImageView为anarrayprivateint[]dateViews={R.id.h1,R.id.h2,R.id.m1,R.id.m2};//按照中国天气图片的顺序排列本地资源图片天气网络,这里是随机~嘿privateint[]weatherImg={R.drawable.sunny,R.drawable.cloudy,R.drawable.chance_of_rain,R.drawable.chance_of_sleet,R.drawable.chance_of_snow,R.drawable.chance_of_storm,R.drawable。clock1,R.drawable.fog,R.drawable.haze,R.drawable.mist,R.drawable.mostly_sunny,R.drawable.mostly_cloudy,R.drawable.lower,R.drawable.middle};privateHandlerhandler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){switch(msg.what){caseUPDATE://updateweatherupdateTime();updateWeather();break;}}};//Broadcastreceiver接收通知广播的系统每分钟更新一次时间privateBroadcastReceivermTimePickerBroadcast=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){updateTime();}};privatevoidupdateWeather(){//Weatherw=newGetWeather().googleWeather();//if(w!=null){//System.out.println("当前天气:"+w.getWeather()+":"+w.getTemp_c()//+":"+w.getIcon());remoteViews.setTextViewText(R.id.condition,MyWeather.weather1);remoteViews.setTextViewText(R.id.tem,(MyWeather.temp1));//根据图片名称,获取天气图片资源//remoteViews.setImageViewResource(//R.id.weather,//getApplicationContext().getResources().getIdentifier(//w.getIcon(),"drawable","com.way.apptest"));if(MyWeather.img1!=null||!"".equals(MyWeather.img1))remoteViews.setImageViewResource(R.id.weather,weatherImg[Integer.parseInt(MyWeather.img1)]);//执行更新ComponentNamecomponentName=newComponentName(getApplicationContext(),App.class);AppWidgetManager.getInstance(getApplicationContext()).updateAppWidget(componentName,remoteViews);}@OverridepublicIBinderonBind(Intentintent){returnull;}@OverridepublicvoidonCreate(){super.onCreate();remoteViews=newRemoteViews(getApplication().getPackageName(),R.layout.main);//实例化RemoteViewsif(isNetworkAvailable()){MyWeather.getWeather();//json解析中国天气网的天气}else{toast();}updateTime();//第一次运行时先更新时间和天气updateWeather();//点击天气图片进入MainActivityIntentintent=newIntent(getApplicationContext(),MainActivity.class);PendingIntentpi=PendingIntent.getActivity(getApplicationContext(),0,intent,0);remoteViews.setOnClickPendingIntent(R.id.weather,pi);//定义一个定时器来更新天气实际开发中的更新时间间隔可以由用户设置,newTimer().scheduleAtFixedRate(newTimerTask(){@Overridepublicvoidrun(){Messagemsg=handler.obtainMessage();msg.what=UPDATE;handler.sendMessage(msg);}},1,3600*1000);//每小时更新一次天气}privatevoidupdateTime(){Datedate=newDate();//定义SimpleDateFormat对象SimpleDateFormatdf=newSimpleDateFormat("HHmm");//格式化当前时间转化为HHmm形式为StringtimeStr=df.format(date);for(inti=0;i

最新推荐
猜你喜欢