Kotlin中国 为您找到相关结果 109

如何为Android系统装上nodejs(华为 mate9)

参考链接 手机上也可以愉快地搞nodejs开发 今天接到一个需求,希望给安卓手机装上nodejs环境,其实一开始我是拒绝的,因为我并不安卓开发人员,对手机端系统并不熟悉,但是需求在这里,就看网上有没有现成的轮子吧 一开始,我百度的是 Android 运行 node , 网上的确有少量的教程, 但是既需要一定安卓基础, 又要熟悉安卓开发工具, 无奈忙活小半天,以失败告终。所以这次写这个文章特意带上Android关键字,让以后的人少走弯路 后来搜索 手机 node 关键字,一下就找到了 手机上也可以愉快地搞nodejs开发 这篇文章,很容易地就解决,在此表示感谢!大家直接去原文章去看其实就足够了,不过,毕竟写博文,我就再复述一下吧。 工具准备 安卓手机 (亲测 华为mate9 实机) Termu...阅读全文

博文 2017-12-15 10:02:50 BekeyChao

com.android.support冲突的解决办法

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes 当我们使用android studio添加一些第三方的依赖库时,很可能会提示上面这个错误。 大致意思就是com.android.support的包版本号要保持一致,但是可能我们自己新建的项目的com.android.support包版本号要高一些,一些第三方的库的com.android.support可能没有及时更新support库,就会出现这个错误。 解决方法(同样的适用于其他的依赖冲突。) 1)修改自己项目中的com.android.supp...阅读全文

博文 2017-10-30 12:01:37 yuzhiqiang_1993

Kotlin入门篇(六),list和map的使用

