安卓新闻客户端
特别说明:本安卓使用版本较高,因为是课设仓促完成的,现在还有些许BUG,目前还在维护和更新ing~
完整代码GitHub自行下载导入
GitHub仓库:点击此处
实训报告:点击此处
一、需求分析
- 要求实现体育、财经、娱乐、科技等多个新闻版块(或者自定义),并可以自由通过导航菜单切换。
- 对每条新闻可以打开,进行阅读详细信息,包含丰富的图片和文字。
- 对每条新闻可以进行点赞和评论。
- 新闻数据: 如果动手能力较强,可以尝试自己动手用 PHP、JSP 等搭后台,利用Android 网络编程,或者通过网络爬虫,爬取相关的新闻素材。
二、实验目的:
- 掌握 Android 中的菜单及导航框架。
- 掌握自定义布局。
- 掌握 Android 中的数据存储。
- 掌握模块化编程。
- 掌握网络编程。
三、总体设计:
1.系统需求分析
通过Android Studio软件尝试搭建出一个简易的新闻客户端,用户可以通过该客户端实时的查看新闻,并且有多个新闻板块可供用户选择。
2.系统功能分析
该新闻客户端需要完成的功能模块主要有:
- ·广告界面:刚打开APP会显示广告。
- ·登录界面:支持账号、密码登录注册,并且信息存储在SQLite数据库中。
- ·首页:新闻界面,开始加载进入会显示社会新闻一栏。
- ·侧边栏:有用户头像、信息以及各个板块新闻可供用户进行跳转。
- ·头像:可使用拍照或相册文件自动更换头像。
3.项目介绍及基本原理
总体项目搭建简单,实现了实时新闻同步查看,加载页使用了延迟跳转开始进入app时会先展示一段时间的广告页面(用于招商)。登录页主要使用了LinearLayout布局,由TextView、EditText等组成了登录界面,用户首先进行注册后才可以进行登录。首页使用DrawerLayout布局,侧边栏通过相对布局将头像、ListView进行摆放,新闻主页通过帧布局使其置于侧边栏之下,并且可以进行拉取。新闻的展示则通过自己爬取并转换成json包存入自己的服务器中,APP通过读取服务器指定json文件获取新闻列表,并且通过谷歌提供的Gson库将一个 json 字符串转成一个 Java 对象通过列表、适配器将数据展示出来,用户点击各个新闻通过view跳到网络的新闻网址查看新闻。头像更换使用安卓自带权限和插件进行自动更换。
4.设计步骤
- 设计加载页界面样式(广告),完成对应活动的注册和java代码的绑定。
- 设计登录页界面样式,创建数据库并连接,完成相应的SQLite代码编写与java代码的调用。
- 设计编写主页界面、侧边栏样式、导航栏样式。
- 爬取相应网站新闻内容,并封装成json包并挂入服务器中。
- Android studio中导入Gson解析包。
- 编写Gson解析代码并解析服务器中的json包,将数据传入View中显示。
- 设计对应java代码的点击事件,完成点击不同的列表选项展示不同的新闻板块。
- 设置Dialog,当点击头像时,显示列表(拍照、从手机相册选择、取消)。
- 设计从手机相册中选择图片并更换头像,编写对应java类,注册Android相应权限。
- 设计拍照并更换头像,编写对应java类,注册Android相应权限。
四、详细设计:
1、数据流程图
2、数据库概念结构设计
数据表:username为账号,password为密码。
3、爬取数据,存储服务器
将爬取的数据用json封包后,装入服务器中,每次APP直接读取服务器中的json包,解析后即可展示新闻。
五、界面展示