GaoYuCan / SimpleNews

安大通Android招新题目

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SimpleNews

安大通Android招新题目

说明


  1. 此测试题请在2021年技术部招新面试前提交,最终录用结果会在面试之后结合测试题进行综合评定。测试题的完成情况不会决定是否进入面试阶段。
  2. 使用Java,Kotlin或Flutter。
  3. 由于测试题是通过github公有项目的方式提交的,所以第一题git是必做题。其他题目量力而行即可
  4. 对于刚入门的新手来说,这些道题目可能信息量有点大,但这些题目已经涵盖了安卓开发过程中的大部分内容,只不过都比较浅显,成为一个大佬要做的就是以后不断的打磨,深入学习这些内容。所以并不要被这么多陌生的题目吓到,我们不会对这部分测试题有过高的要求。可能并不是每位努力解决这些题目的同学都能够顺利地加入安大通,但如果能让你对安卓开发有一个大致的了解甚至让你对安卓开发打起兴趣,那也是我们的荣幸。
  5. 加分项并不是必需项!如果你没有完成加分项的内容,不要气馁,加分项涉及的内容可在日后的开发中慢慢了解。
  6. 软件效果不需要和示例效果一模一样,仅需要完成题目考察的内容即可。

一、git


介绍

git是一个版本控制和多人协同开发工具,是每一个程序员都必会的技能。

在本次测试题中,最终的完成内容需要你都使用git工具以及github网站进行提交。

要求

  1. 在电脑上安装git
  2. 注册github网站账号
  3. 在github中创建一个个人的公共项目(public project),命名为AHU-2021-<姓名拼音>,最终将所有需要提交的内容添加到此项目中,并将项目链接发给我(QQ468766131)就好啦。

注意事项

  1. github上新建的项目要选择类型为public,否则我们是看不到的。
  2. 项目管理要规范,包括要注意文件夹的命名以及文件的分类。
  3. 提交到gitlab或gitee均可。

二、编程


介绍

写个简单的新闻展示软件吧

要求

  1. 从 github 上 clone 模版项目 (https://github.com/GaoYuCan/SimpleNews), 模版中提供了本地数据源,data模块自行查看用法。

  2. 使用列表控件展示我们提供的新闻数据

    效果图: Screenshot_1633161770.png

很简单吧~,下面是加分项:

  1. 代码风格良好,编程规范。
  2. 使用更强大的RecyclerView。
  3. 展示json中的图片。

Screenshot_1633163084.png

注意事项

  1. 请将我们提供的json放到assets文件夹内。
  2. 信息只需要展示json中key为title的内容。
  3. 添加一些注释,简单讲解下你的代码。

三、改进1

介绍

将刚刚写的新闻展示软件进行改进,使其支持点击查看详细的信息内容

要求

点击新闻,跳转到新的界面,并打开使用Webview加载展示内容,也可以利用爬虫实现本地版 Screenshot_1633165460.png 加分项:

  1. 代码风格良好,编程规范。
  2. 跳转页面时加入动画。
  3. WebView加载动画
  4. Webview与Java交互(例如为去除Html中的标题栏,改为原生标题栏并添加返回功能)

Screenshot_1633166370.png

四、改进2

介绍

将刚刚写的信息展示页面再次进行改进,使其支持分享操作 Screenshot_1633167132.png

Screenshot_1633167134.png

要求

在展示信息详细页面,添加分享按钮,点击分享按钮,分享url 加分项:

  1. 代码风格良好,编程规范。
  2. 本地储存每个文章的分享次数。

五、改进3


介绍

不再使用本地的json,改为从网络获取信息

要求

使用网络请求访问以下接口,并使用列表对结果进行展示

GET http://39.106.7.220/getNews.php
Response:
Content-Type: application/json

[
	{
  	"url": "详情地址链接",
    "title" : "新闻标题",
    "imgUrl": "新闻封面"
  },
]

加分项:

  1. 代码风格良好,编程规范。
  2. 支持更改信息获取途径(本地数据和网络数据)。

About

安大通Android招新题目

License:Apache License 2.0


Languages

Language:Java 100.0%