list的定义和使用 fun main(args: Array) { var nameList:MutableList = ArrayList() nameList.add("小明"); nameList.add("小红"); nameList.add("小刚"); for((index,name) in nameList.withIndex()){ println("下标:$index 名字: $name") } } list的定义和使用类似于Java的list使用,上述打印结果为: 下标:0 名字: 小明 下标:1 名字: 小红 下标:2 名字: 小刚 map的定义和使用 fun main(args: Array) { var map = ...阅读全文

博文 2017-08-19 16:03:54 chaychan

android thread Runnable

文链接: http://blog.csdn.net/boyupeng/article/details/6208072 这篇文章中有三点需要提前说明一下, 一: 在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二:Thread类代表线程类,它的两个最主要的方法是: run()——包含线程运行时所执行的代码 Start()——用于启动线程 三: Handler 机制,它是Runnable和Activity交互的桥梁,在run方法中发送Message,在Handler里,通过不同的Message执行不同的任务。 下面分别给出两种线程的实现方法,其一,扩展java.lang.Thread类,也就是把run()方...阅读全文

博文 2017-12-03 23:00:33 CZM-

手把手教你深度定制tiny4412安卓5.0系统(一)---开发板如何预置文件到android系统

想要预置文件,首先要了解Android源码中device这个目,打开这个目录我们看到,这个目录厂家会针对不同的开发板做一些修改:在这个目录中,我们看到有不同的厂家定制的信息,我们这款开发板是友善之壁提供的,那么我们只要进入friend-arm这个目录下就可以了,进到这个目录,看到tiny4412,我们切换进入看到:要预置相关的文件,前面有一篇文章专门讲过怎么预置,一般是在device.mk中进行,但是平台不同,供应商会整合到其它地方:文章如下,下面我们将参考这篇文章进行预置。http://blog.csdn.net/morixinguan/article/details/70170641我们打开当前的device.mk看下:$(call inherit-product, device/fri...阅读全文

博文 2017-06-18 22:01:35 morixinguan

【Spring Boot + Kotlin 实战教程】Spring Data JPA 多表关联查询 映射到 Dto 的方法

【Spring Boot + Kotlin 实战教程】Spring Data JPA 多表关联查询 映射到 Dto 的方法 TechArticle package com.ak47.cms.cms.entity import java.util.* import javax.persistence.* @Entity @Table(indexes = arrayOf( Index(name = "idx_url", unique = true, columnList = "url"))) open class TechArticle { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = -1 var ...阅读全文

博文 2017-12-01 22:04:37 东海陈光剑

android中双卡双待的那些代码

这阵子忙着整理项目了,所以就没怎么出新的文章了,不过下面写的这篇文章对大家很有帮助。关于双卡双待的信息获取,包含了imei、phonenumber、operatorName(sim卡生产商,国内就主要指三大运营商了)、NetworkType(这里就主要是4G、3G等了)。 前言: 睡着国内的双卡手机出现,导致获取双卡的信息也是成了一个头痛的事了。google给开发者暴露的api还是停留在单卡上,所以在这里我就整理出相关的代码,让更多的猿友少走弯路。 首先从phonenumber的获取着手吧,顺便带着大家一起去看下相关的源码,以前获取phonenumber我是这么获取的: ((TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SE...阅读全文

博文 2017-11-29 15:01:44 u010429219

Kotlin Android项目构建之网络请求618

前篇文章讲述了如何构建一个基于Kotlin的Android项目,以及登录界面的实现。这篇文章就着重讲述如何实现网络请求。 实现网络访问我使用的是第三方的框架 AsyncHttp。 首先针对登录界面的数据进行格式验证,即用到正则表达式。代码如下: if(!username.text.toString().matches(("^[1][3,4,5,7,8][0-9]{9}$").toRegex())) { Toast.makeText(this,"输入正确的手机号码", Toast.LENGTH_SHORT).show(); }else{} 使用kotlin的matches就是比较前后对象是否相同,并返回一个Boolean结果,但是matches后面的参数必须是Regex类型。所以需要加上toR...阅读全文

Android热更新实现原理

最近Android社区的氛围很不错嘛,连续放出一系列的android动态加载插件和热更新库,这篇文章就来介绍一下Android中实现热更新的原理。 ClassLoader 我们知道Java在运行时加载对应的类是通过ClassLoader来实现的,ClassLoader本身是一个抽象来,Android中使用PathClassLoader类作为Android的默认的类加载器, PathClassLoader其实实现的就是简单的从文件系统中加载类文件。PathClassLoade本身继承自BaseDexClassLoader,BaseDexClassLoader重写了findClass方法, 该方法是ClassLoader的核心 @Override protected Class findC...阅读全文

博文 2017-09-06 00:00:36 Free-Thinker

知乎日报 - 我的第一个Kotlin项目

写在前言 自从Google I/O 2017 宣布支持Kotlin并发布了Android studio 3.0 之后;就按耐不住心中的冲动立马去学习了kotlin这门语言。不过对于Google支持kotlin这门语言我觉得很多人有个误解以为Google要抛弃Java了,我觉得现阶段并不是,Google只不过增加了一门可以编写Android的语言而已,毕竟Android的sdk什么的都还是Java怎么可能抛弃呢。对于刚入门Android的同学,我不建议上来直接就学kotlin,而是先去学Java;因为在Android中Kotlin调用的还是java,若再开发遇到什么问题不懂Java会很难进行下去的。 正文 接触kotlin之后最明显的感受就是写程序变得超级简单了,没有那么多复杂的流程了,写程序...阅读全文

博文 2017-07-04 23:04:01 JokAr_

Android解析编译之后的所有文件(so,dex,xml,arsc)格式

我们在之前一篇一篇介绍了如何解析Android中编译之后的所有文件格式,所有的工作都完成了,这里我们就来做个总结,我们为什么要做这些工作: 第一篇:解析so文件格式 点击进入 这里我们解析so文件,主要是为了修改so中内容,在so文件中添加字符串内容,同时我们可以做到对so的加密工作,从而达到apk的底层加固策略。同时我们了解了so文件的格式之后,对反编译底层的代码也是很有帮助的。 第二篇:解析AndroidManifest.xml文件格式 点击进入 这里我们解析AndroidManifest.xml文件,主要是为了修复我们在使用apktool进行反编译的时候出现的一些错误信息,同时也了解到apktool反编译的工作原理,当然这里还可以解析Android中的其他资源文件xml。这里我们还可以...阅读全文

博文 2017-06-24 17:02:45 我爱睡觉

Kotlin 带你飞 • 语法篇 • 基础

本文采用与 Java 语法作对比的方式罗列并介绍 Kotlin 的语法基础。这样会不会更容易理解和上手?希望能对看到这篇文章的您有所帮助吧。 相关文章:Kotlin 带你飞 Kotlin 带你飞 • 实战篇 相关 Github 源码 版权声明:本文为 frendy 原创文章,可以随意转载,但请务必在明确位置注明出处。 Print Java System.out.print("Hello, World!"); System.out.println("Hello, World!"); Kotlin print("Hello, World!") println("Hello, World!") Variables I Java final int x; final int y = 1; Kotli...阅读全文

博文 2017-06-16 12:02:25 _frendy

kotlin 开发实例-屏幕跑马灯

首先,我建议不熟悉kotlin语法的朋友,可以先看看这篇文章,简单了解一下。接下来我们配置一下android studio。让android studio支持我们新的开发语言。 配置android studio 通过File -> Setting ->搜索kotlin -> install 安装kotlin插件 安装成功之后,会提示是否要重启android studio。点击Restart按钮。之后。我们发现在创建新的文件的时候,就会多出了两个选项。 因为我们没有配置kotlin,所以在第一次创建一个kotlin文件或kotlinActivity时,会提示我们配置。 这里我们点击配置 点击OK 重新 build项目,即可。 在module的build.gradle 中添加: apply pl...阅读全文

博文 2017-06-21 13:01:03 qq_16965811

Kotlin转Java记录

昨天写了一篇PermissionsDispatcher初探,文章最后说要用java重写processor模块,今天花了半天时间完成,现在把代码放在github上:https://github.com/ileelay/PermissionsDispatcher/tree/2.2.0j,欢迎大家纠正!同时感慨到Kotlin太强大,Java太繁琐;虽然Kotlin语法很简练,终究还是基于JVM,同时这篇文章不是循序渐进的Kotlin语法讲解,只是为了记录在转PermissionsDispatcher时的粗略见解; 普通class kotlin是这样子写的 class NoParametersAllowedException(e: ExecutableElement) : RuntimeExcept...阅读全文

博文 2017-05-27 15:17:33 finaler

Android tv 输入法详解

我们自己要重写一个简单的输入法确实很简单,但是要写一个输出中文或者五笔等等就比较麻烦,因为你需要引擎,我们可以使用别人引擎,这篇文章着重是在输入法UI层面上,不涉及引擎的各种算法问题. 我们先第一步了解输入法整体的窗口布局. 输入法的布局分为两部分,上面为 候选框,下面为 键盘区域. android源码中的 谷歌的输入法是按照MVC模式来写的,原理很简单,读取XML布局,绘制键盘区域...阅读全文

博文 2017-09-14 01:03:12 冰雪情缘l

Kotlin inline 关键字的使用

最近一直在学习 Kotlin,并将《Kotlin in Action》这本书看完了,这篇文章来记录一下我对 inline 关键字使用场景的一些困惑。 为什么困惑 学习完 Kotlin 以后最想干的一件事当然是练手,于是自己就开始参考 GitHub 上的多个项目封装自己的 Kotlin 扩展函数。在翻阅了很多项目之后,发现项目中对于 inline 关键字用法的差别,有的项目中所有的方法都使用了 inline 关键字修饰,有的项目则只有在一些方法上使用了 inline 关键字。这时候我就有点懵逼了,对于刚刚上手的我该按照那个库的标准来呢?(如果你还不清楚 inline 关键字请先阅读 内联函数 )。 何时使用 inline 的工作原理就是将内联函数的函数体复制到调用处实现内联。所以如果我们的方法...阅读全文

博文 2017-08-25 12:03:58 zyyoona7

王垠关于语言的理解

文章:Kotlin 和 Checked Exception 这篇文章讲了,为什么java的方法会要求你在定义时,写可能抛出的异常,像下面这样。 void foo(string filename) throws FileNotFoundException { if (...) { throw new FileNotFoundException(); } ... } 因为这样有利于查到错误。 C#把可能出的异常写在了注释中。 文章:C# 的 IDisposable 接口 这篇文章讲了,之所以要释放文件,是因为文件相当于是计算机的全局资源,你不释放,别人就无法使用。 文章:给Java说句公道话 说了java是个很稳当的语言...阅读全文

博文 2017-11-29 00:00:17 Tpf386

手把手教你写热修复(HOTFIX)

前提 写这篇文章的目的呢,也是理一下自己的思路吧,同时把最近看到的一些热修复知识献给读者们。不知道同学们最近是不是听到了很多关于热修复的事情,各大厂商,各界大佬们都有属于自己的热修复框架,最近阿里不也推出了个爆炸消息,堪称最牛逼的修复框架Sophix,同时还推出了对应的一本pdf(叫什么深入理解Android热修复技术原理),不知道多少同学看过,深入看应该是可以看到个原理,但是我感觉看了我也写不出这样的代码,毕竟大厂大佬。这篇文章呢,就简单的教大家如何写一个属于自己公司或者自己的热修复框架 友情提醒 1.这篇文章的重点在于.class文件的打桩,可能会偏重于groovy语言,与java相通没事,相信我你绝对能看懂。 2.如果没有看过我之前的那篇文章可能会有些懵哦,之前的那篇文章讲的是原理,通...阅读全文

博文 2017-07-06 00:04:24 cuieney

Kotlin中泛型的序列化Parcelable

系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正。如果你觉得我的文章对你有用,欢迎关注我以及我的Kotlin专题,我们一起学习进步! 终于有一篇Kotlin文章不是沿袭了之前的笔记系列,这是尝试将Kotlin用到项目中遇到的第一个问题:如何将Kotlin中的泛型进行序列化?这个问题我们分两步解决: 一般数据类(data class)的序列化 泛型的序列化 一、一般数据类(data class)的序列化 这个问题在我之前的文章《Kotlin学习笔记(9)- 数据类》中提到过,这里再说一下,在kotlin中序列化的实现方法和java中的手动实现基本一致 data class PersonData(var name : String, var age : Int, val sex ...阅读全文

博文 2017-07-15 00:04:12 我爱吃栗子啊

Kotlin 带你飞 • 语法篇 • 函数

本文采用与 Java 语法作对比的方式罗列并介绍 Kotlin 的函数用法。依然是类似《Kotlin 带你飞 • 语法篇 • 基础》的套路,希望能对看到这篇文章的您有所帮助吧。 相关文章:《Kotlin 带你飞》《Kotlin 带你飞 • 语法篇 • 基础》《Kotlin 带你飞 • 实战篇》相关 Github 源码 版权声明:本文为 frendy 原创文章,可以随意转载,但请务必在明确位置注明出处。 Basic Function Java public void hello() { System.out.print("Hello World!"); } Kotlin fun hello() { println("Hello World!") } Arguments Java public ...阅读全文

博文 2017-06-24 10:03:48 _frendy

08-kotlin-是真的么

我们在现实生活中,经常要碰到很多真假的问题, 是真的么? 你可不要骗我. 计算机是人类最忠实的朋友, 关于各种真假问题, 问计算机那是最方便的了 好的,下面我带着大家复习一下幼儿园大班数学 比大小: 如果我没记错的话, 当时老师告诉我, 0 是比 1大的.我们来写代码验证一下 第1行我们声明了主函数,是程序的入口, 第2行我们定义了变量a值为0,kotlin智能的识别出来了a的类型应该是个整数类型,第3行,我们定义了变量b值为1,同样的kotlin也智能识别了b的类型是个整数类型,最后我们测试打印 a>b计算机程序的执行结果是false. 计算机告诉我们0>1的说法是假的.计算机不会骗人, 看来是我的幼儿园没好好学习. 我记得3是比1大的, 我们来看看,计算机执行的结果. 关于上面的代码,有...阅读全文

博文 2017-06-03 18:02:18 我是小华华

Kotlin+Retrofit+RxJava+MVP封装(一)

前言 kotlin系统学习:http://www.jianshu.com/u/5509a21c1623 retrofit学习:http://www.jianshu.com/p/3e13e5d34531 rxjava学习:http://www.jianshu.com/p/464fa025229e mvp学习:http://blog.csdn.net/lmj623565791/article/details/46596109 MVP简介 mvp和mvc.png 我们可以对mvp进行一个简单的理解,mvp分别为: model:处理业务逻辑 view:展示视图 presenter:中间人(绑定view和model) 那么view和presenter之间是通过接口进行交互,这样能够降低耦合,方便进行单...阅读全文

博文 2017-09-21 10:03:50 2012lc

使用kotlin写一个仿微信点击图片浏览的效果

最近在学习kotlin,项目中正好用到了图片浏览,就用kotlin放照微信的做了一个,效果如下: 大概就是这么个效果,图片从小到大的一个效果,然后滑动切换图片,点击后会返回对应图片的位置,其实比较容易,用到的是ActivityOptions,一个activity的转场动画,下面说一下怎么实现。github地址点这里关于kotlin的配置就不过多说了,网上好多教程(最近kotlin好火)布局就是一个recyclerviewmainactivity代码: 可以看到就一个初始化布局管理器和设置适配器的代码没什么了(你说没看到初始化控件?看看这篇文章)到这里之前都很好理解,关键就是adapter和点击图片跳转的代码 在API 21以后,我们可以使用内置的Activity切换动画。但是这样也就意味着只...阅读全文

博文 2017-07-05 16:04:03 一起哈啤

:Android中的Service全面总结

Android中的Service全面总结(点击在新标签中打开 http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html ),这篇文章讲得很详细。 Android开发,关于service的常驻和共享的问题 (点击在新标签中打开 https://segmentfault.com/q/1010000000415917 ),这是同行提出的问题和回答。下面的是复制转载、修改后的部分内容: 在AndroidManifest中声明Service时,定义android:process属性,其格式为:android:process=":{进程名字}",这样就能使Service运行在独立的进程中了。需要特别注意的是 该属性值必须以英文冒号字符作为开...阅读全文

博文 2017-06-29 19:02:50 zigzagroad

Kotlin+Retrofit+RxJava+MVP封装(二)

前言 Kotlin+Retrofit+RxJava+MVP封装(一) 封装 这篇文章主要是在第一篇文章的基础上的一个封装和RecyclerView的实现,就MVP结构来看,我们至少会有三个基类,一个网络请求封装类。 BaseActivity 在BaseActivity中,我们将绑定布局,初始化Presenter,写入吐司,页面跳转,等待界面等基础操作。 abstract class BaseActivity >: FragmentActivity(),BaseView { //当前Activity渲染的视图View private var mContextView: View? = null private var progres...阅读全文

博文 2017-09-21 13:03:46 2012lc

Kotlin 带你飞 • 语法篇 • 类

本文采用与 Java 语法作对比的方式罗列并介绍 Kotlin 类的用法。依然是类似《Kotlin 带你飞 • 语法篇 • 基础》的套路,希望能对看到这篇文章的您有所帮助吧。 相关文章:《Kotlin 带你飞》《Kotlin 带你飞 • 语法篇 • 基础》《Kotlin 带你飞 • 语法篇 • 函数》《Kotlin 带你飞 • 实战篇》相关 Github 源码 版权声明:本文为 frendy 原创文章,可以随意转载,但请务必在明确位置注明出处。 Constructor Call Java final File file = new File("file.txt"); Kotlin val file = File("file.txt") Class Java public final clas...阅读全文

博文 2017-06-29 19:03:58 _frendy

Android 6.0+ 运行时权限 处理

尽管Android正在被不断开发,但Android 6.0是完全不同的,对于Android 6.0的几个主要的变化,查看查看官网的这篇文章: https://developer.android.google.cn/about/versions/marshmallow/android-6.0-changes.html 其中当然包含Runtime Permissions。 本篇文章目的就是让开发者能轻松解决一些运行时权限的问题。 新的权限获取方式除了要求像之前版本一样在AndroidManifest文件中静态申请之外,应用还需根据需要请求权限,方式采用向用户显示一个请求权限的对话框。这些被动态申请的权限可以在系统设置中被手动关闭。另外,对于类别为NORMAL(正常)的权限,仍然只需要在Andro...阅读全文

博文 2017-09-12 14:00:31 smartbetter

快速上手Kotlin

今天是新年上班的第一个周末,很多春节的想法想用文字表达出来,却总是感觉词穷墨尽,无法用语言准备地表达我的想法。我想,大约是迷失了太久,连温情的文字都抛弃了我。新的一年,我会用100%的热情去爱你,希望你不要离我远去... 鉴于这样的一种状态,我想依然用一篇技术文章,开始新年的第一篇简书。好了,Let's get started。 学习Kotlin语言的大部分程序员都是从Java阵营转过来的。因此,从Java思想转换到Kotlin是学习Kotlin语言至关重要的一步。这篇文章将介绍从Java语言转换到Kotlin语言几个不一样的地方,让你在Kotlin语言开发中,更加轻车熟路! Static (静态变量,方法) 这大约是从Java语言转换到Kotlin语言遇到的第一个难题,Kotlin语言中没...阅读全文

博文 2017-05-27 15:04:53 欧阳锋

为什么 Android 开发者都应该尝试一下 Anko?

简评:这里介绍的仅仅是 Anko 中很小的一部分,Kotlin + Anko 真的让 Android 开发简化了不少,用了 Anko 基本就可以告别那些什么 Android 不得不知的代码收集贴了。 Anko 是 JetBrains 针对 Kotlin 推出的 Android 开发库,其目的是通过 Kotlin 让 Android 开发更加简单。 Anko 主要有四个模块: Commons Layouts SQLite Coroutines 在这篇文章中,我们先主要介绍其 Commons 模块中的一些内容: 首先,View.setOnClickListener 方法可以说是广大 Android 开发者写得最多的方法之一了,如果你是用 Kotlin,那么代码看起来应该是类似这样的: butto...阅读全文

博文 2017-08-08 17:03:49 极小光

android添加keystore

Android调试大法之自定义IDE默认签名文件,你是否为调试第三方SDK时debug签名和release签名发生冲突而烦恼?你是否在debug时第三方功能测试通过,而release时无法使用? 如果你没有遇到我说的问题,那么我举几个例子。 微信支付、微信登录、微信分享,debug时调试通过,release时调不起微信? 如果你没做过,你可以看这篇文章微信登录、微信分享教程。 百度地图、高德地图,要不停的切换debug签名、release签名的hash值很麻烦? … 上面的这些问题归根结底原因是我们开发的时候直接运行,使用的是默认的debug.keystore这个签名文件,而我们打包后正式环境用的是我们自定义的xxx.keystore、xxx.jks等签名文件,两个文件的hash值不同。 而...阅读全文

Kotlin基本语法

流程控制 主要参考:https://www.gitbook.com/book/huanglizhuo/kotlin-in-chinese/details 这本书,大神们也可也自行前往阅读,这篇文章主要是对一些不起眼的知识点进行了梳理和总结,让大家对kotlin的了解更进一步。有很多人说资料太少了,这里我拿了鸿洋大神整理出来的一些别人分享的东西,地址连接http://blog.csdn.net/sinat_36668731/article/details/72529986,在文章的下面干货集锦。 if 表达式 在 Kotlin 中,if 是表达式,它可以返回一个值。因此Kotlin没有三元运算符(condition ? then : else),因为if语句已经满足了效果。 // 传统用法 v...阅读全文

博文 2017-06-10 15:00:37 sinat_36668731

一张图,三分钟,掌握 Swift & Kotlin

前言 上一篇文章《那些年写Kotlin遇到的各种坑,您需要收藏啦》中,我提到:有很多小伙伴说Kotlin 和 Swift 很像,那么今天抽空来聊一聊 “SK”。这篇文章适合已经学过其中一门语言。 作为一个曾经想走 Full Stack developer 路线的我,虽然步步维艰,14年认识 Swift , 15年认识 Kotlin ,前者已经成为我开发Mac应用的默认第一语言《App Store》, 后者已经成为日常 Android《沪江学习》 开发基本技能啦。 那就让我这个两个语言都在项目中大面积使用的人,带您一起来对比一下这两个双胞胎兄弟语言。如果有说错的地方,还望您多多指教,多多包涵。看图说话 两年前看到一篇文章《Swift is like Kotlin》,楼主把它存了一张图送给大家。...阅读全文

博文 2017-05-27 15:16:30 IMSk

安卓巴士第二期博文大赛已经开始啦!

说好的一个月举办一场比赛供猿猿们玩乐呢,我可是一只说到做到的喵~也不知道那些个跟我信誓旦旦说这个月会参加的猿猿,能不能做到说话算数,╭(╯^╰)╮而且为了能够让更多的猿猿能够参赛,本喵第二期还专门换了个简单的比赛主题! Paste_Image.png 也许你只是一枚刚刚加入安卓开发队伍的小白;也许你对博客大神,技术大牛望尘莫及;也许你从未写过条理清晰,严谨系统的博文;但我相信,你作为一名程序开发者,一定有自己在工作上的小计划,会认真总结在工作上遇到的难点,所以,不管你曾经是不是博主,就让这一场比赛成为你拿起笔杆儿的开始吧~ 并且,写技术博文可以帮助自己从点到面的巩固学习过程 ,补齐知识盲点,写好了说不定还能收获一大堆迷妹的星星眼,秒脱单那都不是事儿! 咳咳,想要参加比赛的猿猿下面看重点了啊 ...阅读全文

博文 2017-07-17 16:04:28 安卓巴士官方

Kotlin In Android Development

背景 前几天,Koltin 被 Google 扶正的消息刷爆了朋友圈,其实流利说早在去年就已经开始涉猎这门语言。Kotlin,原意是在俄罗斯的一个小岛,JetBrain 在2011年推出了以这个来命名的一个运行在 JVM 上的语言,作为一门 JVM 上的语言,可以轻松兼容 Java,并且整个语言设计的非常轻量。 目的 这篇文章主要结合 Android 开发过程中遇到的一些问题, 总结下 How To Write Kotlin Without Java 基础 1. Kotlin 基本语法 这部分就不多说了,官网文档 就够了。顺便安利Kotlin In Action 这本书。 2. 如何用 Kotlin 开发 Android 由于这篇文章的主要目的并不在此,这里粗略带过,网上此类文章应该已经数不...阅读全文

博文 2017-05-27 15:11:14 hiEcho001

Google官方指导文章:开始用Kotlin开发Android

首先是相关资源 AndroidStudio 3.0 canary 1 官方下载地址 没梯子的点击 百度云下载地址 Google 提供的关于Android O新特性和Kotlin的demo 点击 Kotlin Demo AndroidStudio 3.0已经完全支持Kotlin了,所以现在你可以方便的新建一个基于Kotlin的Android项目或者在你现有项目的基础上增加Kotlin的代码,你还可以将你的java代码转换为Kotlin。使用Kotlin开发,你可以完全的使用现在AndroidStudio附带的所有工具,像autocomplete,lint,checker,refactoring,debugging等。 这篇文章主要展示如何在AndroidStudio上面使用Kotlin开发。如...阅读全文

博文 2017-05-23 11:43:05 qq_16445551

Kotlin入门篇(三),Kotlin中字符串的对比

字符串比较 var str1 = "chaychan" var str2 = "chaychan" println(str1 == str2) 比较两个字符串,如果两个字符串的内容一致,在Java中使用 str1 == str2 时,是比较两个字符串的地址值,很清楚两个字符串的地址不一样,返回false,但是在kotlin中,则不是如此,比较的只是字符串的内容,上述代码返回的是true。 字符串的equals函数 equals(str:String) 方法中的参数是与之对比的字符串,默认不忽略大小写,即大小写敏感,比如: var str1 = "chaychan" var str2 = "ChayChan" println(str1.equals(str2)) 打印结果为false,因为不忽...阅读全文

博文 2017-08-16 21:04:03 chaychan

Android中插件开发篇总结和概述

刚刚终于写完了插件开发的最后一篇文章,下面就来总结一下,关于Android中插件篇从去年的11月份就开始规划了,主要从三个方面去解读Android中插件开发原理。说白了,插件开发的原理就是:动态加载技术。但是我们在开发插件的过程中可能会遇到很多问题,所以这里就分为三篇文章进行解读的,而且也是循序渐进,解决了插件开发过程中可能会遇到的问题,不过这三篇的基础还是动态加载技术。 第一、插件开发基础篇:动态加载技术解读 http://blog.csdn.net/jiangwei0910410003/article/details/17679823 这篇文章主要介绍了Android中的DexClassLoader类的功能,以及我们如何使用动态加载技术,为何要使用动态加载技术等问题的解释,最开始的时候,...阅读全文

博文 2017-06-24 17:02:50 我爱睡觉

Android客户端与服务器端数据同步

应用场景 假设我们在做一个通讯录软件,我们可以在多个客户端对服务端的数据进行增删改。那么这篇文章中我们要解决的问题是如何在客户端与服务端只传输经过增删改操作的数据,来使得客户端与服务端的数据是同步的。 名词解释 Anchor:同步锚点,用时间戳来表示,用来发现两端数据变化的部分 客户端表设计 每条记录包含两个用来同步用的字段: status : 用来标识记录的状态 anchor : 记录服务端同步过来的时间戳 anchor 含义 0 本地新增 -1 标记删除 1 本地更新 9 已同步 服务端表设计 modified : 服务端修改记录的时间戳 双向同步过程 初始状态下,我们假设客户端和服务端的表各有两条数据 客户端: id name phone status anchor 1 Ken 186...阅读全文

博文 2017-07-25 10:02:47 当空皓月

从零开始撸一个Kotlin Demo

前言 自从google将kotlin作为亲儿子后就想用它撸一管app玩玩,由于工作原因一直没时间下手,直到项目上线后才有了空余时间,期间又由于各种各样烦人的事断了一个月,现在终于开发完成 项目分为服务器和客户端;服务器用Spring-boot+mysql+mybatis,客户端100%kotlin 开发工具 移动端:不用多说,下载一个AndroidStudio3.0 自带了kotlin编译,我用的是3.0 Canary8,现在好像已经更新到3.0Beta6了,下载地址:https://developer.android.google.cn/studio/preview/index.html image.png 下载到的是离线包,打开后和你原来3.0一下版本共用一个sdk就行了,不用额外下载 ...阅读全文

博文 2017-09-19 17:03:56 土逗牛肉

Android宝宝开发日记(一)

首先作为一名刚毕业从业不久的Android宝宝来说,第一次独立开发完成后我觉得很有必要梳理一下,一方面为了在以后的开发路上如果遇到踩过的坑有个地方可以参考。另一方面为了以后矫情怀念的时候拿出来看一看。哈哈~废话不多说,进入正题! 这篇文章我总结了在开发中运用到的技术和设计思想,并且归纳了在实际开发中遇到的一些问题和解决方法,如果大家有遇到此类问题也可作参考,文章有不对的地方也欢迎大家指正。谢谢!一、设计模式 在本次开发中我结合了databinding 实现了M-V-VM的架构,如图: 转载自网络(M-V-VM) 关于M-V-VM模式,我目前的理解是:model层更像一个“仓库”,它负责存放各种数据(例如:bean和网络请求后获取到的JSON数据等),而ViewModel层(业务逻辑的处理等)...阅读全文

博文 2017-09-30 05:03:47 李hongqiang

Kotlin入门篇(二),如何声明函数和处理空值

函数的声明 函数的形式为: fun 函数名(参数名:参数类型):返回值类型{ //函数体 } 如Kotlin的主函数 fun main(args:Array):Unit{ //函数体 } 其中返回值类型Unit代码无返回值,可以省略不写,所以主函数可以写成: fun main(args:Array){ //函数体 } 有返回值函数示例:计算两个整数值相加,返回相加结果的函数 fun add(x:Int,y:Int):Int{ return x + y } 空值处理 Java程序中运行时才能发现的空指针异常,在Kotlin的语法阶段中就可以被避免掉了,如果声明一个带有参数的函数,比如: fun sayHello(name:String):String{ retu...阅读全文

博文 2017-08-16 21:04:03 chaychan

Kotlin入门篇(四),如何使用when语句

when语句的使用 Kotlin中when语句的使用,类似与Java中switch使用,如下,演示下when语句的使用: //传入颜值分数获取颜值描述 fun faceScoreDescn(score:Int):String{ var descn:String; when(score){ 10 -> descn = "令人惊艳的帅(美)" 9 -> descn = "令人着迷的帅(美)" 8 -> descn = "帅哥(美女)" 7 -> descn = "有点帅(漂亮)" 6 -> descn = "中等水平" else -> descn = "其貌不扬" } return descn } 传入颜值的分数,使用when语句筛选对应的颜值描述,和Java的switch有些大同小异: Jav...阅读全文

博文 2017-08-19 16:03:55 chaychan

Kotlin 泛型中的 in 和 out

简评:在 Kotlin 中使用泛型你会注意到其中引入了 in 和 out,对于不熟悉的开发者来说可能有点难以理解。从形式上讲,这是一种定义逆变和协变的方式,这篇文章就来讲讲怎么来理解和记住它们。 in & out 怎么记? Out (协变) 如果你的类是将泛型作为内部方法的返回,那么可以用 out: interface Production { fun produce(): T } 可以称其为 production class/interface,因为其主要是产生(produce)指定泛型对象。因此,可以这样来记:produce = output = out。 In(逆变) 如果你的类是将泛型对象作为函数的参数,那么可以用 in: interface Consumer阅读全文

博文 2018-01-29 10:03:43 极光推送

Spring Boot与Kotlin 整合全文搜索引擎Elasticsearch

Elasticsearch 在全文搜索里面基本是无敌的,在大数据里面也很有建树,完全可以当nosql(本来也是nosql)使用。 这篇文章简单介绍Spring Boot使用Kotlin语言连接操作 Elasticsearch。但是不会做很详细的介绍,如果要深入了解Elasticsearch在Java/kotlin中的使用,请参考我之前编写的《Elasticsearch Java API 手册》 https://gitee.com/quanke/elasticsearch-java/ 里面包含使用实例,包含我们使用踩过的坑。 如果完全不了解Elasticsearch请先了解,安装好Elasticsearch服务 有多种方式连接Elasticsearch Spring Data Elastics...阅读全文

博文 2018-01-29 11:02:14 quanke_

Kotlin入门篇(五),Loop和Range,Kotlin中区间的定义和遍历

Loop和Range Kotlin循环的使用和区间的定义和Java有很大的不同,如: fun main(args: Array) { var nums = 1..100 //[1,100] for (num in nums) { println(num) //打印1-100 } } 其中 1 .. 100 定义了一个整数类型的数组,包含1-100这些数字,上述的for循环的形式类似于Java的foreach,也是将遍历到值赋值给第一个参数,第二个参数是待遍历的数组。 定义区间 使用 1 .. 100 定义了 [1,100] 的区间,包含1和100,如上述代码演示; 使用 1 until 100 定义了 [1,100) 的区间,其中包括了1-99的数,不包含100,演示如下; ...阅读全文

博文 2017-08-19 16:03:55 chaychan

kotlin笔记 一

kotlin笔记 一前言:首先介绍一下上面这张图片,这是本人为了开始kotlin笔记专门去网络找的,本人第一门语言是JAVA,从事的第一份工资就是Android。所以希望把Android学的更好,继而开始了Google推荐的Android官方语言的探索,其实在开始写笔记的时候本人已经看了很多关于kotlin的文章。这篇文章就是自我介绍一下,并且谈谈自己对Android的理解和kotlin的看法,纯属个人意见,在最后的时候,会帖出部分最近看的kotlin文章,让大家也可以看到现在很多大神对kotlin的理解和学习笔记。其中有很多文章多多少少会有瑕疵,你也会在读他们的文章的时候去发现问题,至少博主就是这样的。当然学习别人写的文章之前博主推荐首先学习kotlin官方的中文文档,然后再去学习和研究其...阅读全文

Android系统设置Android adb 开关的方法【转】

本文转载自:http://www.wxtlife.com/2015/11/24/Android-set-adb-status/ 想第一时间获取我的最新文章,请关注公众号: 技术特工队 在整机系统开发中,一般系统默认的adb开发是打开的,那么在对外发布的系统中,肯定是不希望默认打开adb的,但是在开发的过程中,肯定希望能够通过某种操作打开adb,便于调试,这就需要在系统的某个部位做一个开关了。那么这篇文章就是说说这边是如何做到在系统中增加一个adb开关。 在系统中有一个usb deubg的开关,此开关是打开usb调试的对adb 但是通过默认设置的开发者模式都可以将其打开。 adb 启动肯定会启动了一个adbd服务,那么手动将该服务kill掉就可以关闭adb服务了.当然这样是在adbd启动后可以...阅读全文

博文 2018-01-06 00:00:33 zzb-Dream-90Time

Android应用组件之片段(Fragment)介绍1

1 概述 Fragment 表示 Activity 中的行为或用户界面部分。您可以将多个片段组合在一个 Activity 中来构建多窗格 UI,以及在多个 Activity 中重复使用某个片段。您可以将片段视为 Activity 的模块化组成部分,它具有自己的生命周期,也能接收自己的输入事件,并且您可以在 Activity 运行时添加或移除片段(有点像您可以在不同 Activity 中重复使用的“子 Activity”)。 片段必须始终嵌入在 Activity 中,其生命周期直接受宿主 Activity 生命周期的影响。 例如,当 Activity 暂停时,其中的所有片段也会暂停;当 Activity 被销毁时,所有片段也会被销毁。 不过,当 Activity 正在运行(处于已恢复生命周期状...阅读全文

博文 2017-08-19 21:02:48 Code工作室

Android 中View的绘制机制源代码分析 二

尊重原创:http://blog.csdn.net/yuanzeyao/article/details/46842891 本篇文章接着上篇文章的内容来继续讨论View的绘制机制,上篇文章中我们主要解说了View的measure过程。今天我们就来学习ViewGroup的measure过程。因为ViewGroup仅仅是一个抽象类,所以我们须要以一个详细的布局来分析measure过程,正如我上篇文章说的。我打算使用LinearLayout为例解说measure过程,假设你还没有读过上篇文章。那么建议你先浏览一下上篇文章吧:Android中View的绘制机制源代码分析 一在进行今天的主题之前,我来给大家分享一下我近期看到而且非常喜欢的两句话吧:1、把生命浪费在美好的事物上2、应该有一份不以此为生的职...阅读全文

博文 2017-07-26 00:00:31 liguangsunls

[Gradle中文教程系列]-跟我学Gradle-番外篇:使用Gradle构建基于Kotlin的Spring Boot项目

Kotlin正式发布之后吸引了不少目光,就连Gradle在3.5版本的时候都推出了基于Gradle的dsl. 上有亲爹jetbrains,下有干爹google,真是想没人关注都难. 下面展示了如何用Gradle来构建一个基于Kotlin的Srping Boot项目. p.s 好吧,我承认加spring boot纯粹是为了博眼球蹭热度的 1.项目结构 src |-main |-kotlin 这里放在src/main/java下也是可以的 2.构建脚本 // 应用kotlin插件 plugins { id "org.jetbrains.kotlin.jvm" version "1.1.3-2" } // 定义版本号 ext{ kotlin_version = '1.1.2-4' } // 定义仓...阅读全文

博文 2017-08-15 13:03:50 PKAQ