Android的开发语言与Intents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者:李坤凤
本次任务完成时间:2020年5月04日
开发工具与关键技术:开发工具:Android开发工具 关键技术:Android开发语法
1、开发Android项目系统应用JAVA语言和Kotlin语言
2、JAVA语言特性
1)、Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
3、Kotlin语言特性
1)、Kotlin 是 JetBrains 开发的一款 JVM 静态编程语言,2017年5月18日被谷歌大会宣布为 Android 官方开发语言。那么 Kotlin 有什么特点呢?是否可以代替 Java 呢?今天我来向大家分享一下我的一些研究成果。这次分享主要将 Kotlin 和 Java 做一下对比,分享一下我认为 Kotlin 比 Java 用起来更舒服的地方,还有一些 Kotlin 相对于 java 新增的特性。这里主要是和 java8 以前的版本作比较,因为毕竟只有 AndroidN 之后才支持 Java8,最后介绍一下 Kotlin 迁移的思路。
2)、迁移成本低、技术风险小
3)、Kotlin 的一大特色,就是可以平滑的与现有代码进行集成。理论上来说,扩展函数非常简单,他就是一个类的成员函数,不过定义在类的外面。在拓展函数中,可以直接访问被扩展类的其他方法和属性,但是无法打破这个类的封装性,扩展函数,也无法被重写。
4)、能拓展函数,那么属性能不能拓展呢,答案是能。扩展属性和扩展函数类似,都可以在不继承,不改变原来类的情况下,给一个类增加属性。一个最常用的例子就是给 view 设置 padding 和 margin,系统自带的 api 只有同时设置4个属性的方法,我们每次都要不厌其烦的输入四个参数,而用了拓展属性之后,我们可以直接对其中的一个属性进行赋值,简单方便。
5)Kotlin 需要注意的问题
6)第一,Kotlin 会增加客户端的体积,但是不算太大。
7)第二,Kotlin 会增加客户端的方法书,但是可以用 progaurd 进行控制。
8)第三,Kotlin 目前缺乏静态代码检查工具,比如 findbugs、checkstyle、pmd
9)第四,Kotlin 会减少项目中代码的行数,但是会增加编译后项目的方法数。
10)第五,Kotlin 没有 CE 机制
4、跨语言的应用程序
3、Intents运行时的绑定机制
1)、什么是Intents
2)、可以认为Intents是一个变量或一个对象。描述了它们所做的动作。例如:VIEW,CALL,PLAY等等
3)、系统为相关动作的绑定最适合的动作
4)、Activities和BroadcastReceivers关于绑定机制的描述都放在AndroidManifest.xml中。
5)、Intent是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由 Intent来协助完成 Android各个组件之间的通讯
4、BroadcastReceivers
1)、这个组件主要用来接收相应广播的行为
2)、该组件作为相应外部的通知或警告的一种方法
3)应用程序可以根据需要来广播、发布自己的相关机制
5、Services
1)、该组件,通常是看不到的。它们都隐藏在后台进行运行
2)、通过代码绑定到一个正在运行的服务,在远端进行IDL接口定义
3)可以在自己的进程中运行,也可以在一个独立的进行中运行