我的世界天气指令代码大全

我的世界天气指令代码大全,第1张

;     

      1、天气指令有以下几种:下雨,输入/weatherrain。

      2、不下雨,输入/weatherclear。

      3、雷阵雨,输入/weatherthunder。

      4、weatherrain(下雪)。

      5、weatherclear(无天气)。

      6、weatherthunder(暴风雪)。

Log说的很清楚了,MainActivity第55行报NullPointerException,看看你代码的55行是什么,错误应该是出在WebService返回的结果,你没有对返回的List做非空判断就用这个List去初始化适配器了

另外,调用WebService的 *** 作应该放在线程里执行,你的写法如果网速慢直接卡住界面了

首先将省市信息以的形式保存到名为arraysxml的文件中(我记得貌似一定要把文件名取为arraysxml)。其中,name属性可以理解为数组名和ID名。这里要注意:省份的顺序要与对应拥有的城市顺序一致。即台湾为最后最后一个省,

在选择城市界面对应的Activity中,通过下面代码将省份列表显示。其中Rarrayprovinces就是我们上面定义的name属性值。

ArrayAdapter adapter =

ArrayAdaptercreateFromResource(this,Rarrayprovinces,androidRlayoutsimple_spinner_item);

provinceSpinnersetAdapter(adapter);

接着,对省份下拉列表进行监听。这里有一个比较麻烦的地方,因为当你选择不同的省份的时候,需要显示该省份对应的城市。面对那么多的省份,如果我们通过if或者switch来 *** 作的话,使得代码很冗长,也难以维护。发现这里是通过Rarrayname这种形式来显示下拉列内容的。通过观察R文件,发现了一定的规律。R文件中的array类的int属性值,是根据写入顺序,从0x7f050000开始,逐个+1形成的。即

public static final int provinces=0x7f050000;

public static final int beijing_array=0x7f050001;

public static final int tianjin_array=0x7f050002;

可能R文件中没有按照此顺序排列,不过,不影响这一性质。所以我就想到了只要城市数组的顺序与省份一一对应(上面提到过),就可以通过所选省份的position,跟ID初始值

0x7f050000相加,得出所属城市的数组。具体看看代码

provinceSpinnersetOnItemSelectedListener(new OnItemSelectedListener()

{

public void onItemSelected(AdapterView parent, View view,

int position, long id) {

if(position != 0){//选择了省份,position=0时,为“--请选择--”

0x7f050000为R文件中省份数组对应的id值,只要加上position,即可获得对应选项(省份)的城市

/

int cityID = 0x7f050000 + position;

ArrayAdapter adapter =

ArrayAdaptercreateFromResource(getApplicationContext(), cityID,

androidRlayoutsimple_spinner_item);

citySpinnersetAdapter(adapter);

}

}

public void onNothingSelected(AdapterView parent) {

}

});

二。

三、SQLite保存城市数据

使用SQLite而不使用Intent传递参数,是因为当用户下次打开程序时,当前城市应该为TA最后一次的选择。关于SQLite的使用,网上有很多文章,比如:52androidblog51ctocom/2554429/478368

之前也学习过一些,但四、PreferenceActivity作为设置界面

参照Android系统的设置,用PreferenceActivity来对系统进行信息配置和管理。这里我也采用PreferenceActivity作为设置界面。(上方图三)

首先,编写xml文件。PreferenceCategory:类别(用于分组)。key:唯一标识(获取信息时使用)。title:显示标题。summary:小标题。还有defaultValue:默认值。我这里值用到了CheckBoxPreference,它还有EditTextPreperence,RingtonePreference,ListPreference,Preference等。

schemasandroidcom/apk/res/android" >

android:key="threeDay"

android:summary="今明后三天的天气预报,如果不选,则只有当天的天气"

android:title="三天预报" />

android:key="cityInfo"

android:summary="关于当前城市的简要介绍"

android:title="城市简介" />

然后,新建Activity继承 PreferenceActivity

