我已经开始从Android开发书中做一些练习了。 我所做的只是
创建项目
输入一些代码
package com.wuhu.testapps;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class AndroidbasicsActivity extends ListActivity {
String tests[] = {"LifeCycleTest", "SingleTouchTest","MultiTouchTest"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
setListAdapter( new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,tests));
}
protected void onListItemClick( ListView list, View view, int position, long id)
{
super.onListItemClick(list, view, position, id );
String testName = tests[position];
try
{
Class clazz = Class.forName("com.wuhu.testapps." + testName);
Intent intent = new Intent( this, clazz );
startActivity(intent);
}
catch( ClassNotFoundException e)
{
e.printStackTrace();
}
}
}
以Android应用程序运行
VM在后台启动活动,但错误一直出现'进程android.process.acore意外停止'强制关闭。
logcat中的前几行错误如下:
02-04 03:05:21.218: ERROR/ContactsProvider(343): Cannot start provider
02-04 03:05:21.218: ERROR/ContactsProvider(343): java.lang.IllegalStateException: error upgrading the database to version 353
02-04 03:05:21.218: ERROR/ContactsProvider(343): at com.android.providers.contacts.ContactsDatabaseHelper.onUpgrade(ContactsDatabaseHelper.java:1545)
02-04 03:05:21.218: ERROR/ContactsProvider(343): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:132)
02-04 03:05:21.218: ERROR/ContactsProvider(343): at com.android.providers.contacts.ContactsDatabaseHelper.getWritableDatabase(ContactsDatabaseHelper.java:2550)
02-04 03:05:21.218: ERROR/ContactsProvider(343): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
02-04 03:05:21.218: ERROR/ContactsProvider(343): at com.android.providers.contacts.LegacyApiSupport.<init>(LegacyApiSupport.java:525)
我不确定出了什么问题,任何人都可以帮助我吗? 尝试寻找答案,但有用。 提前谢谢,
答案 0 :(得分:2)
我通过以下方法修复它。
Android虚拟设备管理器&gt;新
重新制作Android虚拟设备。旧设置删除。
答案 1 :(得分:1)
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(sql);
onCreate(db);
}
答案 2 :(得分:1)
问题不在于你的代码。即使您直接使用虚拟设备,也应该得到相同的错误。
创建新的虚拟设备效果很好。确保删除旧的。
答案 3 :(得分:0)
请尝试以下操作,从以下行中删除评论。
//setContentView(R.layout.main);
至setContentView(R.layout.main);
然后再试一次。