插件化基础:反射
反射基本使用
- 首先在我们的plugin目录下新建一个utils文件夹,里面写一个Utils类
class Utils {
private static final String TAG = “Utils”;
void shout(){
Log.d(TAG, "shout!!! ");
}
}
-
然后在plugin包下新建一个使用它的Activity -> PluginActivity
-
由于Utils的访问权限都是默认的,所以无法在包外去实例它,所以要通过反射
-
对于类的实例化,需要通过构造方法去实例,实例方法要扩大访问权限
setAccessible(true)
-
对于方法的调用,需要在获取方法之后并扩大访问权限
setAccessible(true)
-
下面是完整代码
public class PluginActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_plugin);
//使用反射
t