没有合适的资源?快使用搜索试试~ 我知道了~
Java与Kotlin在Android应用程序开发中的比较
© 2015-19,IJARCS版权所有41DOI:http://dx. 多岛或g/10。26483/ijarcs.v9i3. 5 9789号,不。3,2018年6月,国际计算机科学高级研究杂志可在www.ijarcs.info在线获取JAVA与Kotlin编程在Android应用程序开发苏巴姆·博斯学生,BCAThe Heritage Academy印度加尔各答阿迪提·昆杜学生,BCAThe Heritage Academy印度加尔各答马杜莱娜·慕克吉学生,BCAThe Heritage Academy印度加尔各答马杜丽玛·班纳吉助理教授,BCA遗产学院印度加尔各答摘要:本文的目的是比较和总结Java和Kotlin在Android应用程序中的应用。我们已经采取了不同的领域,并将其与Java和Android进行了比较。本文试图研究Java和Kotlin的各种特性,并最终得出适合开发人员的编程语言。关键词:Android; Kotlin;延迟上传;延迟异常;扩展函数I. 介绍在不断发展的技术世界中,移动应用程序是全球移动市场中快速增长的部分。移动应用程序正在以流星般的速度发展,为用户提供丰富而快速的用户体验。本文讨论了如何使用Java作为Android应用程序的编程平台。像Kotlin这样的新技术是Android技术中即将到来的有前途的领域,Java和Kotlin之间的比较以及Kotlin可以压倒Java的地方。II.Android谷歌推出Android作为一个开源的手机操作系统,它工作在Linux平台上。它由操作系统、中间件、用户界面和应用软件组成[12]。当然,Android被广泛用作手机上的操作系统。它主要是为智能手机和平板电脑等触摸屏移动设备而设计的。此外,谷歌还进一步开发了用于电视的Android TV,用于汽车的Android Auto和用于手表的Wear OS[14],每个都有专门的用户界面。Android的变体也使用博弈数字控制台相机、PC和其他电子产品。Android有不同的版本。每个版本的Android都以甜点命名。Android的第一个命名版本被称为Cupcake[16]。棉花糖,牛轧糖,奥利奥,棒棒糖,奇巧,果冻豆是其他一些Android版本。根据[15] , 2018 年 2 月 的 最 新 Android 版 本 是 Android Oreo;Android Nougat更受欢迎。Android具有某些安全问题,很少有用户考虑到。到2016年,我们可以下载成千上万的Android应用程序,任何人都可以上传他们的程序,而无需必须在Android Market中进行仔细的安全检查。这使得Android成为计算机犯罪分子的主要目标。Google推出了Play Protect项目来解决上述问题[13]。III.J AVA概述Java是Sun Microsystems在1995年首次发布的编程语言。它可以在许多不同类型的设备上找到,从智能手机到大型计算 机 。 我 们 可 以 在 您 的 桌 面 PC 上 使 用 它 , 甚 至 在Raspberry Pi上。Java每个运行Java的平台都需要一个虚拟机(VM)实现。在Android上,最初的VM被称为Dalvik。谷歌也开始预览其下一代虚拟机称为ART。这些虚拟机的工作是解释字节码,这实际上只是一组类似于CPU中的机器码的指令,并在处理器上执行程序。虚拟机使用各种技术,包括即时编译(JIT)和提前编译(AOT)来加快进程。这 意 味 着 我 们 可 以 在 Windows 、 Linux 或 OS X 上 开 发Android应用程序,Java编译器将源代码转换为字节码。这反过来又在Android内置的VM上执行。这与iOS使用的模型不同,iOS使用本机编译器将ARM-C转换为ARM机器码。[二]《中国日报》根据[17],Java用于Android开发,因为它是开发人员中众所周知的语言,它没有指针运算的复杂性。由于它运行在虚拟机上,所以它不需要重新编译代码的每一个设备上使用的代码。虽然速度是一个问题的JAVA,但它的普及和优势压倒了速度。ISSN编号电话:0976-5697Madhurima Banerjeeet al, International Journal of Advanced Research in Computer Science,9(3),May-June© 2015-19,IJARCS版权所有42IV.KotlinKotlin(Android_and_Kotlin)是一种静态类型的编程语言,运行在Java虚拟机上,也可以编译为JavaScript源代码。它于2016年2月向公众发布。它的主要开发来自俄罗斯圣彼得堡的JetBrains程序员团队(这个名字来自圣彼得堡附近的Kotlin岛)。事实上,Kotlin这个名字来自圣彼得堡的Kotlin岛[18]。2018年5月,Google Android团队宣布Kotlin现在是Android开发的官方语言。开发人员在前几年一直使用Kotlin来构建Android应用程序,但Google刚刚宣布对它提供一流的支持[18]。Kotlin和Java都可以用来构建Android应用程序。现在的问题是,为什么要在编程语言中进行切换?可拓函数可以用[21]中给出的例子来阐述。根据示例,我们需要一个函数String类必须返回一个删除了第一个和最后一个字符的新字符串;此方法在String类中不可用。在类外声明的扩展函数创建指定类的功能,扩展预定义的功能。该函数可以扩展如下:V.文学在一项比较研究中:教授。潘查兰河K和帕特尔A.K用java学习了很多android的作品,所以他们用Kotlin而不是java学习。这项工作可以进一步丰富,以实现Kotlin相关的移动应用。[18] 2017年6月26日,AndroidAuthority发布了一个关于Android开发中尝试Kotlin的10个理由的视频,展示了Kotlin为Android应用开发带来的新功能[19]。添加扩展,处理指针是本文中讨论的一些好处。你好,S。和凯蒂·M·M在他们的论文中讨论了Android应用程序的安全问题和未来的范围[20]。像android商店的问题的风险得到病毒影响的应用程序.他们已经讨论了未来的范围,比如在未来的设备中添加更多的传感器,这将使Android更加安全。VI.目的本文的目的是比较和总结Java和Kotlin在Android应用程序中的应用。我们已经采取了不同的领域,并将其与Java和Android进行了比较。本文试图研究Java和Kotlin的各种特性,并最终得出适合开发人员的编程语言。VII.研究方法本研究是一项解释性研究,旨在了解Java在Android开发中的作用,并重点关注Kotlin在Android 应用程序中替代Java。这是一项定性研究,从电子媒体上发表的不同来源收集了二手数据。VIII. Kotlin与JavaA.扩展功能:如果需要在类中添加一些额外的功能,在大多数编程语言中,会派生一个新类。扩展函数是在类外部定义的类的成员函数。Kotlin提供了一种扩展类的新功能的能力,而无需从类继承或使用任何类型的设计模式,如Decorator。这是通过称为扩展的特殊声明Kotlin支持扩展函数和扩展属性。[4]美国这个函数在java中没有。为了利用扩展函数的功能,通常使用Android框架。但Android框架有时会让事情变得困难。Java只提供了一种解决方案,那就是创建包装器。[5]但是Kotlin给了我们扩展功能的优势,这将消除Android框架带来的困难。B.例外:JAVA使用try... catch块来处理运行时异常。它主要使用检查异常。检查异常是一种必须在引发它的方法中捕获或声明的异常。下面是JAVA try的语法。catch block[22].尝试{// some code}catch(e: SomeException)联系我们最后{//finally block}可以有零个或多个catch块和一个或没有finally块。需要catch块或finally块在JAVA中,如果一个方法中的某些代码抛出了一个检查异常,那么这个方法必须处理这个异常,或者必须使用throwskeyboard指定这个异常。Kotlin 没 有 检 查 异 常 。 Kotlin 中 的 所 有 异 常 类 都 是Throwable类的后代。每个异常都有一个消息,堆栈跟踪和一个可选的原因。[6]美国使用throw表达式可以在Kotlin中用来处理异常[22]:funString.removeFirstLastChar():String=this.substring(1,this.length -1)fun main(args:ArrayString>){ val myString=“HelloEveryone”val result = myString.removeFirstLastChar()println(“第一个字符是:$result”)Madhurima Banerjeeet al, International Journal of Advanced Research in Computer Science,9(3),May-June© 2015-19,IJARCS版权所有43funfail( message:String):Nothing{throwIllegalArgumentException( message)}vals = person. 你叫什么?:throw IllegalArgumentExcepti}on(“Name required”)}this.name = name;this.roll = roll;this.marks = marks;this.elective = elective;检查异常是否比非检查异常更好是一个有争议的话题。一些程序找到了在Kotlin中实现检查异常的方法,但在这里我们陈述了不使用检查异常的优点。异常可能会破坏代码的逻辑或流程[23]。特别是在有很多回调方法的代码中,使用检查异常会导致代码流丢失。其次,在大型软件中,检查异常会导致生产率降低,代码质量几乎没有提高[22]。C.构造器:Kotlin可以有一个主构造函数和一个辅助构造函数[8]。“constructor”关键字用于声明二级构造函数。它应该总是引用主构造函数[7]。以下是二级施工单位的例子:这个二级构造函数特性在Java中是不存在的。二级构造函数的效用在于它减少了代码行。D.安全性:在许多编程语言(包括Java)中,最常见的陷阱之一是访问空引用的成员将导致空引用异常。在Java中,这相当于NullPointerException或简称NPE [3][9]。Kotlin使用了名为“安全”的特性来处理NULL指针的情况。除 非 被 显 式 调 用 , 否 则 Kotlin 不 会 抛 出NullPointerException。[9]第一章下面是一段JavaPublic static void main(String args[]){class学生{val name:String val roll:Intval marks:Intprivate var elective = falseconstructor(name:String,roll:Int,marks:Int){this.name = name这.卷=卷这个.标记=标记}构造函数(name:String,roll:Int,marks:Int,elective:Boolean):this(name,roll,marks){elective =选修}在上述示例中,主构造器具有3个参数,而次构造器具有4个参数。在JAVA中构造函数重载的情况下,代码看起来像这样:class学生{String name;国际评分;国际选修;Student(String name,Int roll,Int marks){this.name = name;this.roll = roll;this.marks = marks;this. electrical = 0;}Student(String name,Int roll,Int marks,Intelective){String name= null;System.out.println(name.length());}输出:指针异常下面是Kotlin中的代码- Funmain(args:Array String>){var name:String?=null println(name?.长度)}输出:在Kotlin中编码时,与JAVA不同,Kotlin指针异常不会中断代码流。它给出的输出为NULL。E.延迟加载:在计算机程序中,延迟加载用于将对象的初始化延迟到需要的时候。因此,延迟加载特征减少了加载时间。Kotlin提供了与JAVA不同的延迟加载功能。在java的情况下,没有延迟加载这样的功能,所以很多不需要的内容在应用程序启动期间加载,因此加载应用程序较慢。IX.结论在分析的过程中,我们发现Java和Kotlin都有各自的优点和缺点。从初学者Jaava是一种非常流行的语言,在开发人员中广泛使用。Android开发只是世界各地开发海洋中的一滴水。因此Madhurima Banerjeeet al, International Journal of Advanced Research in Computer Science,9(3),May-June© 2015-19,IJARCS版权所有44作为一个初学者,了解JAVA比Kotlin更有优势,扩大了机会的范围。其次,有一个庞大的Java程序员社区,这意味着当我们遇到困难时,我们可以找到关键编程问题的答案。这是非常重要的,因为作为一个初学者,面对技术问题是一个常见的场景,我们可能不知道在哪里头当我们被卡住。当我们搜索Java问题时,我们一定会得到答案;对于Kotlin来说,情况并非如此,它仍然是一种即将到来的编程语言。还有更多的教程,书籍和课程,免费和付费的,可以教我们用Java开发Android,Kotlin就不能这么说了。从开发者的角度考虑1. 语言和环境成熟与其他编程语言不同,Kotlin版本在最终1.0版本发布之前经历了许多阶段。这可能意味着在其他编程语言中常见的所有可能问题都已经在进化到最后阶段的过程中得到了解决。[五]《中国日报》2.它使Android开发变得更加容易Kotlin让编程变得更简单,让Android应用变得更好。Kotlin是一种现代编程语言。它为android应用程序开发人员打开了大量可能性的窗口,即它让开发商更多产。[五]《中国日报》3. Kotlin有助于减少代码Kotlin编译器的目标是尽可能快速失败,这极大地促进了bug的搜索避免运行时错误Kotlin是可取的,因为它提高了生产力。一个在Java中需要50行代码的类在Kotlin中只需要很少的几行代码。可以避免样板代码,例如,我们不需要指定setters(),equals(),hashCode()或toString()方法。所有这些都可以由Kotlin生成。Kotlin中的代码行数远远少于Java中实现相同输出的代码行数。[24]下面是一个例子:X.引用[1]E. Obugyei,2016,www.raywenderlich.com/132381/kotlin-for-android-[2]C. Singh,N. D.,并减少修复错误所需的成本和工作量,一号2018年5月从Kotlin编译器执行许多检查. [第十一届]4. Kotlin代码更安全通过使用Kotlin,可以很容易地防止设计中的常见编程错误,从而减少系统故障和应用程序崩溃。这证明了Kotlin代码本质上比任何其他编程代码都更安全。[第十一届]5. Kotlin更简洁Kotlin在许多情况下比其他编程语言更简洁;它让我们用更少的代码行解决同样的问题。这提高了代码的可维护性和可读性,这意味着工程师可以更有效地编写,阅读和更改代码。[第十一届]https://beginnersbook.com/2013/05/java-introduction/[3]A. Sinicki,2018,androidauthority.com/introduction-to-kotlin-for-android-775678/[4]https://kotlinlang.org/docs/reference/extensions.html“Kotlin”,[5]A.Leiva , n. d. , https://antonioleiva.com/extension-functions-kotlin/[6]ChikeMgbemena,n. d.,于2018年5月7日从https://code.tutsplus.com/tutorials/kotlin-from-scratch-查看异常处理--cms-29820[7]https://kotlinlang.org/docs/reference/classes.html“Kotlin”,[8]D. Odalodic,June,2017,由于Android支持将项目转换为Kotlin,8日2018年5月,从开发人员始终可以自由切换。下面是Android Studio的屏幕截图,它允许将用JAVA编写的Android代码转换为Kotlin。https://odalinjo.wordpress.com/2017/06/25/primary-and-secondary-constructors-in-kotlin[9]M. Daga,2018年5月,“Java vs Kotlin:哪种编程语言更适 合 Android 开 发 人 员 ? " , 2018 年 5月8 日 从https://dzone.com/articles/java-vs-kotlin- 查 看which-programming-language-is-betteMadhurima Banerjeeet al, International Journal of Advanced Research in Computer Science,9(3),May-June© 2015-19,IJARCS版权所有45[10]Kotlin相对于Java有哪些优势?www.quora.com/in/What-are-“, viewed on 8[11]P. Sommerhoff,2018年1月,https://business.udemy.com/blog/kotlin-vs-java-9-benefits-[12]G. Suite,n.d.,www.engineersgarage.com/articles/what-is-android-“Android”, viewed on 9[13]I. Majocha,2017年12月,[18]R.K. Panchal,还有,A.K. Patel,2017,比较研究:JavaVs Android中的kotlin编程,在工程研究创新趋势国际期刊,2017年9月,第2卷第9期,第4 - 10页[19]Android Authority,2017,“尝试Kotlin进行Android开发的 10 个 理 由 ” , 于 2018 年 5 月 9 日 从 https ://www.example.comwww.youtube.com/watch?v=LEi1ecigDFE[20]S. Holla和M. M。Katti,2012年,基于Android的移动应用程序开发及其安全性,国际计算机趋势与技术杂志,2012年,第3期,第486- 4902017年的问题[21]北达科他州,https://dzone.com/articles/report-top-android-security-问题-在-20172018年5月来自https:www.programiz.com/kotlin-programming/extension-functions[14]开发商,N. D.,[22]2018年5月从2018年从https://developer.android.com/about/[15]福斯拜,n. d.,“大多数 受欢迎Android的版本https://kotlinlang.org/docs/reference/exceptions.html[23]E. Petrenko,n.d., “Catching exceptions with less code2018年2月(总是更新列表)Kotlin2018年从https://fossbytes.com/most-popular-android-版本-总是更新/[16]Turbofuture , 2016 年 4 月 , https://turbofuture.com/cell-phones/Cupcake-“Android Version Names : Every OS fromCupcake to Marshmallow” , 于 2018 年 5 月 9 日 查 看 , 来 自www.example.comDonut-Eclair-Froyo-Gingerbread-Honeycomb-Android-OS-版本代号和原因日http://jonnyzzz.com/blog/2017/02/15/catchall/[24]Hype.codes,2017,https://hype.codes/kotlin-vs-java[25]Schildt,The Complete Reference Java,Seventh Edition,第1章,第9[26]https://code.tutsplus.com/tutorials/learn-java-for-android-development-introduction-to-java--mobile-2604,查看于[17]为什么Android使用Java? 查看于9五月,20182018年 5月9日从https://stackoverflow.com/questions/3560963/why-does-android-use-java© 2018年5月。本作品发布于https://creativecommons.org/licenses/by-nc-sa/4.0/(以下简称尽管有ProQuest条款和条件的规定,您仍可以根据许可证的条款使用此内容。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功