zoukankan      html  css  js  c++  java
  • android开发------初识Activity

    之前我们简单说过,Activity实际上是一个窗体,用来存放我们的程序外观。

    我们先来创建一个空的Activity,不加载任何layout。要做的是,定义自己的类,继承android的Activity类。

    然后覆盖父类的onCreate()方法。覆盖后必须先调用super.onCreate方法,这样才能初始化必要的组件,这是必须的。

    不信你可以注释掉super.onCreate()方法试试

     1 package com.aidevelops.activitys;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 
     6 public class MainActivity extends Activity
     7 {
     8     @Override
     9     protected void onCreate(Bundle savedInstanceState)
    10     {
    11         super.onCreate(savedInstanceState);
    12     }
    13 }
    View Code

    这样,一个什么也没有的Activity便创建好了。
    当然这个Activity也没有什么用处。

    下一步我们让它加载一个界面,只需使用setContentView()方法

     1 package com.aidevelops.activitys;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 
     6 public class MainActivity extends Activity
     7 {
     8     @Override
     9     protected void onCreate(Bundle savedInstanceState)
    10     {
    11         super.onCreate(savedInstanceState);
    12         setContentView(R.layout.activity_main);
    13     }
    14 }
    View Code

     这样,一个简单的显示程序首页的程序也就设置好了。

    为什么要覆盖onCreate方法,我们先不说,现在只要记住,这个方法必须有

    就这么简单吗?是的,但是,还没完,接下来,我们还要在AndroidManifest.xml文件中为这个Activity注册。

    没有注册的Activity不能启动。

    下面是AndroidManifest中部分代码:

    1 <activity
    2             android:name="com.aidevelops.activitys.MainActivity"
    3             android:label="@string/app_name" >
    4             <intent-filter>
    5                 <action android:name="android.intent.action.MAIN" />
    6 
    7                 <category android:name="android.intent.category.LAUNCHER" />
    8             </intent-filter>
    9         </activity>
    View Code

    这是定义一个Activity的最基本结构。

    我们看一下从官网截的图:

    官方已经表明:程序的主Activity(可以理解为入口)必须在manifest文件中定义一个包括action值为MAIN,

    category值为LAUNCHER的intent-filter标签。

    那么这两个标签的意思是什么呢,我们继续看图,用事实说话

    先看action标签:

    ACTION_MAIN定义在Intent类中,和它等价的常量值就是android.intent.action.MAIN

     它之所以能成为首页(入口)就是这个值决定的。

     Start as a main entry point就是作为一个入口点启动的意思

    再看category

    CATEGORY_LAUNCHER同样是在Intent类里定义,和它等价的就是这个android.intent.category.LAUNCHER值。

    设置了这个值之后,程序的图标就会在我们的应用程序列表里显示,这样我们就可以点击这个图标启动程序。

    当然,这些动作IDE已经为我们做好了,但是,我们也应该了解其原理

    这样,一个标准的可以启动的Activity就已经建立好了。你们说简单吗

  • 相关阅读:
    Selenium 疑问之一:WebDriver 获得弹出窗口(转)
    Selenium 疑问之三:Selenium2.0 对于Wrapped元素的click()不起作用怎么办?
    [转]网站性能工具Yslow的使用方法
    Hudson + Ant + SVN + Tomcat配置详解
    Selenium 疑问之二:如何使页面滚动条移动到指定元素element的位置处?
    【转】组合测试法中的全对偶测试法
    Ant 之property 总结
    [转载]使用Selenium2测试含有iframe的Ajax网页
    Nginx反向代理WebSocket链接失败问题
    WebSocket语法糖
  • 原文地址:https://www.cnblogs.com/ai-developers/p/android_activity.html
Copyright © 2011-2022 走看看