,重写onCreate方法,通过addPreferencesFromResource(Rxmlxx); 加载Preference。

public class SetupActivity extends PreferenceActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

addPreferencesFromResource(Rxmlsetup);

}

}

最后,获取preference数据。可 通过下面三种方式:

1、getPreferences():可以获取同一activity中的preference;

2、getSharedPreferences():可以获取应用级别的preferences,即封装在同一app中,使用SharePreferences

prefs = getSharedPreferences(packName+name ,0)

3、getDefaultSharedPreferences():通过Android的管理器来获取其所管理的preferences。

由于这里不是同一个Activity,所以不能使用getPreferences()。我这里只有一个preference,因此使用PreferenceManagergetDefaultSharedPreferences(this);来获取较方便。

五、通过WebService获取天气信息

WebService获取天气的网址为:webxmlcomcn/webservices/weatherwebserviceasmx上面

// 保存获取到的信息

SoapObject detail = null;

// 1实例化SoapObject对象

SoapObject soapObject = new SoapObject(NAMESPACE, METHOD_NAME);

// 2如果方法需要参数,设置参数

soapObjectaddProperty("theCityName", cityName);

// 3设置Soap的请求信息,获得序列化envelope,参数部分为Soap协议的版本号

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelopeVER11);

envelopebodyOut = soapObject;

envelopedotNet = true;

envelopesetOutputSoapObject(soapObject);

// 4构建传输对象

int timeout = 10000;// 设置超时为10秒

MyAndroid>

中国国家气象局天气预报接口总共提供了三个:

>

>

>

最详细的信息来自第三个接口。上面url中的101010100是城市代码,这里是北京的城市代码。只需要改变城市代码,就可以得到所在城市的天气信息。笔者在福州,所以选择的城市代码是福州101230101。

在浏览器上输入url:>{"weatherinfo":{"city":"福州","city_en":"fuzhou","date_y":"2012年5月14 日","date":"","week":"星期 一","fchh":"08","cityid":"101230101","temp1":"29℃~23℃","temp2":"26℃~20℃","temp3":"24℃~20℃","temp4":"25℃~20℃","temp5":"24℃~21℃","temp6":"25℃~22℃","tempF1":"842℉~734℉","tempF2":"788℉~68℉","tempF3":"752℉~68℉","tempF4":"77℉~68℉","tempF5":"752℉~698℉","tempF6":"77℉~716℉","weather1":" 阵雨转中雨","weather2":"中雨转小雨","weather3":"小雨","weather4":"小雨","weather5":"小雨 转阵雨","weather6":"阵雨转小 雨","img1":"3","img2":"8","img3":"8","img4":"7","img5":"7","img6":"99","img7":"7","img8":"99","img9":"7","img10":"3","img11":"3","img12":"7","img_single":"3","img_title1":" 阵雨","img_title2":"中雨","img_title3":"中雨","img_title4":"小雨","img_title5":" 小雨","img_title6":"小雨","img_title7":"小雨","img_title8":"小雨","img_title9":" 小雨","img_title10":"阵雨","img_title11":"阵雨","img_title12":"小 雨","img_title_single":"阵雨","wind1":"微风","wind2":"微风","wind3":"微 风","wind4":"微风","wind5":"微风","wind6":"微风","fx1":"微风","fx2":"微风","fl1":"小 于3级","fl2":"小于3级","fl3":"小于3级","fl4":"小于3级","fl5":"小于3级","fl6":"小于3 级","index":"热","index_d":"天气较热,建议着短裙、短裤、短套装、T恤等夏季服装。年老体弱者宜着长袖衬衫和单 裤。","index48":"暖","index48_d":"较凉爽,建议着长袖衬衫加单裤等春秋过渡装。年老体弱者宜着针织长袖衬衫、马甲和长 裤。","index_uv":"弱","index48_uv":"最弱","index_xc":"不宜","index_tr":"适 宜","index_co":"较不舒 适","st1":"27","st2":"21","st3":"24","st4":"18","st5":"22","st6":"18","index_cl":" 较不宜","index_ls":"不太适宜","index_ag":"不易发"}}[/code]

