我的应用程序对象和应用程序上下文对象之间

时间:2014-05-02 12:18:15

标签: android

我正在寻找有关编写自己的应用程序类的信息。在网上的许多教程中我看到了以下代码:

class myapp extends Application
{
private static myapp mm;
private Context context;
public Context getContext()
{
return getApplicationContext();
}
public myapp getmyapp()
{
if(mm==null)
mm=new myapp();
return mm;
}
}

获取myapp和getApplicationContext的对象以及使用myapp的对象和使用上下文对象的位置有什么区别。我只想清除这些对象的使用概念 谢谢 tejinder

1 个答案:

答案 0 :(得分:1)

该代码完全错误:

public myapp getmyapp()
{
if(mm==null)
mm=new myapp();
return mm;
}

只有Android框架才能实例化Application对象。我的意思是,您可以致电new,但该对象不会被联系起来"到底层框架

要获得应用程序对象的静态引用,您应该按如下方式执行:

class MyApp extends Application{
//  I fixed the names to follow some Java convention
private static MyApp instance;

   @Override
   public void onCreate() {
      super.onCreate();
      instance = this;
   }

public static MyApp getMyApp(){
    return instance;
}

关于上下文,代码没有错,但根本没有任何意义。这是因为Application对象已经是application context。所以没有必要要求它。

上下文是Android应用程序访问资源,文件系统特定文件夹,权限等的原因(我所说的Android框架创建它)。 Application是一个扩展Context的类,其他示例包括ActivityService类。

我希望它更清楚一点。