2012-04-26 6 views
1

私は、アプリケーションを拡張するクラスを持っていると私はコードから、それを呼び出すようにしたい、それは私が活動からこれを呼び出す必要がApplication androidを拡張したクラスを呼び出すことは可能ですか?

@Override 
public void onCreate() 

を持っています。アプリ起動時に呼び出す方法を知っています。マニフェストに含める必要があります。

android:name="" 

ありがとうございました。

答えて

5

アプリケーションの呼び出しは、手動で作成する必要はありません。何かが正しく構成されていれば自動的に起動します。任意の活動内で、その後

public class MyApplication extends Application{ 
    public void someMethod(){} 
} 

:あなたはこのようにそれを行うことができますオーバーライドされたアプリケーションからのメソッド呼び出したい場合はしかし、

MyApplication app = (MyApplication)getApplication() 
app.someMethod(); 
+0

この例外が発生しました:java.lang.ClassCastException:android.app.Application – Streetboy

+0

マニフェスト内にアプリケーションを登録していません –

+0

私はマニフェストにありますが、このプロジェクトはライブラリ – Streetboy

0

Activityから((YourAppName)getApplicationContext())に電話するだけです。

ApplicationにはonCreate()は必要ありません(わからない限り)。そこにいくつかのメソッドを設定し、次にそれらをメソッドなどで呼び出すことができます。 ((YourAppName)getApplicationContext()).myMethod()。あなたのアプリは、そのアクティビティがある限り、生きています。

+0

を、あなたは 'getApplicationContextは()'と同じに返すことSHUREされています'getApplication'? –

+1

正直言って、私はgetApplication()について聞いたことがありません。私は私のアプリケーションでgetApplicationContext()を使用し、それは魅力のように動作します。 –

0

自分でonCreate()メソッドを呼び出すべきではありません... Androidはあなたのためにそれを行います...このようなクラスの主な目的は、アプリケーション自体が単一のインスタンスであるため、グローバル変数をアプリケーション全体に保持することです。 。

そして、それはあなたがOSを作成しAppliucation /アクティビティでカスタムのものが必要になる場合がありますので、あなたがonCreate()をオーバーライドすることができます。..

1

ApplicationクラスonCreate()は、アプリケーションの起動時に呼び出されます。あなたがあなたのアプリケーションクラスで宣言したメソッドを呼び出したい場合は、他にあなたが呼び出すためにgetApplicationContext()のインスタンスを取得するには、コンテキストを使用する必要があり、活動を拡張する他のクラスから、それが好き

((Application_Class_Name)getApplicationContext()).calling_method(); 

を呼び出すことができますノンアクティビティクラスから。

例: -あなたはアダプタクラスからそれを呼び出したい場合は、クラスをアダプタとアプリケーションのインスタンスを取得するにはアクティビティのコンテキストを渡す必要があり、

((Application_Class_Name)mContext.getApplicationContext()).calling_method(); 
1

はこれを試してみてください:

public class YourApplication extends Application 
{  
    public void sayHello { 
     System.out.println("Hello") 
    } 
} 

その後で任意の活動でそれを呼び出す:

YourApplication appState = ((YourApplication)this.getApplication()); 
appState.sayHello(); 
関連する問題