本报告展示安卓最终大项目的全部界面并介绍实现功能及部分技术细节。
项目特色 项目采用Kotlin语言及MVVM的模式进行开发
PS: 该部分以功能设计介绍为主,部分任务需求的实现说明请看四、部分需求实现说明
。
-
我们的登录界面实现了第三方登录,图中展示了微信、QQ、微博的登录选择,但实际上我们只实现了QQ第三方登录的功能。
-
输入密码时,如果密码输入格式不符合要求(不到5个字符),会有警告提示。
-
当密码符合要求时,用户点击登录按钮,所输入数据将与数据库中的数据进行匹配,如果成功匹配,则跳转至主页,如果无法成功匹配,则登录失败,在本项目中,当需要请求网络资源时,采用模拟模态对话框的方式禁止用户在长时间加载数据时点击界面造成假死现象。
如下图所示:
-
主页主要由四部分构成:
- 顶端放置搜索栏,匹配字段对英文文章进行搜索。
- 第二部分放置四个按键,用以跳转至不同功能。
- 第三部分放置英文文章列表,此处使用RecycleView实现。点击文章跳转至文章阅读页面。
- 底端放置导航栏
-
导航栏中首页、签到、我的事实上是三个Fragment,三者在主Activity中切换显示。
-
底部按键用以选择用户记忆程度
-
”认识“代表用户熟知,初次点击点击后该日不会重复出现该单词。
-
“模糊”代表用户记忆不牢固,初次点击后本单词将重复出现3次。
-
“不认识”即为字面意思,初次点击后单词将重复出现5次。
-
- 文章底部评论、点赞、收藏、调整字体功能及动画均已实现。
- 某某功能之简介
public class SpUtil {
static SharedPreferences prefs;
public static void init(Context context) {
prefs = PreferenceManager.getDefaultSharedPreferences(context);
}
/**
* 获取登录状态
* @param key
* @return
*/
public static boolean getBoolean(String key) {
return prefs.getBoolean(key, false);
}
/**
* 设置登录状态
* @param key
* @param data
*/
public static void setBoolean(String key, boolean data) {
prefs.edit().putBoolean(key, data).apply();
}
}