facebook twitter hatena line email

「Android/クラスを動的に読み込む」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==動的にクラスを読み込む== -SampleFactory.java try { // 同一ライブラリの場合 // Class clazz = Class.forName(Sample1.class.getPackage().get...」)
 
(別ライブラリの場合は)
 
行15: 行15:
  
 
==別ライブラリの場合は==
 
==別ライブラリの場合は==
classがpublicになっているか&constructがpublicになっているかを確認する
+
以下2つを確認する
 +
*classがpublicになっているか
 +
*constructがpublicになっているか

2016年12月8日 (木) 16:13時点における最新版

動的にクラスを読み込む

-SampleFactory.java

try {
    // 同一ライブラリの場合
    // Class clazz = Class.forName(Sample1.class.getPackage().getName() + ".Sample1");
    // 別のライブラリの場合でもok
    Class clazz = Class.forName("jp.co.example.Sample1");
    Object worker = clazz.newInstance();
    if(worker instanceof Sample1) {
       return (Sample1)worker;
    }
} catch (Exception e) {
    ;
}

別ライブラリの場合は

以下2つを確認する

  • classがpublicになっているか
  • constructがpublicになっているか