102
社区成员
发帖
与我相关
我的任务
分享一、移动平台开发环境及其简介
(1)移动平台选择
1、移动(操作系统)平台:Android系统、iOS系统、Windows Phone系统等。
2、Android:开源、巨大生态、可定制、适用于各类硬件,iOS等:闭源、开发门槛高等。
(2)Android简介
1、发展历程
2、Android VS iOS(开发平台、开发工具、开发语言不同,兼容性方面iOS高,Android低)
3、Android系统架构
1.应用程序层
2.应用程序框架层
3.系统运行库层
4.Linux内核层
(3)移动开发环境
1、搭建开发环境(Android Studio+自带虚拟机AVD/Genymotion等)
2、开发语言:
1.Java语言:面向对象的编程语言(常用,Android/Harmony)
2.C语言:面向过程的语言(.so等)
3.Kotlin语言
3、模拟器
1.Android Virtual Devic(AVD)或真机
2.Genymotion(需要Virtual Box)
3.雷电、mumu
(4)第一个Android项目
二、Kotlin编程
(1)简介
1、发展历程
2、优势:简洁、高级、安全、兼容。
3、原理:由于Java虚拟机的工作机制,Kotlin可以与Java 100%兼容。Java虚拟机不会直接和代码打交道,而是和代码编译之后生成的class文件打交道,而Kotlin也有一个编译器可以将Kotlin代码编译为同样规格的class文件。
(2)如何运行
1、Intellij IDEA
2、在线运行
3、Android Studio
(3)变量
1、只有两种关键字:val(声明不可变变量)var(声明可变变量)
2、抛弃基本数据类型,使用对象数据类型。如:int在Java中是整型变量关键字,而在Kotlin中,Int是一个类。
(4)函数
函数声明规则:fun 函数名(param1:对象数据类型1,param2:对象数据类型2):对象数据类型{ 函数体 }
例如:fun methodName(p1: Int, p2: Int): Int{
return 0
}
可省略为:fun methodName(param1: Int, param2: Int) = 0
(5)程序逻辑控制
1、if条件语句
2、when语句
1.精确匹配
2.类型匹配
3、for-in循环
1.val range=0..10表示[0, 10];val range=0 until 10表示[0, 10)可用for-in遍历区间,例如:fun main(){for(i in 0..10){println(i)}}
2.跳过一些元素:用step,将上述代码改为for(i in 0 until 10 step 2)
3.降序区间:用downTo,将上述代码改为for(i in 10 downTo1)
(6)面向对象编程
1、类与对象
2、继承:父类前需要主动声明open关键字,子类要用“:父类”来继承父类的字段和函数,例如open class Person和class Student : Person()
3、接口Interface
4、数据类与单例模式
(7)Lambda编程
1、集合创建:List、Set、Map
2、lambda表达式:Lambda就是一小段可以作为参数传递的代码。Lambda表达式的语法结构:{参数名1: 参数类型, 参数名2: 参数类型 -> 函数体}
3、集合的函数式API
(8)空指针检查:Kotlin默认所有的参数和变量都不可为空
(9)Kotlin中的小魔术
1、Kotlin中可以直接将表达式写在字符串内
2、Kotlin允许在定义函数的时候给任意参数设定一个默认值,这样当调用此函数时就不会强制要求调用方为此函数传值。
三、先从看得到的入手,探究Activity
(1)Activity是什么
Activity是用于和用户进行交互的、一种包含用户界面的组件。一个应用程序中可以包含零个或多个Activity。
(2)Activity的基本用法
1、手动创建Activity
2、创建和加载布局
3、在Manifest.xml文件中注册
4、在Activity中使用Toast
5、在Activity中使用Menu
6、销毁一个Activity



override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textView = findViewById<TextView>(R.id.textView)
textView.text = "你好,欢迎来到Android Kotlin世界!"
}


问题1:启动AVD后,显示一直黑屏的问题
问题1解决方案:对AVD进行编辑,点击Device Manager中AVD后面的“Edit”

在打开的“Virtual Device Configuration”界面中,点击“Show Advanced Settings”

在“Emulated Performance”一栏中,把“quick boot”改成“cold boot”

AVD黑屏问题解决!
问题2:新建项目慢
问题2解决方案:我安装Android Studio的文件夹中含有中文汉字,把中文汉字删除,可以加快项目新建的速度。
问题3:没有layout文件夹
问题3解决方案:方法一:在新建项目时,选择“Empty Views Activity”。方法二:在Android Studio左侧Project栏中,点击鼠标右键,选择New,新建一个Empty Views Activity。
本次实验我熟悉了Android Studio开发app的流程,在复习课程内容的基础上,使用Android Studio探索试验Kotlin语法、Android项目结构、Activity的基本用法等。
首先,我复习并练习了Kotlin编程。然后理解了Android的项目结构:如app是应用相关文件的存放目录,app目录下的build是编译后产生的相关文件,libs是用于存放相关依赖库的,src目录下的main目录下的java目录是存放代码的目录,res是资源文件存放目录(包括:布局、图像、样式等)。最后我实践练习了Activity的基本用法,手动创建Activity和创建、加载布局。