先执行application的name对应的类呢还是activity中的name对应的类?

今天找程序入口发现了下面的情况有两个name我就写了个测试程序大致如下:

先看mainfest.xml

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:name="com.example.test1.app"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="com.example.test1.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>

</application>

k看app

package com.example.test1;

import android.app.Application;

import android.os.Bundle;

import android.util.Log;

public class app extends Application{

public void onCreate(){

super.onCreate();

Log.d("tt","application");

}

}

看activity如下

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.d("tt","activity");

new app();

}

最后我们来看日志文件就清楚了:

10-28 15:40:54.915: D/tt(4116): application

10-28 15:40:55.525: D/tt(4116): activity

这里就是说application 的name对应了类是在程序安装时候就创建了

然后我第二次打开如下:

只有一个信息

android.app.Application

Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml‘s <application> tag, which will cause that class to be instantiated for you when the process for your
application/package is created.

Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml‘s <application> tag, which will cause that class to be instantiated for you when the process for your
application/package is created.

时间: 2024-07-28 14:04:24

先执行application的name对应的类呢还是activity中的name对应的类?的相关文章

编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Stud

package com.homework.zw; //student类部分 public class Student { int stuNo; String name; int age; void output() { System.out.println("学号:"+stuNo); System.out.println("姓名:"+name); System.out.println("年龄:"+age); } } package com.hom

编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型 成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒) 进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间。

package com.homework.zw; public class Clock { String hour; String minute; String second; Clock(String h,String m, String s) { hour=h; minute=m; second=s; } void show() { System.out.println("时间为:"+hour+"时"+minute+"分"+second+&q

定义一个时钟类——Clock,它包括三个int型 成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒) 进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间

package java1; public class Clock { int hhh; int mmm; int sss; Clock(int h,int m,int s) { hhh=h; mmm=m; sss=s; } void show() { System.out.println(hhh+":"+mmm+":"+sss); } } Clock c1=new Clock(11,23,45); c1.show(); Clock c2=new Clock(12,

关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类

Action类,ActionGroup类,MenuManager类介绍 SWT中菜单是Mean类,在前面章节中已经介绍过Menu类的使用. 菜单项用MeauItem类来实现.但是在实际开发中,同一种功能会有多中表现形式, 例如:Eclipse中的"新建"功能,他会分别出现在主菜单,主工具栏,右键菜单里, 如果都是用MeanuItem来实现,就需要写三份代码,以后也要维护三份代码.当然也可以将时间处理 写成外部类来共享代码,但名称,图像以及一些其他的信息写成外部类来共享则不太方便. JF

Eclipse 中java跨工程调用类

在Eclipse中,有时候需要跨工程调用其他工程中的方法.如下面有两个Java Project : 如果要在A工程中调用B工程中的类,可以将B工程添加到A工程中: A---- >Build Path---- >Configure Build Path---- >Java Build Path 选择Projects 这样在项目A中的类就可以直接import B项目中的类啦. Eclipse 中java跨工程调用类

idea中如何快速创建实体类

在idea中创建实体类可以不从src下直接创建,而是直接从db中直接生成实体类. 真实开发中创建多个实体类,就不用一个个的去创建了,直接导入自动生成,多说无益,直接上图 1.选中右侧Datebase选项 2.选中加号 点击Data Source   选择你使用的数据库 3.输入你要导入实体类的数据库名称以及用户名和密码,点击MySQL 4.选择Download ver.5.1.40 开始下载 5.加载成功后,会出现你选择数据库中的所有表 6.选择需要导入的实体类 7.选择导入到项目中的位置 8.

在C++中使用C#编写的类2

在那篇<在C#中使用C++编写的类>中我介绍了如何在C#中使用C++编写的类.可是由于C#在用户界面设计.数据库存储和XML文件读取等方面的优势,有时候也会出现要在C++中使用C#编写的类的情况.下面就用一个完整的实例来说明怎样在C++中使用C#编写的类.    比如说,现在有一个用C#编写的DLL工程CsharpDll里面有一个Person类: // Person.cs using System; namespace CsharpDll { public class Person { pub

为什么java中只允许继承一个类?

一个类只能继承一个其他的类 在Java语言中禁止多重继承:一个类可以具有多个直接父类.多重继承不合法的原因是容易引发意义不明确.例如,有一个类C,如果允许它同时继承A类与B类(class C extends A,B{}),假如A.B两个类都有同一种方法fun(),如果定义: C c = new C(); 那么c.fun()应该调用哪一个父类的fun()方法?无法给出答案,因此Java语言禁止多重继承. 但C++却是可以的,所以C++比起java在语法上却难了些. 这一特性和上一特性结合使用,可以

java中必须知道的常用类

1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据类型也具备对象的特性,Java为每个数据类型都提供了一个包装类,这样我们就可以像操作对象一样,操作这些基本数据类型了 常见的包装类和基本类型对应关系如下: 包装类主要提供了两类方法: 1.进行多个类型之间的转换 2.将字符串和本类型及包装类相互转换 比如下面代码: 1 int i = 2; 2 In