当前位置: 首页 > news >正文

网站专题设计稿发布企业信息的网站

网站专题设计稿,发布企业信息的网站,巴彦淖尔市网站制作,天猫招商我本来是不想学习kotlin的#xff0c;但是现在的形势#xff0c;很多公司都在使用kotlin开发#xff0c;可以说学会kotlin也是无奈之举#xff0c;既然是潮流#xff0c;谷歌也在大力推广#xff0c;所以还是只能硬着头皮逼迫自己学一下#xff0c;也能更快适应公司的需…我本来是不想学习kotlin的但是现在的形势很多公司都在使用kotlin开发可以说学会kotlin也是无奈之举既然是潮流谷歌也在大力推广所以还是只能硬着头皮逼迫自己学一下也能更快适应公司的需要。正所谓“识时务者为俊杰”改变不了公司的发展那就改变自己。 废话少说直接上正题。本文主要讲解kotlin和java混合开发的一个初探。这是一个入门篇的总结博客。我这里使用的Kotlin版本是最新的版本版本号是 1.3.0 目录 本文配套源码请看githubhttps://github.com/AweiLoveAndroid/Kotlin-learn/ 一、Kotlin集成步骤和注意事项基于Kotlin1.3.01.在工程根目录的 build.gradle 里面的 build 节点的 dependencies 子节点添加一行依赖build { dependencies { // 添加这一行依赖 classpath org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version } } 2.在工程根目录 build.gradle 的build节点 配置kotlin版本号build { ext.kotlin_version  1.3.0 ... } 3.在项目module的 build.gradle 的顶部添加以下代码applyplugin: kotlin-android apply plugin: kotlin-android-extensions 4.在项目module的 build.gradle的dependencies 节点里添加以下代码:dependencies{ implementationorg.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version } 5.注意事项 1.本地kotlin版本路径 Android Studio安装根路径/gradle/m2repository/org/jetbrains/kotlin/kotlin-stdlib/ 2.不同了版本的依赖库 1.2.0以前使用这个依赖库 implementation org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version 1.2.0版本使用这个依赖库 implementation org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version 3.Tools -- kotlin -- Decompiler Kotlin to Java如果该选项是灰色请下载插件 Java Bytecode Decompiler4.这几个依赖库的区别 依赖库名称含义implementation org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version1.2.0版本以前使用的配置兼容java7implementation org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version1.2.0以前使用的配置兼容java8implementation org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version1.2.0版本以前使用的配置兼容java7implementation org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version1.2.0版本使用的配置兼容java8 5.Kotlin下载到本地的路径在哪里 工程目录的末尾有个External Libraries选择某一个kotlin的jar包打开 右键选择 Show in Explorer就可以看到kotlin的jar包和资源下载在本地的路径了。 如下图所示 kotlin的所有jar下载的路径为 C:/Users/Administrator/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/ Users是我的电脑名。 如下图所示 二、Kotlin和Java文件互相转换1Java转Kotlin 1.选中Java文件点击菜单栏Code--Convert Java File to Kotlin File 即可把java文件转换成kotlin文件。2.点击右上角提示的 configue 然后会出现一个弹窗。3.设置工程里面哪些需要配置kotlin文件支持。比如我这里选中的是single modulemodule名为kotlinlibrary。还可以选择kotlin的编译和运行版本号比如我选择的1.2.30然后点击OK即可如下图所示。4.然后我们就可以看到项目根路径的build.gradle和kotlinlibrary这个module的build.gradle都做了kotlin的配置。如图所示根路径的 build.gradle 配置 kotlinlibrary 的 build.gradle 配置 2Kotlin转Java 点击菜单栏Tools--Kotlin--Decompile Kotlin To Java 就可以了我用的AS3.1.3不知道为啥我的是灰色的有人可以告诉我原因吗 三、Kotlin项目里面集成Java的module 这一部分源码请看githubhttps://github.com/AweiLoveAndroid/Kotlin-learn/tree/master/KotlinAndJavaDemo 1创建一个名为 KotlinAndJavaDemo 的项目创建一个module,取名为JavaModule跟普通创建一样只是最后一步要选择使用的语言是Java如图所示 2项目代码和平常使用Java开发一样。 代码、资源文件、预览图都和平时开发是一样的。 3如果我们是一个Java的lib库kotlin也是可以直接调用的。 我的kotlin的module名为app 依赖了一个java的名为javalibrary的lib。我需要在app里面使用javalibrary的ResourcesUtils然后获取状态栏高度如果成功就弹吐司显示状态栏高度。 这个是javalibrary的ResourcesUtils /** * 描述 * 资源工具类 */ publicclassResourcesUtils{ /** * 获取状态栏高度 * return 状态栏高度 */ publicstaticintgetStatusBarHeight(Context context){ //获取status_bar_height资源的ID intresourceId context.getResources().getIdentifier( status_bar_height, dimen, android); if(resourceId  0) { //根据资源ID获取响应的尺寸值 returncontext.getResources().getDimensionPixelSize(resourceId); } else{ returndip2px(context, 24f); } } // dp 转成 px privatestaticintdip2px(Context context, Float dpValue){ floatscale context.getResources().getDisplayMetrics().density; return( int) (dpValue * scale  0.5f); } } 再来看看app的MainActivity里面的使用 classMainActivity: AppCompatActivity() { overridefunonCreate(savedInstanceState: Bundle?){ super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) init( this) } funinit(context: Context){ valstatusBarHeight ResourcesUtils.getStatusBarHeight(context) Toast.makeText(context, 状态栏高度为$statusBarHeight,Toast.LENGTH_SHORT).show() } } 4我们在看看看完整的工程结构图 四、Java项目里面集成Kotlin的module 这一部分源码请看githubhttps://github.com/AweiLoveAndroid/Kotlin-learn/tree/master/JavaAndKotlinDemo 1创建一个名为 KotlinAndJavaDemo 的项目创建一个module,取名为KotlinModule跟普通创建一样只是最后一步要选择使用的语言是Kotlin如图所示 2项目代码和平常使用Kotlin开发一样。 3如果我们是一个Kotlin的lib库Java也是可以直接调用的。 我的Java的module名为app 依赖了一个Kotlin的名为kotlinlibrary的lib。我需要在app里面使用kotlinlibrary的ResourcesUtils然后获取状态栏高度如果成功就弹吐司显示状态栏高度。 这个是kotlinlibrary的ResourcesUtils packagecom.lzw.kotlinlibrary importandroid.content.Context /** * 描述 * 资源工具类 */ classResourcesUtils{ // 伴生对象 这里面包裹的方法 实际上类似于java的静态方法 companionobject{ /** * 获取状态栏高度 * return状态栏高度 */ fungetStatusBarHeight(context: Context): Int{ //获取status_bar_height资源的ID valresourceId context.resources.getIdentifier( status_bar_height, dimen, android) returnif(resourceId  0) { //根据资源ID获取响应的尺寸值 context.resources.getDimensionPixelSize(resourceId) } else{ dip2px(context, 40f) } } /** * dp 转 px(像素) */ fundip2px(context: Context, dpValue: Float?): Int{ valscale context.resources.displayMetrics.density return(dpValue!! * scale  0.5f).toInt() } /** * px(像素) 的单位 转 dp */ funpx2dip(context: Context, pxValue: Float?): Int{ valscale context.resources.displayMetrics.density return(pxValue!! / scale  0.5f).toInt() } } } 再来看看app的MainActivity里面的使用 publicclassMainActivityextendsAppCompatActivity{ Override protectedvoidonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init( this); } privatevoidinit(Context context){ intstatusBarHeight ResourcesUtils.Companion.getStatusBarHeight(context); Toast.makeText(context, 状态栏高度为 statusBarHeight  像素,Toast.LENGTH_SHORT).show(); } } 4我们在看看看完整的工程结构图 五、同一个module同时使用Java和Kotlin一给kotlin文件单独配置文件路径 我们还是拿第一个前面的工程KotlinAndJavaDemo为例我在moduleapp里面同时使用kotlin和java两种语言做开发。 为了便于区分需要在该module的build.gradle文件做配置。 默认情况Kotlin文件存放在src/main/java/文件夹下。若是需要隔开java文件和Kotlin文件我们可以指定一个专门存放Kotlin文件的文件夹, 首先在src/main目录下创建文件夹kotlin然后做以下配置 android { // 配置一个路径专门存放kotlin文件 sourceSets { main.java.srcDirs  src/main/kotlin } 图示如下 二代码里面的使用 1如果主工程是kotlin写的部分是Java写的。 比如Activity是kotlin写的工具类是java写的实例代码如下 packagecom.lzw.kotlinandjavademo importandroid.content.Context importandroid.os.Bundle importandroid.support.v7.app.AppCompatActivity importandroid.util.Log importandroid.widget.Toast // 使用本包名里面的对应文件 importcom.lzw.kotlinandjavademo.util.ResourcesUtils classMainActivity: AppCompatActivity() { overridefunonCreate(savedInstanceState: Bundle?){ super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) init( this) } funinit(context: Context){ valstatusBarHeight ResourcesUtils.getStatusBarHeight(context) Toast.makeText(context, 状态栏高度为$statusBarHeight像素, Toast.LENGTH_SHORT).show() Log.e( tag, 状态栏高度为$statusBarHeight像素) } } 工程目录结构如图所示 2如果主工程是Java写的部分是Kotlin写的。 比如Activity是Java写的工具类是kotlin写的实例代码如下 packagecom.lzw.javaandkotlindemo; importandroid.content.Context; importandroid.os.Bundle; importandroid.support.v7.app.AppCompatActivity; importandroid.widget.Toast; importcom.lzw.javaandkotlindemo.util.ResourcesUtils; publicclassMainActivityextendsAppCompatActivity{ Override protectedvoidonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init( this); } privatevoidinit(Context context){ intstatusBarHeight ResourcesUtils.Companion.getStatusBarHeight(context); Toast.makeText(context, 状态栏高度为 statusBarHeight  像素,Toast.LENGTH_SHORT).show(); } } 工程目录结构如图所示 原谅地址http://www.sohu.com/a/273947418_608959
http://www.pierceye.com/news/127499/

