全球疫情爬取-移动端:
一、项目要求:
二、 项目思路:
1.准备数据:使用pythone将数据存放到mysql中
2.将android连接数据库mysql,通过导包和更改自己的ip地址
3.进行信息读取,查询,移动端app显示
三、导包:
1.在main目录下新建文件夹libs,将自己的jar包复制进入,然后右键选择 Add As Library 进行导入;
四、 项目结构:
五、相关源码:
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; } } }