Android学习笔记二:Activity & Layout

一些理解

直观来看Activity就是我们手机中看到的一个一个的页面,页面中的内容就是布局,布局内放置各种控件。多组页面以返回栈放方式存放,类似堆栈后进先出。一个堆栈即一个任务,只有栈顶的页面处于运行状态。一个app可以存在多个返回栈,即多任务。(个人理解欢迎纠正)

活动(Activity)的周期

每个新建一个活动都要在AndroidManifest文件中注册(AS会自动完成)。

活动存在四种状态,对应于其在栈中的不同位置:
运行状态:活动处栈顶时;
暂停状态:活动不处于栈顶,但可见时;
停止状态:活动不可见时;
销毁状态:活动出栈时。

活动的生命周期包含7个回调方法,在不同的状态时自动调用:


活动的生命周期

Intent

活动之间的切换和数据传递需要借助Intent,具体用法为new一个Intent实例,并以各种方式(显式或隐式)指定下一个活动,使用Intent的putExtra()方法,将要传递的数据放入Intent,然后调用startActivity()startActivityForResult()方法传入Intent实现跳转。Intent甚至可以跳转到其他app的活动中,实现应用间功能共享。

Layout

Android讲究逻辑和布局的分离,每一个活动最好对应一个布局。布局文件写在res文件夹的xml文件中,并在java中以R.Layout.文件名的方式调用。常用的四种布局有LinerLayout,RelativeLayout,FrameLayout,PercentLayout。布局标签内定义各种控件,每个控件要命名一个ID,在java中以 R.id.命名方式调用。

书中未提到的

Layout预览

新版的AS似乎无法直接预览Layout文件,这给编辑布局文件带来不少麻烦,解决方法参考此文

注册监听器

书中介绍了两种监听器的注册方法,一种为匿名类方式,对于java不太熟练的我来说语法有些怪异,另一种为实现接口的方式,不知为何实际无法实现,后参考此文采用了第四种方式实现。

例程

关于控件,内容过于繁杂,在此不做赘述,练习代码在我的git仓库持续更新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,134评论 25 709
  • Day1: 在代码中通过R.string.hello_world可以获得该字符串的引用; 在XML中通过@stri...
    冰凝雪国阅读 1,481评论 0 5
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,688评论 0 17
  • 〖态度更重要〗 ——〈开灯心语〉 懒妈妈会培养出勤女儿, 源于: 女儿有了勤的空间, 并对女儿赞叹不已……...
    开灯教育_苏州阅读 1,551评论 0 5
  • 沉闷的夏夜,热 蛐蛐儿或许在叫,或许它睡着了 橙红色的梦,我与你相逢 在梦里我变成了蛐蛐儿,一声声的唤着你 那一夜...
    hp3785阅读 223评论 0 0