全球疫情爬取-移动端:

一、项目要求:

Android移动端数据显示——世界疫情统计和查询

二、 项目思路:

1.准备数据:使用pythone将数据存放到mysql中

2.将android连接数据库mysql,通过导包和更改自己的ip地址

3.进行信息读取,查询,移动端app显示

三、导包:

1.在main目录下新建文件夹libs,将自己的jar包复制进入,然后右键选择 Add As Library 进行导入;

Android移动端数据显示——世界疫情统计和查询

四、 项目结构:

Android移动端数据显示——世界疫情统计和查询

五、相关源码:

DBOpenHelper.java:

package com.example.myapplication;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class DBOpenHelper {
    private static String driver = "com.mysql.jdbc.Driver";
    private static String url = "jdbc:mysql://192.168.1.107:3306/database?characterEncoding=utf-8";
    private static String user = "root";//用户名
    private static String password = "20000604";//密码

    public static Connection getConn(){
        Connection conn = null;
        try {
            Class.forName(driver);
            conn = (Connection) DriverManager.getConnection(url,user,password);//获取连接
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    public static List<WorldData>  searchDataByCountry(String condition,String country_name){
        List<WorldData> list = new ArrayList<>();
        Connection connection = getConn();
        String sql = "";
        //System.out.println(condition);
        if(condition.equals("时间")){
            sql = "select * from worlddata where lastupdateTime like ?";
        }
       if(condition.equals("国家")){
            sql = "select * from worlddata where countryname like ?";
        }
        System.out.println(country_name);
        if(connection !=null){
            try {
                PreparedStatement ps = connection.prepareStatement(sql);
                if(ps!=null){
                    ps.setString(1,"%"+country_name+"%");
                    ResultSet rs = ps.executeQuery();
                    if(rs!=null){
                        while(rs.next()){
                            WorldData worldData = new WorldData();
                            worldData.setId(rs.getInt("id"));
                            worldData.setCountryname(rs.getString("countryname"));
                            worldData.setConfirmed(rs.getString("confirmed"));
                            worldData.setSuspected(rs.getString("suspected"));
                            worldData.setDead(rs.getString("dead"));
                            worldData.setHealed(rs.getString("healed"));
                            worldData.setLastupdateTime(rs.getString("lastupdateTime"));
                            list.add(worldData);
                        }
                        connection.close();
                        ps.close();
                        return list;
                    }else{
                        return null;
                    }
                }else{
                    return null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
                return null;
            }
        }else{
            return null;
        }

    }
}
View Code

相关文章: