相关疑难解决方法(0)

Android数据库连接和游标哦我的

在使用android时,我已经阅读了大量有关如何创建和使用数据库连接的博客和教程.虽然我有很多工作示例,但不同的实现会导致不同的问题.

例如,我使用数据源类Datasource和数据库助手类DBManagement.

数据源

public class DataSource {
    // Database fields
    private SQLiteDatabase database;
    private DBManagement dbHelper;

    public SMSDataSource(Context context) {
        dbHelper = new DBManagement(context);
    }

    public void open() throws SQLException {
        if(database == null){
             database = dbHelper.getWritableDatabase();
        }
    }

public Cursor exampleCursor(long constraint){
    Cursor cur = database.query(DBManagement.TABLE_NAME,
            new String[] {DBManagement.Column}, "constraint="+constraint, null, null, null, null);
    return cur;
}
    //.. other methods down here which do rawQuery, QueryBuilder, etc.. 
Run Code Online (Sandbox Code Playgroud)

DBManagement

public class DBManagement extends SQLiteOpenHelper{

    // .. …
Run Code Online (Sandbox Code Playgroud)

database sqlite android cursor

3
推荐指数
1
解决办法
2423
查看次数

额外的东西似乎丢失了onResume()

我有一个Intent,通过一个很长的Extra从我的数据库中获取信息.它还设置了Activity通过a 的标题String Extra.

现在,当我第一次启动活动时,一切都显示出来.但是我有另一个Activity用于添加新的数据库项.问题是,当我按下后退按钮(操作栏中的徽标旁边有一个箭头)时,回到原来的Activity,似乎Extras已经消失,因为标题ListView是空的.

这是启动时显示ListView没有问题的Activity:

DaysActivity.java:

package com.gauvion.gfit;

import android.annotation.SuppressLint;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

public class DaysActivity extends ListActivity {

    private DaysDataSource datasource;
    private SimpleCursorAdapter dataAdapter;
    private boolean isEditing = false;
    private Toast toast_deleted;
    private String[] columns = new String[] { MySQLiteHelper.COLUMN_NAME, MySQLiteHelper.COLUMN_DAY };
    private int[] to;
    private long routineDataID;
    private String routineDataName;

    @SuppressLint("ShowToast")
    @Override
    public void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android android-intent extra android-activity

2
推荐指数
1
解决办法
5300
查看次数