Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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的另一个类中调用我的数据库助手类的方法_Java_Android_Helper - Fatal编程技术网

如何在Java-Android的另一个类中调用我的数据库助手类的方法

如何在Java-Android的另一个类中调用我的数据库助手类的方法,java,android,helper,Java,Android,Helper,类数据库帮助器 package br.com.mefti.simplefinance.sqlite; 导入android.content.ContentValues; 导入android.content.Context; 导入android.database.Cursor; 导入android.database.DatabaseUtils; 导入android.database.sqlite.SQLiteDatabase; 导入android.database.sqlite.SQLiteOpe

类数据库帮助器

package br.com.mefti.simplefinance.sqlite;
导入android.content.ContentValues;
导入android.content.Context;
导入android.database.Cursor;
导入android.database.DatabaseUtils;
导入android.database.sqlite.SQLiteDatabase;
导入android.database.sqlite.SQLiteOpenHelper;
导入android.os.Build;
导入android.provider.BaseColumns;
导入android.provider.contacts合同;
导入android.util.Log;
导入java.util.ArrayList;
导入br.com.mefti.simplefinance.sqlite.contractosf.*;
导入br.com.mefti.simplefinance.modelo.*;
导入br.com.mefti.simplefinance.ui.extractodescuscorsoradapter;
/**
*由a_med于2016年10月13日创建。
*管理护墙板和墙裙基础的课程
*/
公共类basedDossf扩展了SQLiteOpenHelper{
公共静态最终字符串NOME_BASE_DADOS=“BDSimpleFinance.db”;
专用静态最终内部变量=1;
私人最终语境;
sqlitedb数据库;
界面选项卡{
字符串USUARIO=“USUARIO”;
字符串LANCAMENTO=“LANCAMENTO”;
字符串CATEGORIA=“CATEGORIA”;
}
接口引用{
String COD_USUARIO=String.format(“删除级联上的引用%s(%s)”,Tabelas.USUARIO,USUARIO.COD_USUARIO);
字符串COD_LANCAMENTO=String.format(“引用%s(%s)”,Tabelas.LANCAMENTO,LANCAMENTO.COD_LANCAMENTO);
String COD_CATEGORIA=String.format(“引用%s(%s)”,Tabelas.CATEGORIA,CATEGORIA.COD_CATEGORIA);
}
基于公共的DADOSSF(上下文上下文){
super(上下文、名称、基准、空值、通用);
this.contexto=contexto;
}
@凌驾
public void onOpen(SQLiteDatabase db){
super.onOpen(db);
如果(!db.isReadOnly()){
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.JELLY\u BEAN){
db.setForeignKeyConstraintEnabled(true);
}否则{
db.execSQL(“PRAGMA foreign_keys=ON”);
}
}
}
@凌驾
public void onCreate(SQLiteDatabase SQLiteDatabase){
sqLiteDatabase.execSQL(String.format(“创建表%s(%s)整型主键自动递增,”+
“%s TEXT NOT NULL UNIQUE,%s VARCHAR(50)NOT NULL,%s VARCHAR(20)NOT NULL,%s VARCHAR(30)NOT NULL UNIQUE,%s CHAR(1)NOT NULL)”,
Tabelas.USUARIO,BaseColumns.\u ID,
Usuario.COD_Usuario,Usuario.NOME,Usuario.SENHA,Usuario.EMAIL,Usuario.ESTADO
));
sqLiteDatabase.execSQL(String.format(“创建表%s(%s)整型主键自动递增,”+
%s文本唯一不为空,%s文本不为空%s,%s文本不为空%s,%s字符(1)不为空+
%s VARCHAR(100)不为空,%s DOUBLE,%s DATETIME,%s CHAR(1)不为空,%s DATETIME+
“%s DOUBLE,%s VARCHAR(400))”,
Tabelas.LANCAMENTO,BaseColumns.\u ID,
Lancamento.COD_Lancamento,Lancamento.COD_Usario,Referenceas.COD_Usario,Lancamento.COD_CATEGORIA,Referenceas.COD_CATEGORIA,Lancamento.TP_Lancamento,
Lancamento.DESCRICAO、Lancamento.VALOR、Lancamento.DATA、Lancamento.REPETIR、Lancamento.PREVISAO_数据、,
兰开门托。普雷维索·瓦洛,兰开门托。观察者
));
sqLiteDatabase.execSQL(String.format(“创建表%s(%s)整型主键自动递增,”+
“%s TEXT UNIQUE NOT NULL,%s TEXT NOT NULL%s,%s VARCHAR(20)NOT NULL,%s CHAR(1)NOT NULL)”,
Tabelas.CATEGORIA,BaseColumns.\u ID,
Categoria.COD_Categoria,Categoria.COD_USUARIO,referenceas.COD_USUARIO,Categoria.NOME,Categoria.TP_LANCAMENTO
));
}
@凌驾
public void onUpgrade(SQLiteDatabase SQLiteDatabase,inti,inti1){
execSQL(“如果存在删除表”+Tabelas.USUARIO);
execSQL(“如果存在删除表”+Tabelas.LANCAMENTO);
execSQL(“如果存在删除表”+Tabelas.CATEGORIA);
onCreate(sqLiteDatabase);
}
//伊尼西奥歌剧分类
公共游标obtercategoriaorcodcategoria(字符串cod_categoria){
db=this.getReadableDatabase();
字符串sql=String.format(“从%s中选择*,其中%s=?”,
Tabelas.CATEGORIA,CATEGORIA.COD_CATEGORIA);
字符串[]selectionArgs={cod_categoria};
Cursor=db.rawQuery(sql,selectionArgs);
日志d(“分类”、“分类”);
DatabaseUtils.dumpCursor(cursor);
db.close();
返回光标;
}
}
替换此代码

public class ExtratoDespesasCursorAdapter extends CursorAdapter{
  public BaseDadosSF dados = new BaseDadosSF(this); ----> the error is here

  public ExtratoDespesasCursorAdapter(Context context, Cursor c) {
    super(context, c, 0);
  }
用这个

public class ExtratoDespesasCursorAdapter extends CursorAdapter{
  public BaseDadosSF dados;

  public ExtratoDespesasCursorAdapter(Context context, Cursor c) {
    super(context, c, 0);
    dados = new BaseDadosSF(context);
  }
您需要传递正在使用的上下文,并且抛出错误时的
上下文
尚未准备就绪

另一点是
指的是
额外的descuscorsoradapter
,而不是
活动
,该活动具有
上下文

试试这个

旧代码

public class ExtratoDespesasCursorAdapter extends CursorAdapter{
public BaseDadosSF dados = new BaseDadosSF(this); ----> the error is here

public ExtratoDespesasCursorAdapter(Context context, Cursor c) {
    super(context, c, 0);
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
    LayoutInflater inflater = LayoutInflater.from(cotext);
    return inflater.inflate(R.layout.list_item_extrato_despesas, viewGroup, false);
}
新代码

public class ExtratoDespesasCursorAdapter extends CursorAdapter{
public BaseDadosSF dados ;

public ExtratoDespesasCursorAdapter(Context context, Cursor c) {
    super(context, c, 0);
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
    LayoutInflater inflater = LayoutInflater.from(cotext);
       dados = new BaseDadosSF(context);
    return inflater.inflate(R.layout.list_item_extrato_despesas, viewGroup, false);
}