package edu.hfuu.webforecast;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import org.xmlpull.v1.XmlPullParser;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
private GridView gridView;//列表布局
private List<WeatherInfo> weatherInfos;//显示信息
private WeatherInfoAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView=findViewById(R.id.gv_city_list);
weatherInfos= new ArrayList<>();
adapter=new WeatherInfoAdapter();
gridView.setAdapter(adapter);
requestWeatherInfo("http://flash.weather.com.cn/wmaps/xml/china.xml");
gridView.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(MainActivity.this,DetailActivity.class);
WeatherInfo weatherInfo=weatherInfos.get(position);
intent.putExtra("weatherInfo",weatherInfo);
startActivity(intent);
}
public void requestWeatherInfo(final String path){
new Thread(new Runnable() {
@Override
public void run() {
try {
InputStream inputStream=OkHttpUtils.getInputStream(path);
weatherInfos= XmlPullParserHelper.parserXml(inputStream,"utf-8");
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
private class WeatherInfoAdapter extends BaseAdapter{
@Override
public int getCount() {
return weatherInfos.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if(view==null){
view=View.inflate(MainActivity.this,R.layout.base_item,null);
}
WeatherInfo weatherInfo=weatherInfos.get(i);
TextView city=view.findViewById(R.id.tv_city);
city.setText(weatherInfo.getCity());
return view;
}
}
}
资源文件列表
.gradle/4.4/fileChanges/last-build.bin , 1
.gradle/4.4/fileContent/fileContent.lock , 17
.gradle/4.4/fileHashes/fileHashes.bin , 313478
.gradle/4.4/fileHashes/fileHashes.lock , 17
.gradle/4.4/fileHashes/resourceHashesCache.bin , 20163
.gradle/4.4/javaCompile/classAnalysis.bin , 838643
.gradle/4.4/javaCompile/jarAnalysis.bin , 360067
.gradle/4.4/javaCompile/javaCompile.lock , 17
.gradle/4.4/javaCompile/taskHistory.bin , 106301
.gradle/4.4/javaCompile/taskJars.bin , 24005
.gradle/4.4/taskHistory/taskHistory.bin , 1335403
.gradle/4.4/taskHistory/taskHistory.lock , 17
.gradle/buildOutputCleanup/buildOutputCleanup.lock , 17
.gradle/buildOutputCleanup/cache.properties , 51
.gradle/buildOutputCleanup/outputFiles.bin , 22277
.idea/gradle.xml , 626
.idea/libraries/android_arch_core_common_1_0_0_jar.xml , 533
.idea/libraries/android_arch_lifecycle_common_1_0_0_jar.xml , 548
.idea/libraries/android_arch_lifecycle_runtime_1_0_0.xml , 658
.idea/libraries/com_android_support_animated_vector_drawable_26_1_0.xml , 742
.idea/libraries/com_android_support_appcompat_v7_26_1_0.xml , 682
.idea/libraries/com_android_support_constraint_constraint_layout_1_1_0.xml , 501
.idea/libraries/com_android_support_constraint_constraint_layout_solver_1_1_0_jar.xml , 425
.idea/libraries/com_android_support_support_annotations_26_1_0_jar.xml , 608
.idea/libraries/com_android_support_support_annotations_27_1_1_jar.xml , 609
.idea/libraries/com_android_support_support_compat_26_1_0.xml , 692
.idea/libraries/com_android_support_support_core_ui_26_1_0.xml , 697
.idea/libraries/com_android_support_support_core_utils_26_1_0.xml , 712
.idea/libraries/com_android_support_support_fragment_26_1_0.xml , 702
.idea/libraries/com_android_support_support_media_compat_26_1_0.xml , 722
.idea/libraries/com_android_support_support_v4_26_1_0.xml , 672
.idea/libraries/com_android_support_support_vector_drawable_26_1_0.xml , 737
.idea/libraries/com_android_support_test_espresso_espresso_core_3_0_2.xml , 710
.idea/libraries/com_android_support_test_espresso_espresso_idling_resource_3_0_2.xml , 765
.idea/libraries/com_android_support_test_monitor_1_0_2.xml , 662
.idea/libraries/com_android_support_test_runner_1_0_2.xml , 657
.idea/libraries/com_google_code_findbugs_jsr305_2_0_1_jar.xml , 359
.idea/libraries/com_squareup_javawriter_2_1_1_jar.xml , 538
.idea/libraries/com_squareup_okhttp3_okhttp_3_4_1_jar.xml , 542
.idea/libraries/com_squareup_okio_okio_1_9_0_jar.xml , 523
.idea/libraries/javax_inject_javax_inject_1_jar.xml , 528
.idea/libraries/junit_junit_4_12_jar.xml , 487
.idea/libraries/net_sf_kxml_kxml2_2_3_0_jar.xml , 285
.idea/libraries/org_hamcrest_hamcrest_core_1_3_jar.xml , 543
.idea/libraries/org_hamcrest_hamcrest_integration_1_3_jar.xml , 578
.idea/libraries/org_hamcrest_hamcrest_library_1_3_jar.xml , 557
.idea/misc.xml , 1611
.idea/modules.xml , 359
.idea/runConfigurations.xml , 564
.idea/workspace.xml , 189052
WebForecast.iml , 865
app/.gitignore , 8
app/app.iml , 11896
app/build/generated/res/pngs/debug/drawable-anydpi-v21/ic_launcher_background.xml , 5776
app/build/generated/res/pngs/debug/drawable-hdpi/ic_launcher_background.png , 730
app/build/generated/res/pngs/debug/drawable-ldpi/ic_launcher_background.png , 331
app/build/generated/res/pngs/debug/drawable-mdpi/ic_launcher_background.png , 407
app/build/generated/res/pngs/debug/drawable-xhdpi/ic_launcher_background.png , 1320
app/build/generated/res/pngs/debug/drawable-xxhdpi/ic_launcher_background.png , 3254
app/build/generated/res/pngs/debug/drawable-xxxhdpi/ic_launcher_background.png , 4380
app/build/generated/source/buildConfig/debug/edu/hfuu/webforecast/BuildConfig.java , 447
app/build/generated/source/r/debug/android/arch/lifecycle/R.java , 252
app/build/generated/source/r/debug/android/support/compat/R.java , 7739
app/build/generated/source/r/debug/android/support/constraint/R.java , 19029
app/build/generated/source/r/debug/android/support/coreui/R.java , 7739
app/build/generated/source/r/debug/android/support/coreutils/R.java , 7742
app/build/generated/source/r/debug/android/support/fragment/R.java , 7741
app/build/generated/source/r/debug/android/support/graphics/drawable/R.java , 7750
app/build/generated/source/r/debug/android/support/graphics/drawable/animated/R.java , 7759
app/build/generated/source/r/debug/android/support/mediacompat/R.java , 9594
app/build/generated/source/r/debug/android/support/v4/R.java , 9585
app/build/generated/source/r/debug/android/support/v7/appcompat/R.java , 116815
app/build/generated/source/r/debug/edu/hfuu/webforecast/R.java , 584062
app/build/intermediates/blame/res/debug/multi-v2/debug.json , 150526
app/build/intermediates/blame/res/debug/multi-v2/values-af.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-am.json , 1095
app/build/intermediates/blame/res/debug/multi-v2/values-ar.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-az.json , 1079
app/build/intermediates/blame/res/debug/multi-v2/values-b+sr+Latn.json , 1128
app/build/intermediates/blame/res/debug/multi-v2/values-be.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-bg.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-bn.json , 1103
app/build/intermediates/blame/res/debug/multi-v2/values-bs.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-ca.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-cs.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-da.json , 1097
app/build/intermediates/blame/res/debug/multi-v2/values-de.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-el.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-en-rAU.json , 1113
app/build/intermediates/blame/res/debug/multi-v2/values-en-rGB.json , 1113
app/build/intermediates/blame/res/debug/multi-v2/values-en-rIN.json , 1113
app/build/intermediates/blame/res/debug/multi-v2/values-es-rUS.json , 1117
app/build/intermediates/blame/res/debug/multi-v2/values-es.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-et.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-eu.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-fa.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-fi.json , 1097
app/build/intermediates/blame/res/debug/multi-v2/values-fr-rCA.json , 1118
app/build/intermediates/blame/res/debug/multi-v2/values-fr.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-gl.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-gu.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-h720dp-v13.json , 781
app/build/intermediates/blame/res/debug/multi-v2/values-hdpi-v4.json , 810
app/build/intermediates/blame/res/debug/multi-v2/values-hi.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-hr.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-hu.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-hy.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-in.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-is.json , 1096
app/build/intermediates/blame/res/debug/multi-v2/values-it.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-iw.json , 1096
app/build/intermediates/blame/res/debug/multi-v2/values-ja.json , 1093
app/build/intermediates/blame/res/debug/multi-v2/values-ka.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-kk.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-km.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-kn.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-ko.json , 1091
app/build/intermediates/blame/res/debug/multi-v2/values-ky.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-land.json , 802
app/build/intermediates/blame/res/debug/multi-v2/values-large-v4.json , 896
app/build/intermediates/blame/res/debug/multi-v2/values-ldltr-v21.json , 778
app/build/intermediates/blame/res/debug/multi-v2/values-lo.json , 1097
app/build/intermediates/blame/res/debug/multi-v2/values-lt.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-lv.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-mk.json , 1062
app/build/intermediates/blame/res/debug/multi-v2/values-ml.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-mn.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-mr.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-ms.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-my.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-nb.json , 1095
app/build/intermediates/blame/res/debug/multi-v2/values-ne.json , 1103
app/build/intermediates/blame/res/debug/multi-v2/values-night-v8.json , 865
app/build/intermediates/blame/res/debug/multi-v2/values-nl.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-pa.json , 1097
app/build/intermediates/blame/res/debug/multi-v2/values-pl.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-port.json , 757
app/build/intermediates/blame/res/debug/multi-v2/values-pt-rBR.json , 1118
app/build/intermediates/blame/res/debug/multi-v2/values-pt-rPT.json , 1118
app/build/intermediates/blame/res/debug/multi-v2/values-pt.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-ro.json , 1102
app/build/intermediates/blame/res/debug/multi-v2/values-ru.json , 1101
app/build/intermediates/blame/res/debug/multi-v2/values-si.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-sk.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-sl.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-sq.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-sr.json , 1100
app/build/intermediates/blame/res/debug/multi-v2/values-sv.json , 1099
app/build/intermediates/blame/res/debug/multi-v2/values-sw.json , 1098
app/build/intermediates/blame/res/debug/multi-v2/values-sw600dp-v13.json , 890
app/build/intermediates/blame/res/debug/multi-v2/values-ta.json , 1101
最多只能显示150条信息!
