极光推送接收不到消息

第三方系统收不到推送的消息 由于第三方 ROM 的管理软件需要用户手动操作

  • 小米【 MIUI 】 自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启 通知栏设置:应用默认都是显示通知栏通知,如果关闭,则收到通知也不会提示 网络助手:可以手动禁止已安装的第三方程序访问 2G/3G 和 WIFI 的网络和设置以后新安装程序是否允许访问 2G/3G 和 WIFI 的网络 MIUI 7 神隐模式: 允许应用进行自定义配置模式,应用在后台保持联网可用,否则应用进入后台时,应用无法正常接收消息。【设置】下电量和性能中【神隐模式】

  • 华为【 Emotion 】 自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程不会开启,只能手动开启应用 后台应用保护:需要手动把应用加到此列表,否则设备进入睡眠后会自动杀掉应用进程,只有手动开启应用才能恢复运行 通知管理:应用状态有三种:提示、允许、禁止。禁止应用则通知栏不会有任何提醒

  • 魅族【 Flyme 】 自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启 通知栏推送:关闭应用通知则收到消息不会有任何展示 省电管理: 安全中心里设置省电模式,在【待机耗电管理】中允许应用待机时,保持允许,否则手机休眠或者应用闲置一段时间,无法正常接收消息。

  • VIVO【 Funtouch OS 】 内存一键清理:需要将应用加入【白名单】列表,否则系统自带的“一键加速”,会杀掉进程 自启动管理:需要将应用加入 “i 管家”中的【自启动管理】列表,否则重启手机后进程不会自启。但强制手动杀进程,即使加了这个列表中,后续进程也无法自启动。

Read More

AS3.0Gradle引用变化

从AS3.0开始类库依赖出现了四种新语法如下: 新语法 旧语法 功能 支持类型 隔离效果
implementation compile 编译期间对其他宿主不可见,运行期间可见 jar,arr 对其他宿主可见
api compile 编译和运行期间都可见 jar,arr 不隔离
compileOnly provided 编译期间可见,运行期间不可见 jar 不隔离
runtimeOnly provided 编译期间不可见,运行期间可见 jar,arr 编译期间隔离

不要在foreach循环里进行元素的remove,add操作

不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。

  • 正确方法:

    List list = new ArrayList<>();
    list.add(“1”);
    list.add(“2”);
    Iterator iterator = list.iterator();

Read More

重构-改善既有代码的设计(一)

这篇文章是我对于《重构-改善既有代码的设计》一书的记录。

缘由

我们经常会遇到需要对之前的功能进行修改的局面,当我们重新阅读之前的代码的时候,可能会有这样的感受:“我当时到底是怎么想的啊,我根本看不懂了啊,要怎么加功能呢?写的和*一样”。如果你有这种想法的话,就说明你需要对之前的代码进行重构了。

概念

重构 是在不影响业务的外在表现的时候对代码进行修改和优化的行为。

Read More

Android8适配指南

Android 8.0适配指南

转载自“鸿洋公众号”

适配是个循序渐进的事情,不要想着一步到位。所以如果你还没有适配6.0或7.0可以先看看我之前的两篇了解一下。

准备工作

将我们项目中的targetSdkVersion改为 26(8.0) 或者 27(8.1),记住不要超过27,毕竟我还没有告诉你Android
P怎么适配(滑稽)。

Read More

lover

/* 您可以在此处加入您的CSS。 点击上方的帮助图标来了解更多。 */

TabLayout 使用入门

介绍

TabLayout是Google官方设计的一个分类UI,效果类似如下:
TabLayout
通常,我们会和ViewPager一起配合使用,实现滑动ViewPager,上面的分类也会跟着切换的效果。

ViewPager设置

使用ViewPager之前,需要设置Adapter,推荐使用FragmentStatePagerAdapter或者FragmentPagerAdapter。TabLayout会根据ViewPager的页数显示Tab,默认的Tab是一个文本view,里面的文字需要通过实现Adapter的getPageTitle(int position)方法来自动生成。 TabLayout绑定ViewPager,只需要调用一个方法即可:

Read More

Lets Encrypt 使用

Lets Encrypt

Lets Encrypt是一个免费的Https签发服务。

acme.sh

acme.sh是一个方便Lets Encrypt生成签证的脚本,可以非常方便的使用。

安装acme.sh

Read More

Eloquent in SlimPHP

环境安装

在项目目录里面执行 composer require illuminate/database "~5.1"

配置数据库

在settings的文件里面添加数据库的配置信息,主要是“db=>”对应的内容。

Read More

备忘录模式

缘由

今天在看关于设计模式的文章的时候,偶然看到一个叫做“ 备忘录模式 ”的设计模式,感觉名字甚是有趣,便研究了一番。

开始学习

备忘录模式,顾名思义就是可以向备忘录一样支持记录过程并且可以查看到每一步的状态的一种设计模式。最常见的使用是一些美图软件里面,需要对图片处理的过程进行记录,用户可以回退到上一步,也可以前进到最新的一步。下面是类图:
类图

  • Originator 原发器:动作的发起者,负责创建一个备忘录来记录当前对象的内部状态,并可使用备忘录恢复内部状态。
Read More
Search by:GoogleBingBaidu