在Manifest

时间:2015-06-22 20:48:54

标签: android

我正在尝试使用全局变量。我接下来做了这个:

1 /首先我创建这个类

package ar.ncantarini.mapa;

import android.app.Application;

public class MyApplication extends Application {

    int id_mascota;

    public int getId_mascota() {
        return id_mascota;
    }

    public void setId_mascota(int id_mascota) {
        this.id_mascota = id_mascota;
    }

}

2 /在我的一些活动中:

// Calling Application class (see application tag in AndroidManifest.xml)
final MyApplication globalVariable = (MyApplication) getApplicationContext();

//Set name and email in global/application context
globalVariable.setId_mascota(1);

3 /在我做的其他活动中:

//  Calling Application class (see application tag in AndroidManifest.xml)

final MyApplication globalVariable = (MyApplication) getApplicationContext();

// Get name and email from global/application context
final int name  = globalVariable.getId_mascota();

//inside a method

4 /最后,在Manifest中我添加了android名称标签。

   <application

    android:name=".MyApplication" 
     android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo.Light.NoActionBar" >
        <activity

每件事都运作良好。但我的问题是,现在我需要将“MyApplication”类移动到另一个打包调用“Utilities”,这不是     Android应用程序的“主要”打包。

移动这个课程后,我有测试更改清单:

1_android:name="Utilities.MyApplication" 
2_android:name="Utilities$MyApplication" 
3_android:name=".Utilities.MyApplication" 

总是我有“无源查找”错误。当使用de“BroadcasteReceiver”类时,以及当我把它放在不是主要包装的包装箱中时,同样的问题出现在另一个项目中。在我的情况下,我的主要包装是ar.ncantarini.mapa。

编辑:在这里,当我将MyApplication类移动到Utilities包时,我添加了一张我一直有的错误的照片。

2 个答案:

答案 0 :(得分:0)

在你的清单上,用点(。)开始声明你引用主包,你也可以声明你的Activity类的全名。

在你的情况下,它只是:

android:name="Utilities.MyApplication"

请注意,鼓励包名称为全小写。

答案 1 :(得分:0)

考虑到@MarcosVasconcelos的答案,我将它们结合起来,然后我找到了解决方案。关键是Android中包的名称应该是小写的。这就是全部。