Android/クラスを動的に読み込む
提供: 初心者エンジニアの簡易メモ
動的にクラスを読み込む
-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になっているか