androidstudio天气预报怎么把风向提取出来

androidstudio天气预报怎么把风向提取出来,第1张

可以这样把风向提取出来1,打开androidstudio天气预报,点击我的2,接着,再点击设置菜单往下拉,点击天气设置4,选择定位自己的城市或者其他城市5点击提取风向,这样就可以把风向提取出来了

首先将省市信息以的形式保存到名为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>

这个墨迹天气就可以,在应用宝里面就可以下载官网的。

应用宝是腾 讯推荐的最新的手机商城。应用宝是一个专门针对智能手机开发的一款多功能优化软件,拥有海量的游戏、办公软件、电子书籍、音乐、**等,应用宝是一个为安卓系统手机提供的一个下载平台,里边的软件都是经过认证的正版绿色软件,可以放心下载使用

望采纳谢谢

以上就是关于androidstudio天气预报怎么把风向提取出来全部的内容,包括:androidstudio天气预报怎么把风向提取出来、android怎么访问天气webservice,用网上找的链接都不行、安卓手机定位到镇的天气软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9489081.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存