Android Learning 2
今天先创建第一个app,跟的课程是google推荐的Developing Android Apps with Kotlin https://classroom.udacity.com/courses/ud9012 由于上面这个课程都是视频,所以也跟着google的kotlin android training get started补充理论知识 1. Explore Android Studio 上一篇文章已经讲过了gradle在项目中的结构,除了gradle外,其它的代码文件的分布也和java的项目类似,主要说一下其它文件夹。 res/layout android的布局文件夹,每一个Activity对应一个xml布局文件,在布局文件里面可以看到Activity的页面UI显示。 AndroidManifest.xml 一直以为是mainfest,结果是manifest(清单),列举了android系统运行app所需要的清单(Activity列表和权限)。 2. Anatomy(剖析) of Basic Android Project 下面就开始进行第一个app的开发,app叫dice roller(投色子),创建一个空项目后打开运行可以看到Hello World,就证明整个环境是通的。下面看代码。 MainActivity 首先看到的类是MainActivity,MainActivity就是Hello world这个页面的Activity。而页面的layout就是res/layout下的activity_main.xml,layout命名规则名称后置。对于Activity和layout中的xml的理解,和前端的html和js的关系类似,js处理交互逻辑,html显示页面UI,这里就是Activity处理交互逻辑,xml文件显示页面UI。 1 class MainActivity : AppCompatActivity() { ... 可以看到MainActicity继承自AppCompatActivity,AppCompatAcitvity是Activity的一个子类,兼容性和新特性都很好。 onCreate() 1 2 3 4 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } Activity不用构造器去初始化对象,而是用生命周期函数,onCreate()就是一个生命周期函数,它是Activity生命周期中的开始。 ...