之前运行的挺好的。然后有一个sqlite数据库里面数据一直存在我就想着卸载软件再调试会怎么样。
然后我就把软件卸载了。结果再用ECLIPSE调试连第一个界面都打不开了。之前运行的好好地。
代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user);
add=(Button)findViewById(R.id.add);
go=(Button)findViewById(R.id.go);
add.setOnClickListener(this);
go.setOnClickListener(this);
db=Mysqlitehelper.createDatabase(this);//获取数据库对象
ipList.clear();
cursor=db.rawQuery("select distinct name from name order by _id DESC", null);//查询表中某一列的数据
while(cursor.moveToNext()){
ipList.add(cursor.getString(0));//获取第一列的值,逐一将数据库中的IP地址增加到列表中
}
db.close();
cursor.close();
adapt=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,ipList);
setListAdapter(adapt);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.go:
Intent intent=new Intent();
intent.setClass(this, HOME.class);
startActivity(intent);
break;
case R.id.add:
Intent intent3=new Intent();
intent3.setClass(this, USEREDIT.class);
startActivity(intent3);
break;
default:
break;
}
}
特别简单就是一个listview储存用户编写过的用户名(储存在另一个界面上)然后两个按钮进行跳转。
结果一运行就发现直接结束程序,调试的地方一堆报错。但是没有指出是程序的哪一行。
at android.widget.ArrayAdapter.createViewFromResource
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
at android.view.View.measure(View.java:16736)
at android.widget.LinearLayout.onMeasure
E/AndroidRuntime(1764): at android.view.View.measure(View.java:16736)
E/AndroidRuntime(1764): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5178)
E/AndroidRuntime(1764): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
E/AndroidRuntime(1764): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2392)
E/AndroidRuntime(1764): at android.view.View.measure(View.java:16736)
E/AndroidRuntime(1764): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2103)
E/AndroidRuntime(1764): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
E/AndroidRuntime(1764): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1402)
E/AndroidRuntime(1764): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1103)
E/AndroidRuntime(1764): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6018)
E/AndroidRuntime(1764): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:799)
E/AndroidRuntime(1764): at android.view.Choreographer.doCallbacks(Choreographer.java:599)
E/AndroidRuntime(1764): at android.view.Choreographer.doFrame(Choreographer.java:559)
E/AndroidRuntime(1764): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:784)
E/AndroidRuntime(1764): at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime(1764): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(1764): at android.os.Looper.loop(Looper.java:157)
E/AndroidRuntime(1764): at android.app.ActivityThread.main(ActivityThread.java:5872)
E/AndroidRuntime(1764): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1764): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(1764): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
E/AndroidRuntime(1764): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
E/AndroidRuntime(1764): at dalvik.system.NativeStart.main(Native Method)
只有类似这些看不懂的东西……
然后刚才我卸载了软件再次调试,第一个界面又能打开了。但是跳转到下一个界面在sqlite数据库中添加一行数据后跳转回第一个界面就又报了上述同样的错误!
求问问题出在哪里了?
------解决方案--------------------
你把软件 卸载了 数据库就没了, 你再 onCreate()方法里面 操作数据库, 数据库创建的时候, 里面有值吗 , 是不是因为数据库原因崩了
把数据库里面的值都打印一遍看看
------解决方案--------------------
是不是你的数据库表已经存在了,就并没有执行创建了,而你想要操作的字段也不存,导致的问题。