android litepal 问题求助,求大神!!

码圈Rookie 2018-02-08 06:07:45
今天我的代码litepal部分不知怎么就抽了,各种报错,加了特别简单的测试数据库的代码,还是会报错,而且这个代码在另一个demo上是可以跑的,郁闷,代码如下
public class Test extends AppCompatActivity {
Button button1;
Button button2;
TextView textView;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_test);
button1=findViewById(R.id.test_btn1);
button2=findViewById(R.id.test_btn2);
textView=findViewById(R.id.test_text);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Connector.getDatabase();
DBtest dBtest=new DBtest();
dBtest.setString("ssssssssssssssssss");
dBtest.save();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final List<DBtest> dBtestlist=DataSupport.findAll(DBtest.class);
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(dBtestlist.get(0).getString());
}
});

}
});
}
}
报错如下
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.nf0620.hasaki, PID: 26607
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.AssetManager android.content.Context.getAssets()' on a null object reference
at android.content.ContextWrapper.getAssets(ContextWrapper.java:82)
at org.litepal.util.BaseUtility.isLitePalXMLExists(BaseUtility.java:235)
at org.litepal.parser.LitePalAttr.loadLitePalXMLConfiguration(LitePalAttr.java:98)
at org.litepal.parser.LitePalAttr.getInstance(LitePalAttr.java:90)
at org.litepal.tablemanager.Connector.buildConnection(Connector.java:104)
at org.litepal.tablemanager.Connector.getWritableDatabase(Connector.java:63)
at org.litepal.tablemanager.Connector.getDatabase(Connector.java:87)
at com.example.nf0620.hasaki.Test$1.onClick(Test.java:34)
at android.view.View.performClick(View.java:5669)
at android.view.View$PerformClick.run(View.java:22546)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6334)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
...全文
1341 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
码圈Rookie 2018-03-07
  • 打赏
  • 举报
回复
问题已经解决了,最近太忙我忘了结贴,很奇怪的一个错误,容我分步道来 1、我使用的第三方开源框架Litepal,清单文件的<application节点下android:name改为"org.litepal.LitePalApplication" 2、我在添加切换主题的功能,Context.setTheme()只能修改当前Activity的Theme,于是我就org.litepal.LitePalApplication application=new org.litepal.LitePalApplication();然后application.setTheme();然后就炸了,把第一句注掉就没事 虽然解决了问题,但是我还是不懂为什么会出现这样的问题,可能是新建的app对象造成的吧,先mark,日后再看
  • 打赏
  • 举报
回复
你分析这3行错误提示就能找到问题了 java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.AssetManager android.content.Context.getAssets()' on a null object reference at android.content.ContextWrapper.getAssets(ContextWrapper.java:82) at org.litepal.util.BaseUtility.isLitePalXMLExists(BaseUtility.java:235) 有一个isLitePalXMLExists的函数里调用了一个ContextWrapper对象的getAssets 方法 而这个ContextWrapper对象却是null
Smoyan_ 2018-02-09
  • 打赏
  • 举报
回复
Connector 没有初始化
码圈Rookie 2018-02-08
  • 打赏
  • 举报
回复
而且这个代码在另一个demo上跑是没有问题的,我本身的数据库也用了好久了,今天加了个功能就莫名其妙出问题,litpal的配置也看过了没问题,郁闷ing
码圈Rookie 2018-02-08
  • 打赏
  • 举报
回复
没有行号,忘了说了,我写的代码报错在DataSupport.getDatabase()

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