作业帮 > 综合 > 作业

android的activity类与intent的问题

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 00:03:04
android的activity类与intent的问题
是不是有几个activity就要有几个类
在一个activity中可以既发送intent 又getIntent吗
如果可以的话 xml中要怎么设置呀
请高手给个小例子
每个Activity都需要一个类来继承,
Activity你可以理解成一个应用场景,如果你想像成web网页,那么它就是一个页面.
多个activity之间可以跳转,就像网页之间相互跳转一样.你只需要设置Intent,不需要GetIntent
GetIntent是系统做的事情,系统收到你的Intent意图,会自动生成你想要跳到的那个页面的类对象实例,并自动回调该类的Oncreate方法,你只要在该Oncreate方法里写下你那个页面的UI初始化工作就可以了.
跳转可以像你说的那样使用Intent机制来实现:
Intent intent = new Intent();
intent.setClass(this, Page.class);
this.startActivity(intent);
这样就可以了.关键是setClass方法, 参数一是当前这个Activity也就是当前页面的类,参数二是另一个页面的class
为什么是class而不是object对象呢? 因为Android希望你不要去实例new一个页面对象,而是告诉系统你要跳转到哪个页,由系统帮你new一个该页面的对象.然后系统帮你跳过去,这个过程你不要运控制就好了.
继续:
当this.startActivity方法执行后,页面就会从当前页跳转到你指定的下一页,这我的例子中,那个页叫Page ,它也是extends Activity的一个类,
有一个前提,所有的Activity(包括这个Page)都必须实例Activity的抽像方法OnCreate();因为Activity是抽象类,而onCreate又是抽像方法,所以你必须实现,填完整这个方法,在里面写点东西,一般都是生成一些,按钮,菜单,图片,文字等进行界面的初始化.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
instance=this;
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.setContentView(R.layout.main);
//TODO
//your code
}
同样还有Onstop,onResume等方法可以实现,但他们不是抽像方法,可以选择性的实现.不强制.
至于在xml中的配置是这样的,你需要填所有的activity页面类的路径









如上所示,在工程的AndroidManifest.xml文件中,有一个application标签, 每个Activity你都必须为它生成一个
标签, 其中程序的入口activity不用你填,由插件自动帮你做好了,你需要填写的是Page那个,

".Page"代表是当前路径下的 Page.java文件
lable代表是那个页面默认的标题栏字符,
“@string/app_name” 代表访字符存放在 res/values/strings.xml文件中有一个 app_name的字段里
所有这些都是很简单的,你应该去书点买一本入门的书来看,会比现在没有头绪好很多.
重要是你要搞清楚Activity的生命周期,Oncreate是怎么被系统自动调用的.
最后Intent中可以带数据过去,你现在可以采用Bundle 机制,Bundle 可以想像成一个Hashmap
也就是说你可以从一个页面传健值对序列到另一个页面.
好好看看书吧.