标签分类
当前位置:首页 > 移动开发电子书 > Android电子书网盘下载
疯狂Android讲义(Kotlin版) 疯狂Android讲义(Kotlin版)
votal30

votal30 提供上传

资源
18
粉丝
28
喜欢
126
评论
7

    疯狂Android讲义(Kotlin版) PDF 完整影印版

    Android电子书
    • 发布时间:

    给大家带来的一篇关于Android相关的电子书资源,介绍了关于Android、讲义、Kotlin方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小522.1 MB,李刚编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.4,更多相关的学习资源可以参阅 移动开发电子书android视频、等栏目。

  • 疯狂Android讲义(Kotlin版) PDF 下载
  • 下载地址:https://pan.baidu.com/s/1Qq1cHaX7tMR_Dyv729fJQw
  • 分享码:5qt1
  • 疯狂Android讲义(Kotlin版)

    内容介绍

    这书是《疯狂Android讲义》的Koltin版,应用场景《疯狂Android讲义(第3版)》升級而成。这书应用场景*的Android 8.0,并选用了谷歌强烈推荐的IDE:Android Studio做为开发环境,书中每一实例、每一截屏都全方位升級到Android 8.0。这书全方位地详细介绍了Android应用程序开发的有关专业知识,全书內容遮盖了Android操作界面程序编写、Android几大部件、Android資源浏览、图型/数字图像处理、事件处理体制、Android键入/輸出解决、声频/视頻多媒体系统应用程序开发、OpenGL与3D应用程序开发、通信网络程序编写、Android融合RESTful服务器端、控制器应用程序开发、gps应用程序开发、融合第三方平台Map服务项目等。这书并不是限于详细介绍Android程序编写的各种各样基础知识,只是从“新项目驱动器”的视角来授课基础理论。全书总共包含近一百多个案例,这种示范的案例既可帮小读者尽快了解各知识结构图在实际上开发设计中的运用,也能够小读者在实际上开发设计时做为参照、用来就用。这书*后还出示了2个好用的实例:合金弹头和电子器件竞拍系统软件Android手机客户端(应用场景流行的RESTful服务器端),具备挺高的实用价值。这书出示了配套设施的答疑解惑网址,要是小读者在阅读文章这书时碰到了技术性难题,能够登陆疯狂javas同盟发帖子,写作者将会立即给予解释。

    目录

    • 第1章 Android应用和开发环境 1
    • 第2章 Android应用的界面编程 59
    • 实例:用编程的方式开发UI界面 66
    • 实例:简单图片浏览器 68
    • 实例:跟随手指的小球 70
    • 实例:丰富的表格布局 75
    • 实例:霓虹灯效果 79
    • 实例:梅花布局效果 81
    • 实例:计算器界面 83
    • 实例:功能丰富的文本框 93
    • 实例:按钮、圆形按钮、带文字的图片按钮 96
    • 实例:利用单选钮、复选框获取用户信息 98
    • 实例:动态控制布局 101
    • 实例:手机里的“劳力士” 103
    • 实例:图片浏览器 106
    • 实例:强大的图片按钮 108
    • 实例:使用QuickContactBadge关联联系人 109
    • 实例:改变分隔条、基于数组的ListView 112
    • 实例:使用ArrayAdapter创建ListView 114
    • 实例:使用SimpleAdapter创建ListView 116
    • 实例:扩展BaseAdapter实现不存储列表项的ListView 119
    • 实例:带预览的图片浏览器 123
    • 实例:自动播放的图片库 129
    • 实例:叠在一起的图片 132
    • 实例:通过拖动滑块来改变图片的透明度 138
    • 实例:通过星级改变图片的透明度 139
    • 实例:仿Android系统的Launcher界面 141
    • 实例:支持动画的图片浏览器 145
    • 实例:自动播放的图片库 148
    • 实例:带图片的消息提示 150
    • 实例:选择您的生日 152
    • 实例:用户选择日期、时间 154
    • 实例:选择您意向的价格范围 156
    • 实例:搜索 158
    • 实例:可垂直和水平滚动的视图 160
    • 实例:加薪通知 162
    • 实例:显示提示消息的对话框 165
    • 实例:简单列表项对话框 166
    • 实例:单选列表项对话框 166
    • 实例:多选列表项对话框 167
    • 实例:自定义列表项对话框 168
    • 实例:自定义View对话框 168
    • 实例:使用XML资源文件定义菜单 180
    • 实例:“标题”上的时钟 189
    • 实例:ActionBar结合Fragment实现Tab导航 190
    • 实例:ActionBar结合Fragment实现下拉式导航 192
    • 第3章 Android的事件机制 195
    • 实例:控制飞机移动 199
    • 实例:获取系统设备状态 209
    • 实例:监听屏幕方向的改变 211
    • 实例:自动播放动画 213
    • 实例:使用新线程计算质数 216
    • 实例:使用异步任务执行下载 219
    • 第4章 深入理解Activity与Fragment 221
    • 实例:用LauncherActivity开发启动Activity的列表 223
    • 实例:使用ExpandableListActivity实现可展开的Activity 224
    • 实例:PreferenceActivity结合PreferenceFragment实现参数设置界面 224
    • 实例:用第二个Activity处理注册信息 233
    • 实例:用第二个Activity让用户选择信息 236
    • 实例:开发显示图书详情的Fragment 250
    • 实例:创建ListFragment 251
    • 实例:开发兼顾屏幕分辨率的应用 255
    • 第5章 使用Intent和IntentFilter通信 263
       

    读书笔记

    kotlin改善java代码实例分析


    本文主要举几个kotlin如何改善java代码的例子

    字符串字面值及模板

    字符串字面值

      @Test
      fun testStringLiterals(){
        val a = """if(a > 1) {
         |  return a
         |}""".trimMargin()
        println(a)
    
        val b = """Foo
            Bar""".trimIndent()
        println(b)
      }

    有了字符串字面值,写sql啥的就不用那么费劲拼接字符串了

    字符串模板

     @Test
      fun testStringTemplate() {
        val name = "hello kotlin"
        println("Hello, $name!");
        val data = listOf(1,2,3)
        println("Hello, ${data[0]}!")
      }

    这个字符串模板更是强大,相当于内置一个freemarker,而且都不用手工传递变量值

    for循环中获取当前index

    @Test
      fun testForEachIndex(){
        val items = listOf("apple", "banana", "kiwifruit")
        for (index in items.indices) {
          println("item at $index is ${items[index]}")
        }
      }

    在java里头for each循环要得到index,就得在外面声明下index,自己统计,太别扭了

    data class

     //生成getter/setter,equals,hashcode,toString,copy等
      //setter是var变量才有
      data class Customer(val name: String, val email: String)
    
      @Test
      fun testDataClass(){
        val customer = Customer("admin","admin@admin.com")
        println(customer)
      }

    java总是要声明getter/setter,好处是可以在IDE查找那些方法有调用getter/setter;

    lombok虽然可以自动生成getter/setter,@Data注解也可以生成equal/hashcode方法,但是lombok不方便在IDE查找那些方法有调用getter/setter;kotlin的data class帮你解决这些问题

    Null Safety

     @Test
      fun testIfNotNull(){
        val files = File("Test").listFiles()
        println(files?.size) //null
      }
    
      @Test
      fun testIfNotNullAndElse(){
        val files = File("Test").listFiles()
        println(files?.size ?: "empty")
      }

    这个Null Safety太有用了,比起java的三元表达式更简洁一点,在表达式为true的时候就不用重复写要返回的内容,只要写else部分。

    Null Safety在流式/链式调用的时候更有用

    // 如果 `person` 或者 `person.department` 其中之一为空,都不会调用该函数:
    person?.department?.head = managersPool.getManager()

    小结

    本文只是举了kotlin可以改善java代码的几个例子,kotlin太强大了,目标是要替代java。其中很多设计可以看到scala的影子,但是黑魔法也比较多,学习曲线稍微有点抖,不过如果不使用太高级的语法,也还OK。

    相关参考:https://www.kotlincn.net/docs/reference/

    上一篇:Node.js调试指南  下一篇:Android Telephony原理解析与开发指南

    展开 +

    收起 -

    Android相关电子书
    学习笔记
    网友NO.953884

    Spring Boot + Kotlin整合MyBatis的方法教程

    前言 最近使用jpa比较多,再看看mybatis的xml方式写sql觉得不爽,接口定义与映射离散在不同文件中,使得阅读起来并不是特别方便。 因此使用Spring Boot去整合MyBatis,在注解里写sql 参考《我的第一个Kotlin应用》 创建项目,在build.gradle文件中引入依赖 compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:$mybatis_version"compile "mysql:mysql-connector-java:$mysql_version" 完整的build.gradle文件 group 'name.quanke.kotlin'version '1.0-SNAPSHOT'buildscript { ext.kotlin_version = '1.2.10' ext.spring_boot_version = '1.5.4.RELEASE' ext.springfox_swagger2_version = '2.7.0' ext.mysql_version = '5.1.21' ext.mybatis_version = '1.1.1' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath("org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version")// Kotlin整合SpringBoot的默认无参构造函数,默认把所有的类设置open类插件 classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlin_version") classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlin_version") }}apply plugin: 'kotlin'apply plugin: "kotlin-spring" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-pluginapply plugin: 'org.springframework.boot'apply plugin: "kotlin-jpa" //https://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-helljar { baseName = 'chapter11-6-5-service' version = '……

    网友NO.390835

    Spring Boot和Kotlin的无缝整合与完美交融

    前言 本文讲解 Spring Boot2 基础下,如何使用 Kotlin,并无缝整合与完美交融。为了让读者更加熟悉 Kotlin 的语法糖,笔者会在未来的几篇文章中,聊聊 Kotlin 的新特性及其语法糖。下面话不多说了,来一起看看详细的介绍吧 环境依赖 修改 POM 文件,添加 spring boot 依赖。 parent groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-parent/artifactId version2.0.2.RELEASE/version relativePath//parentdependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-jdbc/artifactId /dependency/dependencies 紧接着,我们需要添加 mysql 依赖。 dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version5.1.35/version/dependencydependency groupIdcom.alibaba/groupId artifactIddruid/artifactId version1.0.14/version/dependency 最后,添加 Kotlin 依赖。 dependency groupIdorg.jetbrains.kotlin/groupId artifactIdkotlin-stdlib-jdk8/artifactId/dependencydependency groupIdorg.jetbrains.kotlin/groupId artifactIdkotlin-reflect/artifactId/dependencydependency groupIdorg.jetbrains.kotlin/groupId artifactIdkotlin-stdlib/artifactId/dependency 注意的是 ,在 Kotlin 中,data class 默认没有无参构造方法,并且 data ……

    网友NO.187973

    Kotlin 接口与 Java8 新特性接口详解

    前言 在看一本关于高性能编程的时候发现 Java8 中关于接口的新特性的介绍,这个特性是真的棒,解决了一个接口中有多个方法,但并不想实现该接口的类都去实现所有的方法,简单的说就是在类需要的情况再去重写接口。所以有了以下的特性出现。 接口增强 在 Java8 的中接口特性中增加以下俩种特性: 在接口中可以使用 default 关键字修饰默认方法或扩展方法,抽象方法因为其特性的原因无法使用 接口可以使用 static 声明为静态方法,可以通过类直接调用Android Studio 中使用 Java8 需要在模块中的 build.gradle 中配置指定的版 Java 版本,当然使用 Kotlin 为开发语言的话需要为 Kotlin 指定 Jvm 版本,因为 Kotlin 使用的是 Jvm 1.6 那么下面就来展示他们的配置方法: android {defaultConfig {... kotlinOptions {jvmTarget = '1.8'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}} 经过以上的配置就可以使用 Java8 的新特性了代码示例: puclic interface onTest{void onTestStandardMenthod();default void onTestDefaultMethond(){// 默认的逻辑}static void onTestStaticMenthod(){// 默认的逻辑}}public class TestActivity extends AppCompatActivity implements onTest{@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 通过类名调用的接口onTest.onTestStaticMentho……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明