安卓新闻客户端

发布于 2020-11-26  656 次阅读




安卓新闻客户端

特别说明:本安卓使用版本较高,因为是课设仓促完成的,现在还有些许BUG,目前还在维护和更新ing~
完整代码GitHub自行下载导入

GitHub仓库:点击此处
实训报告:点击此处

主界面图


主界面图

一、需求分析

  1. 要求实现体育、财经、娱乐、科技等多个新闻版块(或者自定义),并可以自由通过导航菜单切换。
  2. 对每条新闻可以打开,进行阅读详细信息,包含丰富的图片和文字。
  3. 对每条新闻可以进行点赞和评论。
  4. 新闻数据: 如果动手能力较强,可以尝试自己动手用 PHP、JSP 等搭后台,利用Android 网络编程,或者通过网络爬虫,爬取相关的新闻素材。

二、实验目的:

  1. 掌握 Android 中的菜单及导航框架。
  2. 掌握自定义布局。
  3. 掌握 Android 中的数据存储。
  4. 掌握模块化编程。
  5. 掌握网络编程。

三、总体设计:

1.系统需求分析
       通过Android Studio软件尝试搭建出一个简易的新闻客户端,用户可以通过该客户端实时的查看新闻,并且有多个新闻板块可供用户选择。

2.系统功能分析
该新闻客户端需要完成的功能模块主要有:

  • ·广告界面:刚打开APP会显示广告。
  • ·登录界面:支持账号、密码登录注册,并且信息存储在SQLite数据库中。
  • ·首页:新闻界面,开始加载进入会显示社会新闻一栏。
  • ·侧边栏:有用户头像、信息以及各个板块新闻可供用户进行跳转。
  • ·头像:可使用拍照或相册文件自动更换头像。

3.项目介绍及基本原理
       总体项目搭建简单,实现了实时新闻同步查看,加载页使用了延迟跳转开始进入app时会先展示一段时间的广告页面(用于招商)。登录页主要使用了LinearLayout布局,由TextView、EditText等组成了登录界面,用户首先进行注册后才可以进行登录。首页使用DrawerLayout布局,侧边栏通过相对布局将头像、ListView进行摆放,新闻主页通过帧布局使其置于侧边栏之下,并且可以进行拉取。新闻的展示则通过自己爬取并转换成json包存入自己的服务器中,APP通过读取服务器指定json文件获取新闻列表,并且通过谷歌提供的Gson库将一个 json 字符串转成一个 Java 对象通过列表、适配器将数据展示出来,用户点击各个新闻通过view跳到网络的新闻网址查看新闻。头像更换使用安卓自带权限和插件进行自动更换。

4.设计步骤

  1. 设计加载页界面样式(广告),完成对应活动的注册和java代码的绑定。
  2. 设计登录页界面样式,创建数据库并连接,完成相应的SQLite代码编写与java代码的调用。
  3. 设计编写主页界面、侧边栏样式、导航栏样式。
  4. 爬取相应网站新闻内容,并封装成json包并挂入服务器中。
  5. Android studio中导入Gson解析包。
  6. 编写Gson解析代码并解析服务器中的json包,将数据传入View中显示。
  7. 设计对应java代码的点击事件,完成点击不同的列表选项展示不同的新闻板块。
  8. 设置Dialog,当点击头像时,显示列表(拍照、从手机相册选择、取消)。
  9. 设计从手机相册中选择图片并更换头像,编写对应java类,注册Android相应权限。
  10. 设计拍照并更换头像,编写对应java类,注册Android相应权限。

四、详细设计:

1、数据流程图
 
                          在这里插入图片描述


数据流程图

2、数据库概念结构设计
            在这里插入图片描述


用户数据表图


在这里插入图片描述




代码图

数据表:username为账号,password为密码。

3、爬取数据,存储服务器
                在这里插入图片描述
       将爬取的数据用json封包后,装入服务器中,每次APP直接读取服务器中的json包,解析后即可展示新闻。
                     在这里插入图片描述


服务器文件图


在这里插入图片描述




Json格式图


在这里插入图片描述




服务器调取代码


五、界面展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述