facebook twitter hatena line email

Android/クラスを動的に読み込む

提供: 初心者エンジニアの簡易メモ
2016年12月8日 (木) 16:13時点におけるAdmin (トーク | 投稿記録)による版 (別ライブラリの場合は)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

動的にクラスを読み込む

-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になっているか