android的activity类与intent的问题

每个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页面类的路径
<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Mstar"
          android:label="@string/app_name">
      <intent-filter>
            <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
     </activity>
    <activity android:name=".Page" android:label="@string/app_name" >
 </application>

如上所示,在工程的AndroidManifest.xml文件中,有一个application标签, 每个Activity你都必须为它生成一个
<activity>标签, 其中程序的入口activity不用你填,由插件自动帮你做好了,你需要填写的是Page那个,
即 <activity android:name=".Page" android:label="@string/app_name" >
".Page"代表是当前路径下的 Page.java文件
lable代表是那个页面默认的标题栏字符,
“@string/app_name” 代表访字符存放在 res/values/strings.xml文件中有一个 app_name的字段里

所有这些都是很简单的,你应该去书点买一本入门的书来看,会比现在没有头绪好很多。
重要是你要搞清楚Activity的生命周期,Oncreate是怎么被系统自动调用的。

最后Intent中可以带数据过去,你现在可以采用Bundle 机制,Bundle 可以想像成一个Hashmap
也就是说你可以从一个页面传健值对序列到另一个页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值