移动端疫情展示

利用Androidstudio开发疫情app

想法:通过javaweb获取MySQL数据库当中的数据,获取的数据用json传给App中显示

package com.example.cov_2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Type;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    Button select_btn;
    TextView response_tv;
    private static final String TAG = "MainActivity";
    EditText where_et;
    DatePicker datePicker;
    Spinner type_sp;
    private String result;
    String date;
    TextView show;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        select_btn = findViewById(R.id.bt_select);
        response_tv = findViewById(R.id.tv_show);
        where_et = findViewById(R.id.et_where);
        datePicker = findViewById(R.id.datepicker);
        type_sp = findViewById(R.id.sp_type);
        show = findViewById(R.id.tv_show);
        select_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        date = datePicker.getYear()+"-0"+(datePicker.getMonth()+1)+"-"+datePicker.getDayOfMonth();
                        Log.d(TAG, "onClick: "+date);
                        requestDate();
                    }
                }).start();

//                Log.d(TAG, "onClick: "+datePicker.getYear()+"  "+datePicker.getMonth()+"  "+datePicker.getDayOfMonth());
//                Log.d(TAG, "onClick: 1"+where_et.getText().toString());
//                Log.d(TAG, "onClick: "+type_sp.getSelectedItem().toString());

            }
        });
    }

    private void requestDate() {
        if (where_et.getText() != null) {
            try {
                String ul="";
                try {

                    if(type_sp.getSelectedItem().toString().equals("国家")){
                        ul = "/" + where_et.getText().toString() + "/" + date;
                    }else if (type_sp.getSelectedItem().toString().equals("省份")||type_sp.getSelectedItem().toString().equals("城市")){
                        ul = "" + where_et.getText().toString() + "/" + date;
                    }
//                    switch (where_et.getText().toString()) {
//                        case "国家":
//                            ul = "" + where_et.getText().toString() + "/" + date;
//                            break;
//                        case "省份":
//                        case "城市":
//                            ul = "" + where_et.getText().toString() + "/" + date;
//                            break;
//                        default:
//                            throw new IllegalStateException("Unexpected value: " + where_et.getText().toString());
//                    }
                    Log.d(TAG, "requestDate: *"+ul);
                    URL url = new URL(ul);
                    HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                    httpURLConnection.setConnectTimeout(30 * 1000);
                    httpURLConnection.setRequestMethod("GET");
                    httpURLConnection.setRequestProperty("Content-Type", "application/json");
                    httpURLConnection.setRequestProperty("Charset", "UTF-8");
                    httpURLConnection.setRequestProperty("Accept-Charset", "UTF-8");
                    httpURLConnection.connect();//发起连接
                    int responseCode = httpURLConnection.getResponseCode();
                    String responseMessage = httpURLConnection.getResponseMessage();

                    if (responseCode == HttpURLConnection.HTTP_OK) {
                        InputStream inputStream = httpURLConnection.getInputStream();
                        result = streamToString(inputStream);
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                List<bean> list = new ArrayList<bean>();
                                Gson gson = new Gson();
                                Type cityType = new TypeToken<ArrayList<bean>>() {
                                }.getType();

                                list = gson.fromJson(result, cityType);
                                String ziz = "";
                                for (bean yiqi : list) {
                                    ziz = yiqi.getName() + "
确诊:" + yiqi.getConfirm() + "
治愈:" + yiqi.getHeal() +
                                            "
死亡:" + yiqi.getDead() + "
";
                                    break;

                                }
                                show.setText(ziz);
                            }
                        });


                    }
                } catch (ProtocolException e) {
                    e.printStackTrace();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } finally {

            }
        }


    }




    public String streamToString(InputStream is) {
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len;
            while ((len = is.read(buffer)) != -1) {
                baos.write(buffer, 0, len);
            }
            baos.close();
            is.close();
            byte[] byteArray = baos.toByteArray();
            return new String(byteArray);
        } catch (Exception e) {
            Log.e(TAG, e.toString());
            return null;
        }
    }
}
MainActivity

原文地址:https://www.cnblogs.com/chenaiiu/p/13082397.html