10個のアクティビティに対して約20個のクラスを持つネイティブアンドロイドアプリケーションがあります。アンドロイドでの関数の再利用
すべてのアクティビティで関数定義を再利用したいと考えています。私は下のバーを持っていて、このアクティビティをトリガする必要があります。 Java can notは複数の継承を持つので、どのようにしてこの機能をどこにコピーしたいのですか?
10個のアクティビティに対して約20個のクラスを持つネイティブアンドロイドアプリケーションがあります。アンドロイドでの関数の再利用
すべてのアクティビティで関数定義を再利用したいと考えています。私は下のバーを持っていて、このアクティビティをトリガする必要があります。 Java can notは複数の継承を持つので、どのようにしてこの機能をどこにコピーしたいのですか?
別の方法から、アプリケーション内のすべてのActivity
を拡張するには、あなたが必要としているすべての機能を持っていること、クラスを作成することです。あなたはそのようなことに対してシングルトンパターンを使うことができます。
例:
public final class SingletonClass{
private SingletonClass(){}
private static class InstanceHolder{
private static final SingletonClass instance=new SingletonClass();
}
public static SingletonClass getInstance(){
return InstanceHolder.instance;
}
/*your public non-static methods here*/
}
そして:
SingletonClass singleton=SingletonClass.getInstance();
singleton.someMethod();
Javaは "多重継承" のサポートを持っていた場合、どのようにこの問題を解決するためにそれを使用するのでしょうか? –
@βнɛƨнǤʋяʋиɢ、明白な方法は、すべての必要な機能を持つアクティビティと別のクラスを拡張することです。 –
@ user826788 AFAIK、Androidアプリでは、画面/表示ごとに1つのアクティビティ/クラスが必要です。したがって、10の活動を正当化することができます。画像のダウンロード、JSONの解析、Autofill extraのクラスを書く必要がありました。 – Jaseem