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

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

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

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

 package com.aidevelops.activitys;

 import android.app.Activity;
import android.os.Bundle; public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
}

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

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

 package com.aidevelops.activitys;

 import android.app.Activity;
import android.os.Bundle; public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

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

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

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

没有注册的Activity不能启动。

下面是AndroidManifest中部分代码:

 <activity
android:name="com.aidevelops.activitys.MainActivity"
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的最基本结构。

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

官方已经表明:程序的主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就已经建立好了。你们说简单吗

android开发------初识Activity的更多相关文章

  1. Android开发之---Activity启动模式

    在Android开发中,启动一个新的activity我们可以使用startActivity或startActivityForResult,Android系统使用栈的方式来管理一个APP的页面显示与保存 ...

  2. Android开发之---Activity生命周期

    Android开发中,有四大组件:Activity.Service.Content Provider.Broadcast Receiver,可以说,activity的使用是最频繁的了,这里来梳理一下与 ...

  3. eclipse Android 开发基础 Activity 窗体 界面

    eclipse Android 开发基础 新建工程 新建布局layout,new Android Activity就相当于窗体Form. 新建Activity自动生成src下同名的java代码. pu ...

  4. Android开发在Activity外申请权限调用相机打开相册

    问题描述: 最近在项目中遇到一个需要调用相册和打开相机的需求,但是,在Android 6.0以后,调用相册属于危险权限,需要开发者动态获取,这就意味着我们申请权限是与Activity绑定的,但如果一个 ...

  5. 详解Android开发中Activity的四种launchMode

    Activity栈主要用于管理Activity的切换.当使用Intent跳转至某个目标Activity,需要根据目标Activity的加载模式来加载. Activity一共有以下四种launchMod ...

  6. [android开发篇]activity组件篇

    https://developer.android.com/guide/components/activities.html Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打 ...

  7. 第01讲 Android开发系列---Activity

    一.  Android系统版本及详细信息 最新数据  https://developer.android.com/about/dashboards/ 二.  Android项目初探 1.    使用a ...

  8. Android开发学习—— activity

    activity生命周期 #Activity生命周期###void onCreate()* Activity已经被创建完毕###void onStart()* Activity已经显示在屏幕,但没有得 ...

  9. Android开发中activity切换动画的实现

    (1)我们在MainAcitvity中定义两个textview,用于点击触发切换Activity事件,下面是布局文件代码. <LinearLayout android:layout_width= ...

随机推荐

  1. Oracle Dataguard的原理与基本配置

    最近集团在做灾备方案,用于Oracle的高可用性,在不影响主库性能的前提下,我们选择使用DG的"最大性能"模式.   DG是Oracle数据库自带的数据同步功能,其基本原理是将日志 ...

  2. AC日记——元素查找 codevs 1230

    1230 元素查找  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 给出n个正整数,然后有 ...

  3. Winform窗体基本属性

    窗体是程序与用户交互的可视界面,窗体也是对象,窗体类定义了生成窗体的模版,实例化一个窗体类就产生了一个窗体..NET框架类库的System.Windows.Forms命名空间中定义的Form类是所有窗 ...

  4. jmeter beanshell内容

    byte [] sampledata = ctx.getPreviousResult().getResponseData(); String  smapledatastring = new Strin ...

  5. Maven系列二setting.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  6. win10的安装与下载

    1.下载介质创建工具 https://www.microsoft.com/zh-cn/software-download/windows10 2. 下载iso https://www.microsof ...

  7. Linux打包压缩.md

    Linux下打包压缩命令 下面学习一下压缩和打包的相关命令,首先得先明确两个概念,即:压缩和打包 .我们实际使用中一般是打包和压缩结合的使用,为了学习下面简要的介绍一下压缩文件或目录的命令. 压缩:将 ...

  8. github上写blog

    http://www.elbow95.me/blog/My-First-Blog-Essay.html 阮一峰的: http://www.ruanyifeng.com/blog/2012/08/blo ...

  9. 规范化注释 VVDocumenter的使用方法

    很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,但是每次都要手动输入规范化的注释,着实也麻烦,但有了VVDocumenter,规范化的注释,主需要输入三个斜线“///” ...

  10. codevs 1215 迷宫

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 已知 n 个整数 x1,x2,-,xn,以及一个整数 k(k<n).从 n ...