Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android getWritableDatabase_Java_Android - Fatal编程技术网

Java android getWritableDatabase

Java android getWritableDatabase,java,android,Java,Android,在我的logCat中,我查看错误: “02-24 19:12:41.440 17415-17415/ru.phonebook W/System.err﹕ 无效的int:“” 我正在调试方法“AddSubcriber”,这一错误出现在这一行之后SQLiteDatabase db=this.getWritableDatabase() 这是什么?很难确定,但可能是因为主键没有自动设置INTEGER主键自动递增我正在更新我的变量,但这与私有静态最终字符串无关_Query_CreateTable=“CRE

在我的logCat中,我查看错误: “02-24 19:12:41.440 17415-17415/ru.phonebook W/System.err﹕ 无效的int:“” 我正在调试方法“AddSubcriber”,这一错误出现在这一行之后SQLiteDatabase db=this.getWritableDatabase()


这是什么?

很难确定,但可能是因为主键没有自动设置
INTEGER主键自动递增
我正在更新我的变量,但这与私有静态最终字符串无关_Query_CreateTable=“CREATE TABLE”+_TableName+”(“+_Field_ID+”INTEGER主键自动递增,“+_Field_Name+”TEXT,“+_Field_Phone+”TEXT);”;尝试清除你的应用程序数据。尽管如此,我还是会删除你的应用程序,不管怎样!为我工作没有问题
package ru.phonebook;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.SyncStateContract;
import android.util.Log;

import java.util.ArrayList;
import java.util.List;

// Класс для работы БД
public class DatabaseHandler extends SQLiteOpenHelper
{
    // Версия базы данных
    private static final int _DatabaseVersion = 3;

    // Название базы
    private static final String _DatabaseName = "ContaсtDatabase";

    // Таблица
    private static final String _TableName = "subscribers";

    // Поля в таблице
    private static final String _Field_ID = "id_subscribers";
    private static final String _Field_Name = "name_subscribers";
    private static final String _Field_Phone = "phone_subscribers";

    // Запрос создания таблицы
    private static final String _Query_CreateTable = "CREATE TABLE " + _TableName + "("
            + _Field_ID + " INTEGER PRIMARY KEY,"
            + _Field_Name + " TEXT,"
            + _Field_Phone + " TEXT);";

    // Запрос вывода всех контактов
    private static final String _Query_SelectTable = "SELECT * FROM " + _TableName;

    // Запрос на вывода количества контактов
    private static final String _Query_CountRows_Table = "SELECT COUNT(*) FROM " + _TableName;

    // Конструктор
    public DatabaseHandler(Context context)
    {
        super(context, _DatabaseName, null, _DatabaseVersion);
        Log.e("n", "Call constructor");
    }

    // Добавление абонента в базу данных
    public void AddSubcriber(Subscriber contact)
    {
        SQLiteDatabase db = this.getWritableDatabase();

        /*ContentValues values = new ContentValues();

        values.put(_Field_Name, contact.getName());
        values.put(_Field_Phone, contact.getPhone());

        db.insert(_TableName, null, values);
        db.close();
        */
        Log.d("n", "Insert rows: " + contact.getName());
    }

    // Вывод всех абонентов
    public List<Subscriber> getAllSubscriber()
    {
        List<Subscriber> allSubscriber = new ArrayList<Subscriber>();
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(_Query_SelectTable, null);

        if(cursor.getCount() != 0)
        {
            do
            {
                Subscriber tmpSub = new Subscriber(cursor.getInt(0), cursor.getString(1), cursor.getString(2));
                allSubscriber.add(tmpSub);
            } while(cursor.moveToNext());
        }

        cursor.close();
        db.close();
        return allSubscriber;
    }

    // Вывод количества абонентов
    public int getSubscriberCount()
    {
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(_Query_CountRows_Table, null);
        db.close();
        cursor.close();
        return cursor.getCount();
    }

    // Удаление всех контактов
    public void deleteAllSubscriber()
    {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(_TableName, null, null);
        db.close();
    }

    @Override
    public void onCreate(SQLiteDatabase db)
    {
        db.execSQL(_Query_CreateTable);
        Log.e("n", "Database create");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        db.execSQL("DROP TABLE IF EXISTS " + _TableName);
        onCreate(db);
        Log.e("n", "Database onUpgrade");
    }
}
DatabaseHandler dbConnect = new DatabaseHandler(this);
dbConnect.AddSubcriber(new Subscriber("Petr Umine", "19234234432"));