`

Android开发——关于onCreate的解读

阅读更多

当我们创建好一个Android项目后,打开src下的java文件时,我们会看到已经写好的类,但你知道这些都是什么含义么?

题外话:今天晚上陈老师给串讲了一下Android入门,有一个环节,我记得是这样问的:在AndroidManifest.xml文件中的 <intent-filter>元素中有这么两句:

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

你知道中间的两句话都是什么含义么?

当写好的应用发布到手机上之后,当双击”抽屉“里该应用的图标时,系统会将这个点击时间包装成一个Intent,该Intent包含两个参数,如上所述的两个参数被传递给应用之后,在应用的功能清单文件中寻找与该意图匹配的意图过滤器,如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据<activity>元素的”name“属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行到该类的onCreate方法,此onCreate方法是重写父类Activity的onCreate方法而实现的。onCreate方法用来初始化Activity实例对象。如下是helloWorld.java类中的onCreate方法的代码:

 

public void onCreate (Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作。在实现自己定义的Activity子类的onCreate方法时一定要记得调用该方法,以确保能够绘制界面。

setContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是”R.layout.main“,其含义为R.java类中静态内部类layout的静态常量main的值,而改值是一个指向res目录下的layout子目录下的main.xml文件的标识符。因此代表着显示main.xml所定义的画面。

分享到:
评论

相关推荐

    android开发——简易计算器的设计报告.doc

    简易计算机的设计 摘要:Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能 够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新 兴力量。Android基于Linux平台,...

    Android Studio SQLite不调用oncreate方法

    Android Studio SQLite不调用oncreate方法

    新版Android开发教程.rar

    Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...

    Android onCreate( )方法详细介绍

    本文主要介绍Android onCreate( )方法,做Android应用的朋友对onCreate()的方法并不陌生,在开发应用的时候大家应该注意什么呢,这里给大家详细说明

    Google Android SDK开发范例大全(完整版)

    该目录包含将开发环境连接到支持 Android 的设备(例如 G1 或 Android Dev 1 解锁开发手机)所需的驱动程序。只有 Windows 平台的开发人员才需要这些文件。 Android 应用程序可以在实际的设备上运行,也可以在 ...

    Android开发教程笔记完全版

    package zyf.android.test.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Hello extends Activity { /** Called when the activity is first...

    opencv_android开发库

    新建android项目 在AndroidManifest.xml中增加写sd卡的权限: &lt;uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/&gt; &lt;uses-permission android:name="android.permission.WRITE_...

    Android移动开发实验6.doc

    《Android应用开发》实验报告 实验序号:06 实验项目名称:利用导航图标实现层级式导航 "学 号" "姓 名" "专业、班 " " "实验地点" "指导教师" "实验时间 " " "实验目的及要求 " "(1)熟悉Eclipse集成环境的开发...

    基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip

    基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 基于Java的Android应用程序开发-24点游戏源码+详细项目说明.zip 【项目介绍】 该资源...

    Android OnCreate()中获取控件高度与宽度两种方法详解

    主要介绍了Android OnCreate()中获取控件高度与宽度两种方法详解的相关资料,这里提供了两种方法,大家可以都看下,需要的朋友可以参考下

    深入Android开发全方位指南.docx

    import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { ...

    Android中oncreate中获得控件高度或宽度的实现方法

    主要介绍了Android中oncreate中获得控件高度或宽度的实现方法的相关资料,希望通过本文大家能实现这样的功能,需要的朋友可以参考下

    Android项目设计与开发:SQLite 1.ppt

    嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 1 SQLite 概念: SQLite是一款轻量级的关系型数据库,它的运算效率高,占用资源少,因此比较适合在移动设备上使用。 SQLite Android为了让我们更加方便地...

    在android studio中用SQLiteOpenHelper()方法建立数据库

    在android studio中存储数据有三个方法,分别是: (1)简单存储——...onCreate( ):利用SQL语句,在系统中创建数据库(表)功能 onUpgrade( ):利用SQL语句,在系统中升级数据库(表)功能 注: onCreat

    android开发示例

    android开发示例 importandroid.app.Activity; importandroid.content.Context; importandroid.graphics.drawable.Drawable; importandroid.graphics.drawable.StateListDrawable; importandroid.os.Bundle; ...

    android studio使用SQLiteOpenHelper()建立数据库的方法

    在android studio中存储数据有三个方法,分别是: (1)简单存储——SharedPreferences (2)文件存储:内部存储——应用程序私有文件外部存储——SD卡资源文件——只读( RAW 、XML) (3)数据库存储——...

    实验1--Android基础入门与Android-UI开发应用(1).doc

    实验1 Android基础入门与Android UI开发应用 1. 实验目的 掌握相对布局、线性布局的使用;掌握样式的使用;掌握如何对程序进行国际化。 2. 实验内容 1. 课本第2章讲解了Android UI开发,其中包括了相对布局、线性...

    Android代码-Android-ServiceManager

    Android-ServiceManager 简化android跨进程调用,无需aidl、service、messenger等,只需定义任意接口,并实现接口即可。 利用此框架可以轻松实现跨进程调用。 使用方法: 1、项目中引入libray工程, 另请关注libray...

    android设置系统锁屏时间或屏保显示时间

    public static final String SCREEN_OFF_TIMEOUT = screen_off_timeout; private final int SCREEN_TIMEOUT_VALUE_... protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Global site tag (gtag.js) - Google Analytics