ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

安卓新闻客户端

2020-11-27 13:00:31  阅读:208  来源: 互联网

标签:界面 新闻 安卓 头像 json 服务器 Android 客户端


安卓新闻客户端

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

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格式图
在这里插入图片描述
服务器调取代码

五、界面展示

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

标签:界面,新闻,安卓,头像,json,服务器,Android,客户端
来源: https://blog.csdn.net/u012310622/article/details/110227178

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有