zoukankan      html  css  js  c++  java
  • 移动端疫情展示

    利用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

  • 相关阅读:
    Django基础
    Web框架
    JQuery
    16 Javascript
    axios+qs传值序列化时出现数组形式我们该如何修改呢?
    MyBatis 对象中含有对象的查询
    MyBatis 新增获取自增主键的小坑
    List、Set、Map
    事务的隔离级别
    mybatis配置中文参考文档
  • 原文地址:https://www.cnblogs.com/chenaiiu/p/13082397.html
Copyright © 2011-2022 走看看