课堂练习-移动端疫情展示

题目要求:

要求开发一款移动端的全世界疫情实时查询系统。
要求将前两周的项目合并为一个完整的项目。
采用统一的数据库。(建议MySQL数据库)
实现从数据采集、数据存储、数据查询(WEB端和移动端)一体全世界实时疫情查询系统。
以本机数据库为服务器端,web端和移动端连接远程数据库实现数据共享,要求数据库表格式统一化。
查询显示当前最新时间的数据,可以查询任一时间任一地点的数据。该系统要求在服务器端发布,可以通过IP地址访问。

这是我们这一周的课堂任务,一开始看到这个题目时,我感到非常的无力,不知道从何处下手,要做一个app,但是如何从android中获取爬到的数据是一个疑问?

1.首先,先获取数据,我先是通过python爬虫获取全球的疫情情况,并保存在Mysql数据库中,代码见上篇博客,就不在此处添加了。

2.数据获取,现在我还没有云服务器,只能怪通过tomcat进行发布,编写java代码,通过selvlet和数据库操作代码获取数据,并发布在Tomcat上

 下面是Selvlet的代码:(数据库代码此处省略)

 1 package yiqing;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 import java.util.ArrayList;
 6 
 7 import javax.servlet.ServletException;
 8 import javax.servlet.annotation.WebServlet;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 
13 import DBUtil.dbutil;
14 
15 /**
16  * Servlet implementation class Selvlet
17  */
18 @WebServlet("/Selvlet")
19 public class Selvlet extends HttpServlet {
20     private static final long serialVersionUID = 1L;
21        
22     /**
23      * @see HttpServlet#HttpServlet()
24      */
25     public Selvlet() {
26         super();
27         // TODO Auto-generated constructor stub
28     }
29 
30     /**
31      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
32      */
33     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
34         // TODO Auto-generated method stub
35         response.setContentType("text/html;charset=utf-8");
36         request.setCharacterEncoding("utf-8");
37         response.setCharacterEncoding("utf-8");
38         PrintWriter outPrintWriter =response.getWriter();
39         String date= request.getParameter("date");
40         //String date="2020-03-20";
41         System.out.println(date);
42         ArrayList<String> list=new ArrayList<>();
43         list=dbutil.search(date);
44         System.out.println(list);
45         outPrintWriter.write(list.toString());
46         outPrintWriter.flush();
47         outPrintWriter.close();
48     }
49 
50     /**
51      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
52      */
53     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
54         // TODO Auto-generated method stub
55         doGet(request, response);
56     }
57 
58 }

第三步,也是最重要的一步,在android中就进行http访问,刚刚发布的地址,来获取疫情数据,

代码参考:https://www.jianshu.com/p/5eee1ef02700

大家在获取到数据后可对其进行换分操作,存放到ListView里面,方便查看

下面是我的完成结果截屏,可供大家参考:

                             

 本次任务的PSP表格:

猜你喜欢

转载自www.cnblogs.com/zwx655/p/12541597.html