本文翻译自 Android Kotlin Guides 的 Interop Guide,翻译项目地址为:https://github.com/msdx/kotlin-guides-cn ,欢迎关注及校正。
这是一组关于使用 Java 和 Kotlin 语言编写公共 API 的规则,目的是让代码在其他语言使用时也会感到习惯。
更新于:2018-05-18
more >>本文翻译自 Android Kotlin Guides 的 Interop Guide,翻译项目地址为:https://github.com/msdx/kotlin-guides-cn ,欢迎关注及校正。
这是一组关于使用 Java 和 Kotlin 语言编写公共 API 的规则,目的是让代码在其他语言使用时也会感到习惯。
更新于:2018-05-18
more >>本文翻译自 Android Kotlin Guides 的 Style Guide,翻译项目地址为:https://github.com/msdx/kotlin-guides-cn ,欢迎关注及校正。
本文档是 Google Android 编码标准的 Kotlin 代码标准。当且仅当一个 Kotlin 源文件符合这里的规则时,我们就称其为 Google Android 代码风格的源文件。
与其他的编程风格指南一样,这里所涉及的问题不仅包括格式化的美观问题,也涉及了其他的约定及编码标准。但是,本文档主要关注我们普遍遵循的硬性规定,并避免给出不明确可执行(无论是通过人工还是工具)的建议。
更新于:2018-05-18
more >>一直难以忍受在做 Code Review 时,Phabricator 无法对 kotlin 代码进行高亮显示,直到今天项目的阶段性开发终于告一段落进入测试,于是着手处理该问题。
Phabricator 对语法高亮有两种支持方式,一种是其自带的高亮,还是一种是对 pygments 的集成。在 Phabricator 的设置界面上提到,如果想支持更多种语言的语法高亮,可以启用 pygments,于是我就配置为使用 pygments。
more >>我在做的一个项目需要有换肤功能,换肤的方案是采用第三方库 ThemeSkinning 的实现(在其基础上修复若干 bug)。皮肤的制作是把相关的资源放在一个 app module 中打包成 apk,当然资源的命名要和原有项目中的命名一致。目前的皮肤加载方式,是把皮肤包放到 assets 中去加载。这是背景一。
背景二,这个项目是我所接手过来的。虽然表面上是使用了皮肤加载库,但是项目中还有大量遗留的没有使用皮肤库的写死的代码,都是判断当前主题是哪一个,然后返回默认资源或者是指定皮肤的资源。这些代码都类似如下:
我是在元旦之时意识到发生在我身上的这个严峻的问题的。
那时跟我家橙子及她朋友们一赶快到佛山玩几天,最后一天是回到广州去了一个地方摘草莓。当时我和小橙子一组,他们一对一组,摘了一会儿我就停下来了。
我望着面前一排排田垄,不禁停下来思考一个问题:我站在一条沟槽中,可以摘两边也就是两排的草莓;把这个草莓园视为一个二维数组,每个元素上都可能会有我们想摘的草莓,那么摘完所有的草莓其实就是把这个二维数组遍历一遍。而实际上,我们不是果农,我们也不会摘下所有成熟的草莓,我们可能只是摘个两三斤就满足了,所以问题是如何以最短的路径遍历尽可能多的元素。说到这里,那么答案也很简单,“之”字形走一遍就好了。但其实条件不仅仅是这样,我们要考虑最优解,也就是尽可能地优化这个结果,那么就得考虑到我们目标完成之后所处的位置应离出口尽可能的近。
本文记录的是今天在群里提到的昨天所踩的一个坑,有关 AndroidStudio 缓存的。
先说一下背景。
我负责的一个项目,对一个图表库有外部依赖。这个图表库是我在维护的,由于新功能在开发中,所以我就使用了 SNAPSHOT 版本发布到 OJO(oss.jfrog.org) 上。我在项目中刚更新了依赖,忽然想到还少几个 API,于是发布了 SNAPSHOT 版本。
故事就这样开始了。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true