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

Kotlin Android项目构建初体验 6-13

本文致力于从0-1构建一个基于Kotlin开发的Android项目,项目会涉及到Kotlin的环境配置以及各种第三方框架的调用,有网络访问的AsyncHttp以及免费短信验证SMSSDK等等。 话不多说,从项目构建开始。由于Android Studio3.0中已经集成了Kotlin,所以在构建项目时只需要勾上即可,如图 勾选 kotlin支持 接下来从登录界面开始编写,首先编写已个简单的登录界面。代码如下 android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> android:layout_width="match_parent" andr...阅读全文

博文 2017-06-14 00:02:22 一只思考人生的猴

每周阅读(5/22/2017)

Runner’s World 2017 Summer Shoe Guide跑者夏靴,个人喜欢Asics FuzeX Lyte 2。 Asics FuzeX Lyte 2 $85. The FuzeX Lyte 2 is a peppy shoe for up-tempo days. The mesh package of the upper is roomy enough to stay comfortable on long runs, but compliant enough to be pulled tight for narrow feet. Facebook面试记FLAG中F的面试记录,如同hanyu所写G家,面试流程同样的专业和细致,值得招聘和应聘者借鉴。 Kotlin 和 Ch...阅读全文

面试总结(二)

1. 深圳百科信息技术有限公司 坐落在南山清华信息港的一家做安全App方向的公司,面试经历了两轮,第一轮估计是技术负责人,针对项目中前两个问的比较多,主要问项目开发中的工作职责以及在项目开发中的问题,鉴于以前的经历,而且确实没遇到什么难题,就说了一下关于之前没有接触过的ant自动化打包,以及集成IM聊天的时候遇到的一些小问题,面试官接着问针对项目做了哪些优化,我把优化的步骤和瘦身的优化都加了进来,现在基本回答问题之前首先想一分钟,然后说自己的思路和做法,更重要的还是说自己对这些技术的看法和理解,为什么用,这个可以引发到产品上的理解,相对来说就提高了自己的档次。然后面试官针对加固和最新接触了解的Android版本有哪些新东西提问,我就把5.0的材料设计说了一遍.6.0的权限申请说了一些,7.0...阅读全文

博文 2017-06-09 17:02:35 Mr丶ITa

Kotlin 注解

Kotlin 的注解完全兼容 Java 的注解。 声明注解 @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION) @Retention(AnnotationRetention.SOURCE) @MustBeDocumented annotation class Fancy 可以通过向注解类添加元注解(meta-annotation)的方法来指定其他属性:@Target 指定这个注解可被用于哪些元素(类, 函数, 属性, 表达式, 等等.);@Retention 指定这个注解的信息是否被保存到编译后的 cl...阅读全文

博文 2017-06-01 16:03:11 jinkui

Kotlin 反射

反射是语言与库中的一组功能, 可以在运行时刻获取程序本身的信息。 类引用 要得到一个静态的已知的 Kotlin 类的引用, 可以使 class literal 语法:val c = MyClass::class类引用是一个 KClass 类型的值,Kotlin 的类引用不是一个 Java 的类引用. 要得到 Java 的类引用, 请使用 KClass 对象实例的 .java 属性。 函数引用 使用 :: 操作符可以获取到函数引用,示例: fun isOdd(x: Int) = x % 2 != 0 val numbers = listOf(1, 2, 3) println(numbers.filter(::isOdd)) :: 也可以用在重载函数上, 前提是必须能够推断出对应的函数参数类型,...阅读全文

博文 2017-06-01 16:03:11 jinkui

Kotlin入门之常用Idioms(风格、术语)

