2017-10-09 8 views
-1

アプリケーションの「ファミリ」を作成したいと思います。これらのアプリケーションは、それらの間の小さな変更を加えて、すべて同じルック・アンド・フィールを持ちます。変更は文字列、画像の一部、およびライフサイクルメソッドのいくつかの変更でもあります。ライブラリモジュールの動作を無効にする適切な方法

私が考えているのは、Android Studioですべてのアプリケーションに共通のデフォルトの外観と実装を持つライブラリモジュールを作成し、各アプリケーションで必要なものを変更することです。ライブラリにはすべてのアクティビティが含まれ、フラグメントトランザクションを行い、リソースを保持します。

問題は、ライフサイクルメソッドの動作を無効にする方法がわかりません。文字列と画像の場合は、ライブラリにある名前と同じ名前にすることができますので、問題はありません。アプリケーションの正しいリソースが使用されます。私は動作をオーバーライド考え

の方法は、このようなものです:

public class MyAppFragment extends MyLibraryFragment 
{ 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     View v = super.onCreateView(inflater, container, savedInstanceState); 
     //add more stuff to the originial implementation here 
     return v; 
    } 
} 

もちろん、ライブラリは、新しいフラグメントおよびそのコードについて知らないだけMyLibraryFragmentをインスタンス化することができます。では、ライブラリではなく、アプリケーションの断片をインスタンス化するようにライブラリをどのように伝えることができますか?私が推測する活動についても同じ質問になるでしょう。

答えて

0

フレーバーで作業することができます。 には、同じコードで作業するオプションがありますが、異なるパッケージと小さな変更があります。

http://www.androidauthority.com/building-multiple-flavors-android-app-706436/

、これは:それは、このソリューションのように思える https://stackoverflow.com/a/30334392/3257513

+0

少なくとも、あなたがにリンクされている答えを読んでから私は、継承を使用することができなくて、私があれば、他の風味をチェックするために多くの使用になります? –

関連する問題