我正在做的是,如果数据库有0行,则启动activity1
,否则启动activity2
。
那怎么可能呢?我收到错误,应用程序每次都崩溃
我使用过if-else,但它没有用。
请帮忙。
这是代码:
if (db.fetchnumber(1) == null)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
} else {
super.onCreate(savedInstanceState);
Intent i = new Intent(this,activity2.class);
startActivity(i);
}
fetchnumber
方法是:
public String fetchnumber(long rowID) throws SQLException
{
String selectQuery = "SELECT " + PHONE_NUMBER + " FROM " + DATABASE_TABLE + " where " + KEY_ROWID + " = 1 ;"
SQLiteDatabase db = this.getReadableDatabase();
Cursor csr = db.query(DATABASE_TABLE, new String[] { KEY_ROWID, PHONE_NUMBER }, KEY_ROWID + "=" + rowID ,null,
null,null,null,null);
String str = null;
if (csr != null)
{
csr.moveToFirst();
str = csr.getString(1);
}
return str;
}
答案 0 :(得分:1)
按照以下步骤操作。
1)创建一个活动(在清单中使用.. set launcher和main标签在清单中注册)
2)在第一步中,您现在创建了一个主要活动,Say Activity A
3)在A的onCreate()
方法中,获取数据库方法以查看数据库是否具有某些值。
4)如果db在步骤3中返回null,则可以启动activity1,否则你可以启动activity2。
使用startActivity(intent)
方法启动活动
读取数据库行,您可以看到cursor.getCount()
,它返回光标所指向的表中的行数。
您的代码应如下所示
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DatabaseClass db = new DatabasClass(this);
if(db.fetchDB() == null)
StartActivity(intent1);
else
startActivity(intent2);
}
}