• 序列化xml文件实例——天气预报


    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivityForecast" >
    <Button
    android:id="@+id/btn_xlh"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/btn_watch"
    android:layout_alignParentTop="true"
    android:layout_marginTop="60dp"
    android:text="序列化xml文件" />
    <Button
    android:id="@+id/btn_watch"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/btn_xlh"
    android:layout_centerVertical="true"
    android:text="安阳天气如何"/>

    </RelativeLayout>
    <------------------------------------------------------------------------------------------------------------------>
    <?xml version="1.0" encoding="utf-8"?>
    <city>
    <name>安阳</name>
    <weather>晴天</weather>
    <temp>27℃</temp>
    <info>天气凉爽适宜出行</info>
    </city>
    <------------------------------------------------------------------------------------------------------------------->
    package cn.itcast.weatherForecast;

    import java.io.InputStream;
    import org.xmlpull.v1.XmlPullParser;

    import cn.itcast.weatherForecast.bean.WeatherBean;
    import android.app.Activity;
    import android.content.res.AssetManager;
    import android.os.Bundle;
    import android.util.Xml;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;

    public class MainActivityForecast extends Activity {
    private Button btn_xlh;
    private Button btn_watch;
    private boolean flag=false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_activity_forecast);
    btn_xlh=(Button)findViewById(R.id.btn_xlh);
    btn_xlh=(Button)findViewById(R.id.btn_watch);
    btn_xlh.setOnClickListener(new MyOnClickListener());
    btn_watch.setOnClickListener(new MyOnClickListener());
    }
    private class MyOnClickListener implements OnClickListener{
    private WeatherBean wb = new WeatherBean();
    @Override
    public void onClick(View view) {
    switch(view.getId()){
    case R.id.btn_xlh:
    flag=true;
    AssetManager am = MainActivityForecast.this.getAssets();
    try {
    InputStream is = am.open("weatherForecast.xml");
    XmlPullParser parser = Xml.newPullParser();
    parser.setInput(is, "utf-8");
    int type = parser.getEventType();
    while(type!=XmlPullParser.END_DOCUMENT){
    if(type==XmlPullParser.START_TAG){
    if(parser.getName().equals("name")){
    wb.setName(parser.nextText());
    }else if(parser.getName().equals("weather")){
    wb.setWeather(parser.nextText());
    }else if(parser.getName().equals("temp")){
    wb.setTemp(parser.nextText());
    }else if(parser.getName().equals("info")){
    wb.setInfo(parser.nextText());
    }
    }
    type=parser.next();
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    break;
    case R.id.btn_watch:
    if(flag){
    Toast.makeText(MainActivityForecast.this, wb.toString(), 1).show();
    }else{
    Toast.makeText(MainActivityForecast.this, "未进行序列化,无法查看天气", 1).show();
    }
    break;
    }
    }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main_activity_forecast, menu);
    return true;
    }

    }

    <------------------------------------------------------------------------------------------------------------------->
    package cn.itcast.weatherForecast.bean;

    public class WeatherBean {
    private String name;
    private String weather;
    private String temp;
    private String info;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getWeather() {
    return weather;
    }
    public void setWeather(String weather) {
    this.weather = weather;
    }
    public String getTemp() {
    return temp;
    }
    public void setTemp(String temp) {
    this.temp = temp;
    }
    public String getInfo() {
    return info;
    }
    public void setInfo(String info) {
    this.info = info;
    }
    @Override
    public String toString() {
    return "天气情况: [name=" + name + ", weather=" + weather + ", temp="
    + temp + ", info=" + info + "]";
    }
    }

    <------------------------------------------------------------------------------------------------------------------->
    <------------------------------------------------------------------------------------------------------------------->

  • 相关阅读:
    Qt ‘/‘和‘\‘转化的方式
    Qt 快速转换路径(/斜杠与\反斜杠转换)
    Qt 网络编程:QNetworkAccessManager
    excel vba 单元格内部关键字突出显示改变颜色
    casbin 学习笔记【1】
    Linux
    AJAX
    Spring
    MyBatis
    Oracle查看表空间使用情况
  • 原文地址:https://www.cnblogs.com/jxtcnblogs/p/5857730.html
Copyright © 2020-2023  润新知