第一行代码,Activity部分

文件夹解释
1.src src目录是放置我们所有java代码的地方
2.gen       gen目录里的所有文件都是自动生成的,主要有一个R.java文件,项目中添加的任何文件


都会在其中生成一个相应的资源ID.          永远不要手动修改它。
3.bin 包含了编译时自动产生的文件,会有当前项目编译好的安装包。
4.libs 如果项目中使用了第三方jar包,就需要把这些都放在libs目录下,放在这个目录下的包都


会被自动添加到构建路径中去
5.res 项目中使用的所有图片,布局,字符串等资源都要存放在这个目录下,前面提到的


R.java就是根据这个目录生成的当然这个目录下还有很多子目录,图片放在drawable中,布局放在


layout目录下,字符串放在values目录下。
6.AndroidMainifest.xml 整个安卓项目的配置文件,在程序中定义的四大组件都要在这里注


册,另外还可以在这个文件中添加权限声明,没有在这里注册的活动是不能使用的。(注意,那些没


有主活动的应用,也是可以安装的,只是无法打开这个程序,这种程序一般都是提供第三方服务的


,例如支付宝的快捷支付)
7.project.properties 这个文件通过一行代码指定了编译程序时所使用的SDk 版本




活动的注册声明都要放在<application>标签内通过<Active>标签来进行注册
用android:name来指定具体注册哪一个活动,由于外面的<mainfest>标签中已经指定了包名,只


需要写上(.活动名)就可以。
android:id是给当前元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作


使用Intent在活动之间穿梭(由主活动跳跃到其他活动)


1.使用显示Intent




创建布局文件,创建新的活动,在AndroidManifest中为SecondActive进行注册
由于SecondActive不是主活动,所以不需要在<intent-filter>配置内容
Intent是android程序中各个组件之间进行交互的重要方式,不仅可指明当前组件想要执行的动作,


还可以在不同组件之间传递数据。
2.使用隐式Intent




不明确的指出我们想要启动那个活动,而是制动了一系列更为抽象的action和category,


<action>标签中指明当前活动可以响应的action,以字符串表示
<category>标签中包含了附加信息,更精确的表示了当前活动能够响应的Intent中可能还有的


category。
只有二者中的内容匹配上Intent中指定的action和category时,这个活动才能响应Intent。




1.活动的生命周期




返回栈,默认情况下,每当启动一个新的活动,他会在返回栈中入栈,并处于栈顶的位置,每当按


下,back以后或者调用finish();以后处于栈顶的活动会出栈,这时,前一个就会重新处于栈顶位


置,系统总是会显示栈顶的活动给用户




2.活动状态(四种)
1.运行状态,处于返回栈的栈顶时,就是运行状态。是系统最不愿意回收的,会带来非常差的用户


体验。
2.暂停状态,当一个活动不处于栈顶,但任然可见时(类似于对话框的活动,只会占用屏幕一部分


区),这个活动就是暂停状态,处于暂停状态的活动任然是活着的,系统也不愿去回收。理由同上
3.停止状态,当一个活动不在处于栈顶,且完全不可见时,就进入了停止状态,系统仍会为这种活


动保存相应的状态和成员变量,但这并不是完全可靠的,当其他地方需要内存时,处于停止的活动


可能会被系统收回。
4.销毁状态,当一个活动从返回栈中移除后就变成了销毁状态。系统会最倾向于回收处于这种状态


的活动,从而保证手机的内存充足。


@Override      给编译器示意接下来的一个方法是重载父类方法,可以帮忙检查错误
<item>标签就是用来创建具体的某一个菜单项,然后通过android:id给这个菜单项指定一个唯一标
识符,通过android:title给这个菜单项指定一个名称


Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提


供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()和putInt()/getInt(),


putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。Bundle的内


部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值:


活动的启动模式(启动模式在AndroidManifest.xml中修改)
1.standard    
默认启动模式。不显示指定情况下,所有活动都是自动启动模式
由于android用返回栈来管理活动,对于使用standard模式启动的活动,系统不会在乎这个活动是


否已经在返回栈中存在,每次启动都会创建该活动的新实例
2.singleTop
在启动活动时,如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会创建新的活动



3.singleTask
每次启动启动模式为singleTask时,在返回栈中检查是否存在该活动的实例,如果发现已存在,则


直接使用该实例,如果有,则直接使用该实例,并把在这个活动之上的所有活动都出栈,如果没有


就创建一个新的实例。
4.singleInstance
创建一个共用返回栈来共享活动。启动模式为singleInstance的是唯一的。


小结:Toast,系统提供的提醒方式,修改onClick。
用 Intent启动活动,显示和隐式。
用Intent传递数据,putExtar(”键“,内容);
在另一个活动里用getIntent获取用于启动自己的Intent,再调用getStringExtar(“键”)传入相


应的值。
活动的生命周期,返回栈,四种启动方式,启动活动的最佳写法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值