android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
text="@string/hello_world"/>
2.天气查询、定位等功能实现:
(1)天气查询
该功能实现利用了AccuWeather提供的接口,将所需要查询的城市名字作为参数,想服务器发出请求,服务端以省/市/区的形式返回城市信息及编码,建立数据库存入城市查询记录。
建立URL地址,向服务器请求数据信息。
该功能牵涉到三个文件。
分别是FindCity.java、WEBProvider.java和GetData.java。
代码如下:
FindCity.java
packagecom.yoyo.EasyWeather;
importjava.util.*;
importcom.yoyo.EasyWeather.Data.*;
importcom.yoyo.EasyWeather.Bean.*;
importcom.yoyo.EasyWeather.Util.*;
importandroid.app.*;
importandroid.content.*;
importandroid.os.*;
importandroid.util.Log;
importandroid.view.*;
importandroid.view.View.*;
importandroid.widget.*;
importandroid.widget.AdapterView.*;
publicclassFindCityextendsActivity{
privateListViewlist;
privateEditTextetext;
privatestaticHandlermHandler;
privateStringjson;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.findcity);
list=(ListView)findViewById(R.id.citylist);
etext=(EditText)findViewById(R.id.editfind);
setLocalList();
Viewbtn=findViewById(R.id.find);
btn.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
Stringtext=etext.getText().toString();
if(text.length()!
=0){
searchCity(text);
}
}
});
Viewback=findViewById(R.id.back);
back.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
finish();
}
});
mHandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
switch(msg.what){
case0x2014:
setFindList();
break;
}
super.handleMessage(msg);
}
};
}
privatevoidsetFindList(){
List
for(EasyCitycity:
parseCity.citys){
MapItem=newHashMap();
Item.put("area",city.getCountry().getLocalizedName()+"/"+
city.getAdministrativeArea().getLocalizedName()+"/"+city.getLocalizedName());
Items.add(Item);
}
SimpleAdapteradp=newSimpleAdapter(this,
Items,R.layout.item_city,newString[]{"area"},newint[]{R.id.city});
list.setAdapter(adp);
list.setOnItemClickListener(newOnItemClickListener(){
@Override
pu