该文章记录了Kotlin中经常使用的Idioms集合。如果你有常用术语,欢迎作出贡献。 创建DTO数据传入对象(POJOs/POCOs) data class Customer(val name: String, val email: String) 上述代码提供的Customer类默认具有如下函数: getters (and setters in case of vars) for all properties equals() hashCode() toString() copy() component1(), component2(), …, for all properties 为函数形参定义默认值 fun foo(a: Int = 0, b: String = "") { ... ...阅读全文

博文 2017-05-27 15:27:01 樹學

Device-Kotlin开源

简介 Device(设备信息)是平常空余时间使用Kotlin开发的一款Android小应用,主要是用来帮忙开发者查看设备信息更好的定位问题。今天把它的源代码上传到了Github,功能不多,希望也能对其他开发者有些帮助。Play商店上的版本也会同步更新。 主要功能 查看设备基本信息,包含屏幕,网络,存储等。 查看应用程序列表,包含包名应用版本号,安装时间,安装包大小。可通过搜索关键词定位。 Github: https://github.com/chenupt/Device-KotlinPlay: https://play.google.com/store/apps/details?id=com.chenupt.device device-1.0-1.png device-1.0-3.pn...阅读全文

博文 2017-05-27 15:28:04 chenupt

使用kotlin在android下获取位置

14年毕业一直从事delphi桌面开发,尝试着去转android,google发布了官方开发语言,觉得是一个机会,所以尝试使用kotlin开发,在获取位置信息的时候遇到了一下问题,先记录如下,以便以后查阅。 参考资料: 1.探索android6.0的权限模型 http://blog.csdn.net/u014254481/article/details/50338237 2.Android M 新的运行时权限开发者需要知道的一切,android开发者 http://www.android100.org/html/201509/01/178112.html 3.android中通过GPS或NetWork获取当前位置的经纬度 http://blog.csdn.net/cjjky/article/...阅读全文

博文 2017-06-08 12:01:04 geek_loser

class文件与dex文件分析

1.什么是class文件 class文件就是可以被JVM识别,加载,运行的一种文件格式。一般情况下,它可以由java代码编译执行后得到,但是这并不是一定的,像kotlin,scala,python,ruby等JVM语言都可以通过编译得到class文件。 2.如何得到class文件 上面已经讲了,得到class文件不一定要使用java。这里我们只讨论使用java去生成class文件。一般情况下,我们都是通过Ecplise或者Intellij这样的IDE开发工具去build工程,当然也可以用个JDK中的javac命令去编译java文件。当我们一开始接触java时,老师也是这么教的。这里回顾下,前提pc已经有java环境了(安装了jdk,配置了环境变量)写个简单java代码文件public cla...阅读全文

博文 2017-06-10 12:02:07 懒癌患者2018

Gson.fromJson的使用 (Kotlin)

先来看下 gson.fromJson 的语法: T new Gson().fromJson(String json, Class cls) 这里传入了一个 T 的的类型,可是我们已经告诉它就是要转换为 T 类型了,为什么还要传个 class 呢? 其实这个问题的来源是源于一个同事的疑问,有一天同事问我,怎么获取 T 的 class,以前在做web开发的时候,用到C#里的 typeof(T) 方法很容易就能获取到 T 的类型(我是C#转Java的,哈哈),想到Java 和 C# 语法很像,应该有类似的方法,就度娘了一通,完全没有效果,直到后来才知道原来的 Java 里的泛型和C#的实现不一样,Java 是伪泛型,那么为什么说Java是伪泛型呢? 先来看一段代码: ArrayList阅读全文

博文 2017-05-27 15:23:21 Colbert

kotlin阅读笔记(11)-嵌套类、枚举、对象

主要内容 嵌套类 内部类 枚举 对象表达式 单例 嵌套类(Nested Class) 类中嵌套其他类: class Outer{ private val name:String = "jason" /**嵌套类**/ class Nested{ fun doSomething() = 18 } } 若嵌套类需要访问外部类成员,则需要使用inner关键词进行修饰: class Outer{ private val name:String = "jason" /**嵌套内部类**/ inner class Inner{ fun doSomething() = name //访问外部类成员 } } 若需要实例化内部类,需要首先获取到外部类对象,然后再进行实例化: var name = Outer(...阅读全文

博文 2017-05-27 15:24:24 黑石礁大魔王

MVP for Kotlin

一、工具 网络层retrofit+rxjava 使用mvp 使用databing进行组件注入 二、结构1、网络层实例化 Retrofit 使用 companion object ,因为kotlin没有静态类,使用这种方式创造一个单例 class ApiClient { /.../ companion object { fun retrofit() : Retrofit { return ApiClient().retrofit() } } fun retrofit() : Retrofit { val builder = OkHttpClient.Builder() builder.connectTimeout(S_DEFAULT_TIMEOUT, TimeUnit.SECONDS).wri...阅读全文

博文 2017-05-27 15:25:59 初见破晓

kotlin与Spring, 默认类,方法,property为final带来的问题--依赖注入失效,NullPointerException异常

问题的由来 在Spring中使用kotlin, 发现依赖注入似乎没有生效,导致NPE. 比如以下的代码,对于发送短信这个功能, 并不需要在主流程中同步发送, 所以就使用了Spring的@Async注解, 可以使这个方法在配置AsyncExecutor中执行. 但是实际调用时, 却发现contactDao为null, 程序报NullPointerException异常. 但是我用java写却没有问题. @Service open class MessageService { //根据用户id获取用户联系信息的Dao @Autowired lateinit var contactDao: ContactDao //将message发给一系列的用户ids @Async fun sendMessag...阅读全文

博文 2017-05-23 11:42:50 haoyifen

【Android上位的小三】Kotlin开发之路(一) 环境搭建、Hello Kotlin神圣之砖

前言 欢呼声热烈 谷歌宣布 Kotlin 成 Android 开发一级语言随着Google在2017 I/O开发者大会上宣布Kotlin成为官方开发一级语言之后,国内各大开发者社群又迅速的炸了一波——潜伏了多年的温顺小三Kotlin凭借其风骚的走位取代了泼辣主妇Java在Google心目中的地位,有了Android Studio与Eclipse的前车之鉴,在现今Android开发者生存环境异常恶劣的情况下,这条新闻的出现,无疑又让许多身在职场的Android开发者陷入恐慌。是的,“Android开发没人要了” Android开发没人要了.jpg 是的,Kotlin上位了 Kotlin上位了.png 为了避免再次出现跟不上队只能瞪眼吃灰的情况,大家可以在闲暇之余了解下Kotlin的使用方法,没...阅读全文

博文 2017-05-27 15:02:16 紫豪

使用Kotlin+SpringBoot进行web开发

Kotlin已经发布1.1.0版本了,玩过后已经被其先进的语法深深迷恋。这里不再陈述Kotlin的强大,只说明一下如何与SpringBoot进行集成开发。 Demo地址:https://github.com/gefangshuai/spring-kotlin-demo 第一步:获取项目脚手架 移步https://start.spring.io定制下载项目基本雏形,我的配置如下: 基本 下载下来后,在Idea中导入,并建立基本的目录结构,如下: Paste_Image.png 环境准备 加入jsp支持 javax.servlet javax.servlet-api p...阅读全文

博文 2017-05-27 15:09:08 Devid

十分钟学会kotlin实现Android MVP模式开发

谷歌宣布,将Kotlin语言作为安卓开发的一级编程语言Google I/O 大会全程视频直播 为什么要学习Kotlin?因为它能使Android的开发更简洁、高效及安全,更因为谷歌的推崇! 不说废话,直入主题。很久之前在看mvp模式的时候,看多很多小例子,这里用kotlin来简单实现一下,完全是入门级的,对于刚刚了解kotlin来开发Android的同学,是个不错的例子。 完整案例和使用Dagger2、Retrofit、RxJava、Kotlin实现MVP的源码欢迎Github查看:kotlin简单实现MVP之android-mvp源码Kotlin结合Dagger2等开源项目实现MVP之android-mvp-kotlin源码 案例主要功能是:用户输入用户id、姓名、年龄等信息进行保存,然后...阅读全文

博文 2017-05-27 15:11:45 马走日Dawin

Kotlin IO操作

前段时间学习了一点内容,写了一篇Groovy开发工具包 。我当时就在想Kotlin怎么没有好用的文件操作API呢?后来我发现我太傻了,Kotlin这么好用的语言怎么可能没有自己的文件API呢? Kotlin的IO操作都在kotlin.io包下。Kotlin的原则就是Java有的就直接利用,没有的才自己想办法写。因此Kotlin的IO操作主要是依靠扩展方法,在原有的Java类上添加功能实现的。这一点倒是和Groovy有点像。 下面介绍的很多方法都有一个Charset参数,可以直接要使用的字符集,默认是UTF-8。如果需要其他的字符集,用这个参数指定就行了。 终端IO 如果学过C++的同学可能会对Java超长的输出语句System.out.println()所震惊。同样的工作在C++里面只需要简...阅读全文

博文 2017-05-27 15:12:48 乐百川

Kotlin 实现配置化网络请求

Kotlin 官方提供一个 DSL 的典型应用场景,Anko 致力直接用 Kotlin 配置页面布局和视图的属性。将布局文件代码化能够带来许多如类型安全、解析效率、代码重用等好处,而 Anko 让代码布局和XML一样简洁清晰。 受到 Anko 的启发,让我萌生了把 Android 中网络请求纷繁复杂配置信息也封装成配置化方式,实现如下方式的网络请求。 Http.get { url = "http://api.openweathermap.org/data/2.5/weather" headers { "Content-Type" - 'application/json' "pragma-token" - '33162acxxxxxx5032ad21e0e79ff70d' } params {...阅读全文

博文 2017-05-27 15:14:24 哦好么人

白话kotlin:向空指针异常说再见

最常见,最危险的错误 在java中,我们最常见的错误莫过于空指针异常。不好好的处理的话,程序很容易出现崩溃的现象。 出现空指针的现象是常见的,也是最危险的。那怎么去解决呢? 在java中,我们需要主动去检查这个引用对象是否为空。这就有个很大的缺点:我们会常常不经意,或者忘了去检查,在程序跑起来的时候,才意识到出现了空指针异常。 那么,在kotlin中是如何解决的呢? 个人见解:把空当作一种类型 如果把空当作一种类型的话,那关于关于某个变量是不是空类型的问题就迎刃而解了。因为变量是一定有类型的,我们声明变量的时候肯定会指定变量的类型,只要不指定变量的类型为null类型,那么肯定不会出现空指针的问题啦。OK,变量有了类型,编译器就可以在编译的时候愉快的发现这个变量是不是空啦,然后友好的提示我们去...阅读全文

博文 2017-05-27 15:22:19 linheimx