我一直在编写一个 Android 应用程序,它有很多专门的代码。可以想象,那里有很多案例驱动的代码。由于大多数 Android 回调功能基于整数和 ItemID 和 requestCodes,因此在 switch 语句或 if-then-else 结构中内置了很多功能。
以更好的方式组织/重构此代码的最佳实践是什么?您发现什么可以减少代码量并同时澄清它?大量的小类会损害 Android 性能吗?
提前致谢。
我一直在编写一个 Android 应用程序,它有很多专门的代码。可以想象,那里有很多案例驱动的代码。由于大多数 Android 回调功能基于整数和 ItemID 和 requestCodes,因此在 switch 语句或 if-then-else 结构中内置了很多功能。
以更好的方式组织/重构此代码的最佳实践是什么?您发现什么可以减少代码量并同时澄清它?大量的小类会损害 Android 性能吗?
提前致谢。
大量的类不会影响应用程序的性能。然而,Android 中的一些良好实践包括将整数、项目 ID 和请求代码等值放入资源 xml 文件中。
您还将看到许多回调类作为与它们相关的对象的内部接口:
public class MyObject
{
private Callback callback;
private Object returnObject;
public void setCallback(Callback callback)
{
this.callback = callback;
}
public void doSomething()
{
//do something - could be an anync task or other that assigns returnObject
callback.invoke(returnObject);
}
public interface Callback
{
public void invoke(Object obj);
}
}
然后您可以按如下方式使用它:
MyObject obj = new MyObject();
obj.setCallback(new MyObject.Callback() {
@Override
public void invoke(Object obj) {
Log.i("Callback", obj.toString());
}
});
obj.doSomething();