我们可以解析json数据去得到自己想用的天气信息。

天气信息解释:

{

"weatherinfo":{

<!-- 基本信息 -->

"city":"福州",

"city_en":"fuzhou",

"date_y":"2012年5月14日",

"date":"",

"week":"星期一",

"fchh":"08",

"cityid":"101230101",

<!-- 从今天开始到第六天的每天的天气情况,这里的温度是摄氏温度 -->

"temp1":"29℃~23℃","temp2":"26℃~20℃","temp3":"24℃~20℃","temp4":"25℃~20℃","temp5":"24℃~21℃","temp6":"25℃~22℃",

<!-- 从今天开始到第六天的每天的天气情况,这里的温度是华氏温度 -->

"tempF1":"842℉~734℉","tempF2":"788℉~68℉","tempF3":"752℉~68℉","tempF4":"77℉~68℉","tempF5":"752℉~698℉","tempF6":"77℉~716℉",

<!-- 天气描述 -->

"weather1":"阵雨转中雨","weather2":"中雨转小雨","weather3":"小雨","weather4":"小雨","weather5":"小雨转阵雨","weather6":"阵雨转小雨",

<!-- 天气描述序号 -->

"img1":"3","img2":"8","img3":"8","img4":"7","img5":"7","img6":"99","img7":"7","img8":"99","img9":"7","img10":"3","img11":"3","img12":"7","img_single":"3",

<!-- 名称 -->

"img_title1":"阵雨","img_title2":"中雨","img_title3":"中雨","img_title4":"小雨","img_title5":"小雨","img_title6":"小雨","img_title7":"小雨","img_title8":"小雨","img_title9":"小雨","img_title10":"阵雨","img_title11":"阵雨","img_title12":"小雨","img_title_single":"阵雨",

<!-- 风速描述 -->

"wind1":"微风","wind2":"微风","wind3":"微风","wind4":"微风","wind5":"微风","wind6":"微风","fx1":"微风","fx2":"微风",

<!-- 风速级别描述 -->

"fl1":"小于3级","fl2":"小于3级","fl3":"小于3级","fl4":"小于3级","fl5":"小于3级","fl6":"小于3级",

<!-- 今天穿衣指数 -->

"index":"热",

"index_d":"天气较热,建议着短裙、短裤、短套装、T恤等夏季服装。年老体弱者宜着长袖衬衫和单裤。",

<!-- 48小时穿衣指数 -->

"index48":"暖","index48_d":"较凉爽,建议着长袖衬衫加单裤等春秋过渡装。年老体弱者宜着针织长袖衬衫、马甲和长裤。",

<!-- 紫外线及48小时紫外线 -->

"index_uv":"弱","index48_uv":"最弱",

<!-- 洗车 -->

"index_xc":"不宜",

<!-- 旅游 -->

"index_tr":"适宜",、

<!-- 舒适指数 -->

"index_co":"较不舒适",

"st1":"27","st2":"21","st3":"24","st4":"18","st5":"22","st6":"18",

<!-- 晨练 -->

"index_cl":"较不宜",

<!-- 晾晒 -->

"index_ls":"不太适宜",

<!-- 过敏 -->

"index_ag":"不易发"

}

}

这些事件一般都是设置ListView本身的属性, setOnGroupClickListener setOnChildClickListener 如果说你要监听position 是设置事件,最好重写个类继承expandlistview 然后重写下面的两个方法 expandGroup setSelectedChild

安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报app编程为例:

public class WebServiceUtil

{

// 定义Web Service的命名空间

static final String SERVICE_NS = ">

以上就是关于我的世界天气指令代码大全全部的内容,包括:我的世界天气指令代码大全、你好,我的Android开发天气预报代码运行的时候老是报错,图片如下:、android怎么访问天气webservice,用网上找的链接都不行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10157320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存