很多初入Android开发的网页可能不知道Android程序的入口点是什么,不是main()吗,当然Android123也保证国内知道的不到1%,很多网友可能直接回复是onCreate,当然我相信回复onCreate的在字面上不算错,但是你们想的是Activity中的onCreate方法吧,这里Android开发网告诉下大家真正的入口点entrypoint是什么。
Android使用Google Dalvik VM,相对于传统Java VM而言有着很大的不同,在Sun的Java体系中入口点和标准c语言一样是main(),而每个Android程序都包含着一个Application实例,一个Application实例中有多个Activity、Service、ContentProvider或Broadcast Receiver。因为大部分的应用都包含Activity所以,说很多网友认为是Activity的onCreate,但是你没有发现你的工程中有多个Activity吗? 你可能没有见过没有Activity的Android应用吧。
其实在android.app.Application这个包的onCreate才是真正的Android入口点,只不过大多数开发者无需重写该类,他的继承关系如下图:
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
android.app.Application类包含了4个公开的方法
void onConfigurationChanged(Configuration newConfig)
void onCreate() //这里才是真正的入口点。
void onLowMemory()
void onTerminate()
所以希望大家,记住真正的Android入口点是application的main,你可以看下androidmanifest.xml的包含关系就清楚了,并不是每个应用都必须有Activity的。
分享到:
相关推荐
在Android Studio中,通常我们开发的是Android应用程序,它们的核心入口点是`Activity`类的`onCreate()`方法,而非Java程序中的`main()`函数。然而,如果你需要在Android Studio中测试独立的Java类,比如包含`main()...
在Android程序设计基础中,我们主要探讨的是如何利用Java语言和Android SDK开发应用程序。这个压缩包文件"**MyAndroid**"很可能包含了多个示例项目,用于帮助初学者理解和实践Android应用的基本构造和功能。 首先,...
在Android平台上运行Java的`main`方法可能会遇到一些与常规Java应用程序不同的情况,因为Android主要设计为运行Android应用程序(APK),这些应用基于Dalvik或ART虚拟机,而不是标准的Java虚拟机(JVM)。...
然而,标题“也谈Android下一个apk安装多个程序入口图标”提出了一个特殊的话题,即如何在一个APK中创建多个程序入口点,让同一个应用拥有不同的启动图标,提供用户不同的功能入口。这主要涉及AndroidManifest.xml...
在`src`目录下,主要的Java类通常是`MainActivity`,它是应用的主入口点,负责创建和管理应用的用户界面。`MainActivity`通常继承自`AppCompatActivity`,并重写`onCreate()`方法来初始化界面布局。 在`res/layout`...
【Android程序表白app】 在移动应用开发领域,Android平台提供了丰富的功能和自由度,使得开发者可以创造出各种各样的应用程序。"Android程序表白app"就是这样一个示例,它利用了Android SDK和相关工具来构建一个...
在进度条完成之后,你会在模拟器中看到你的第一个Android程序运行起来。尽管它可能只是一个简单的示例,但这是你踏入Android开发的第一步,也是后续深入学习的基础。 总的来说,搭建Android开发环境和构建第一个...
4. **Activity**:在Android应用中,Activity是用户交互的主要入口点。这两个通讯录程序可能包含多个Activity,分别用于展示联系人列表、添加新联系人或编辑现有联系人。 5. **ListView与Adapter**:在显示大量数据...
在Android开发领域,"HelloWorld"程序是每个初学者入门时的第一个接触点,它标志着开发者在Android世界中的第一次正式亮相。这个程序虽然简单,但却是理解Android应用开发基础的重要起点。接下来,我们将深入探讨...
gdb动态调试Android可执行程序 标题:gdb动态调试Android可执行程序1 描述:gdb动态调试Android可执行程序1 标签:android 知识点: 1. Android NDK:Android NDK是一组工具集,允许开发者使用C++和其他native...
在Java代码中,你需要创建一个Activity类,如MainActivity,它是Android应用的主要入口点。在这里,你需要初始化界面元素,设置点击事件监听器,并在监听器的回调方法中实现素数检查算法。计算完成后,可以使用...
在Android程序开发中,记账本应用是一种常见的实践项目,它可以帮助用户跟踪和管理他们的日常开支。这份"Android 记账本源码"提供了一个完整的应用程序实现,是学习和研究Android编程、数据库操作、UI设计以及用户...
1. MainActivity:这是应用程序的主要入口点,通常包含记事本应用的核心逻辑,如添加、删除、编辑记事等操作。 2. Layout XML文件:描述应用程序的用户界面,例如`activity_main.xml`用于定义主屏幕的布局。 3. 数据...
在这个"第一个Android程序 HelloWord"中,我们将深入探讨Android应用程序的基础构建块。 1. **Android Studio**:Android应用程序开发的主要集成开发环境(IDE)是Android Studio,它基于IntelliJ IDEA。安装...
在HelloWorld项目中,`<application>`标签下的`<activity>`标签指定了MainActivity作为应用的入口点。 总的来说,这个HelloWorld程序展示了Android应用的基本构成和工作流程。通过实践这个简单的项目,你将了解...
1. **MainActivity.java**:这是应用程序的主要入口点,通常包含了界面布局的初始化和事件处理。 2. **XML布局文件**:如activity_main.xml,定义了用户界面的布局和组件,如按钮、文本框等。 3. **数据库操作**:...
Android 应用程序进程启动过程是 Android 应用程序框架层创建的应用程序进程的入口函数 ActivityThread.main 在进程的初始化过程中实现的两个特点的分析。这些特点是进程的入口函数是 ActivityThread.main 和进程...
`public class first_Java`是定义一个公共类,它包含了主方法`main`,这是任何Java程序执行的入口点。当`main`方法中的`println`语句被执行时,它会在控制台打印出"我的第一支Java程式"。然而,如果将类名更改为`...
首先,Android程序实例源代码是学习Android开发的关键,它包含了一系列的.java文件,这些文件构成了应用的主要逻辑。开发者可以从中了解类与类之间的关系、函数的调用以及UI布局的设计。例如,MainActivity可能是...
在这个例子中,我们看到一个名为HelloActivity的Activity被声明,它是应用程序的入口点。`package`属性应与Java源文件的包名一致,`android:name`属性则对应Activity类的名字。同时,`<intent-filter>`部分定义了...