python安卓app开发_Odoo安卓APP开发-1
框架在移动端时代,Odoo也做了不少工作,其中就包括安卓APP开发框架。在Github上虽然星星才二百多,但对有需要的人来说绝对是个好东西。当然,对于安卓大咖且熟悉Odoo的Developer来讲,他完全可以自己搞一套,否则就乖乖的用官方的框架吧。当然,Odoo现在凭借企业版的响应式来做移动端,这个框架呢就不是很活跃了,目前只有微量更新。所以,要有进坑的心理准备。文档我是在没了解Java、不了解A
框架
在移动端时代,Odoo也做了不少工作,其中就包括安卓APP开发框架。在Github上虽然星星才二百多,但对有需要的人来说绝对是个好东西。当然,对于安卓大咖且熟悉Odoo的Developer来讲,他完全可以自己搞一套,否则就乖乖的用官方的框架吧。
当然,Odoo现在凭借企业版的响应式来做移动端,这个框架呢就不是很活跃了,目前只有微量更新。所以,要有进坑的心理准备。
文档
我是在没了解Java、不了解Android的情况下开始学习Odoo安卓APP的开发,所以有个简单清晰的文档是很有帮助的。官方对于这个框架有一个不错的文档。传送门
坑No.1
Android Studio默认的情况下是开启Instant Run功能的,然而启用该功能的情况下,Debug方式是存在问题的。
我遇到的问题首先就是“闪退”,闪的速度极快,根本不知道什么情况。使用Debug模式能够看到错误信息,其中最关键的贴出来:Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.odoo.core.orm.OModel.getModelName()' on a null object reference
看代码能够定位到:public voidmakeReady(Context context) {
try{
DexFile dexFile = newDexFile(context.getPackageCodePath());for(Enumeration item = dexFile.entries();item.hasMoreElements();) {
String element = item.nextElement();if(element.startsWith(App.class.getPackage().getName())) {
Class<? extendsOModel> clsName = (Class<? extendsOModel>) Class.forName(element);if(clsName != null&& clsName.getSuperclass() != null&&
OModel.class.isAssignableFrom(clsName.getSuperclass())) {
String modelName = getModelName(context,clsName);if(modelName != null) {
this.models.put(modelName,clsName);}
}
}
}
} catch(Exception e) {
e.printStackTrace();}
}
更多推荐
所有评论(0)