【发布时间】:2014-02-07 02:02:54
【问题描述】:
所以我收到了这个错误,我真的不知道为什么,我已经检查了清单
01-17 11:17:30.190: E/AndroidRuntime(2225): FATAL EXCEPTION: main
01-17 11:17:30.190: E/AndroidRuntime(2225): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.examaar/com.example.examaar.Final}: java.lang.NullPointerException
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.os.Handler.dispatchMessage(Handler.java:99)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.os.Looper.loop(Looper.java:130)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.ActivityThread.main(ActivityThread.java:3683)
01-17 11:17:30.190: E/AndroidRuntime(2225): at java.lang.reflect.Method.invokeNative(Native Method)
01-17 11:17:30.190: E/AndroidRuntime(2225): at java.lang.reflect.Method.invoke(Method.java:507)
01-17 11:17:30.190: E/AndroidRuntime(2225): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
01-17 11:17:30.190: E/AndroidRuntime(2225): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:638)
01-17 11:17:30.190: E/AndroidRuntime(2225): at dalvik.system.NativeStart.main(Native Method)
01-17 11:17:30.190: E/AndroidRuntime(2225): Caused by: java.lang.NullPointerException
01-17 11:17:30.190: E/AndroidRuntime(2225): at com.example.examaar.DBHelper.selectAllBooks(DBHelper.java:85)
01-17 11:17:30.190: E/AndroidRuntime(2225): at com.example.examaar.Final.onCreate(Final.java:17)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
01-17 11:17:30.190: E/AndroidRuntime(2225): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
01-17 11:17:30.190: E/AndroidRuntime(2225): ... 11 more
这是最后一个活动的代码(触发此异常的那个)
package com.example.examaar;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Final extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.final1);
ListView lv = (ListView) findViewById(R.id.listView1);
final DBHelper db = new DBHelper(this);
ArrayList<Libro> libros = db.selectAllBooks();
String[] res= new String[libros.size()];
for(int i=0;i<libros.size();i++){
res[i]=libros.get(i).getusuario()+"-"+libros.get(i).getdestino()+"-"+libros.get(i).getfecha()+"-"+libros.get(i).gettransporte();
}
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1, res);
lv.setAdapter(arrayAdapter);
}
}
【问题讨论】:
-
再往下看堆栈跟踪,它显示您的
NullPointerException位于DBHelper.selectAllBooks的第85 行。我建议在那里寻找您的问题,如果您仍然卡住,请在此处发布您的 DBHelper 代码。 -
@Yjay 是的,我尝试了但仍然没有运气,在第二个活动中,我实现了一个与上一个活动中 res[i] 值相同的日志,它给了我一个结果。
-
好的,我找到了触发异常的原因,它是 selectAllBooks 但它没有错,我刚刚意识到在我的最后一个活动中没有与我的数据库创建连接。哇,洛基的错误!
-
所以@Yjay,如果你能回答这个问题,我可以接受你的回答作为解决方案,因为它帮助了我。
-
DBHelper.java:85 空指针错误在这一行检查什么问题
标签: android sqlite exception nullpointerexception