相关文章:

  • 合肥珍岛公司做网站推广怎么样用excel做网站
  • 大连网站建设开源广告制作行业
  • 安阳河南网站建设wordpress 建立导航
  • 电子商务网站建设 考卷wordpress替换头像
  • 石家庄的网站的公司手机wordpress加载图片慢
  • 建企业网站教程wordpress网站被黑
  • 饮料网站建设市场分析什么是seo网站优化
  • 滑动网站国家级示范建设网站
  • 做一门户网站价格个人网站制作模板图片
  • 做网站需要审核资质吗wordpress 防恶意注册
  • 怎么不花钱建网站无人售货机
  • 可以做空股票的网站thinkphp网站开发
  • 给别人做网站怎么赚钱吗专业网络推广软件
  • SOHO英文网站制作晋江网站制作
  • 启东住房和城乡建设局网站邢台网站制作报价多少钱
  • 佛山网站建设seo优化做英文的小说网站有哪些
  • 安顺建设局网站官网哪里有响应式网站企业
  • 唯品会一家做特卖的网站国家商标查询官方网站
  • 网站宝搭建网站环境做电商网站一般需要什么流程图
  • 南通网站建设团队wordpress广告产检
  • 做网站刷赞qq怎么赚钱邢台路桥建设总公司没有网站吗
  • 网站仿站教程常用外贸网站
  • 南昌市有帮做网站的吗纵横天下网站开发
  • pc网站直接转换成移动端的网站黑果云免费虚拟主机
  • 网站建设用什么科目wordpress当前分类链接地址
  • 做一万个网站网站做下载功能
  • 佛山建站模板制作wordpress加上live2d
  • 樟木头网站仿做深圳网站开发公司
  • 孙俪做的网站广告微信如何修改wordpress
  • 有什么手机做网站的免费ppt模板下载花