人升开发日志#9 | 8/30 数据库+数据填充

使用了Litepal作为数据库ORM框架,还有BRAVH来简化RecyclerView的适配器的写法。

这里记录下开发途中遇到的坑。

创建自己的Application类

因为LitePal和MobSDK都需要对Application进行修改,所以最好实现自己的Application:

1
2
3
4
5
6
7
8
9
10
11
import android.app.Application
import com.mob.MobSDK
import org.litepal.LitePal

class LifeUpApplication : Application() {
override fun onCreate() {
super.onCreate()
MobSDK.init(this)
LitePal.initialize(this);
}
}
阅读更多

人升开发日志#6 | 6/19 Launch Screen

当我们打开 app 的时候,可能会出现一段短暂的白屏或者黑屏界面,这个界面就是 Launch Screen

Launch Screen是为了优化用户体验而存在的,一点击就出现一个界面,让用户有流畅的感觉。

然而,如果只是纯色的白或者黑,就有点丑了。

一般的做法是放logo以及标语。

Launch Screen 实际上是一种 Theme。

**所以我们可以用修改Theme的方式来自定义我们的Launch Screen

我们实现的只显示logo的Launch Screen(可能会修改):

阅读更多

人升开发日志#5 | 6/17 布局复用

我们之前做引导页的时候,是一个页面一个xml布局文件。

这些布局文件其实只有些许不同,只是加载的动画不同、TextView显示的文本不同,最后一页多了个按钮而已。

实际上,我们可以只用一个xml布局文件,然后在代码中实现各个页面的异化。

阅读更多

人升开发日志#4 | 6/11 多语言

当你在页面布局文件中写死字符串(Hardcoding string)的时候,编译器会报一个警告,让你用@string替代。

@string就是让程序在运行状态,再去找相应的资源文件,加载其中的字符串内容。

而 Android 会在不同的情况下加载不同的资源文件,这就是我们实现多语言的基础。

最终效果:

阅读更多

人升开发日志#3 | 6/8 自适应图标

将开发日志#1做的图标加入到应用中,但是 Android O 加入了一个叫做 Adaptive Icons 的特性,为了适配这个性质稍微有点麻烦。


设置AndroidManifest.xml

AndroidManifest.xml<application后面加上

1
2
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher"

icon 指的是普通图标

roundIcon 指的是圆形图标

阅读更多

人升开发日志#2 | 6/7 引导页

继续鸽需求文档,突然想要开始敲 Android 端的代码。

本文主要涉及到:

  • ViewPager + Fragment 组合使用
  • 沉浸式状态栏
  • 页面指示器框架
  • 使用 Lottie 框架显示动画
  • ViewPager 的简单优化
  • ViewPager 背景色渐变
  • Android Studio 录制手机屏幕

先发一下最终效果:

阅读更多

人升开发日志#1 | 6/1 APP 图标设计

名字由来

初想过的项目名是“升级人生”、“游戏人生”之类,就想到了以”人“字为原型设计 APP 图标。

仅有一个”人“字未免显得有些单调,于是乎想到”升“字,那么就把”人“字的两笔换成向上升的形态?

APP 图标就由此诞生了。

最终稿是这个样子的:

阅读更多

项目文档:舰C主题的QQ机器人( QQ Bot Kancolle)

项目主页:https://github.com/Ayagikei/Kancolle-QQ-Bot

这是基于 ScienJus/smartqq 制作的一个自用的,主题为 舰队Collection 机器人。


更新记录

2018/4/25 以栈的方式重写了TwitterGetter方法,现在可以获取一次更新的多条官推。

2018/4/22 现在以Maven的方式导入smartqq,重新设计了项目的包结构。

2018/4/21 增加复读功能(1%几率复读+重复了3次的语句自动复读),官推转发现在可以识别 Img 标签。

现有功能

  • 自动聊天回复。

    当收到特定消息的时候,机器人会从 3 句台词中自动选择 1 句进行回复。

  • 整点报时功能。

    每到整点的时候,机器人都会发送特定报时语音。

阅读更多