Uso de getAssets fuera de una actividad

Intento analizar un archivo en mi clase DatabaseHandler pero Eclipse dice:

El método getAssets () no está definido para el tipo DatabaseHandler

Este es el código:

public class DatabaseHandler extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 15; public DatabaseHandler(Context context) { super(context, "rettinfo", null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { Log.d("Create: ", "Creating antidotlist"); String CREATE_ANTIDOT_TABLE = "CREATE TABLE antidots (id INTEGER PRIMARY KEY antidot TEXT, dos TEXT)"; Log.d("Create: ", CREATE_ANTIDOT_TABLE); db.execSQL(CREATE_ANTIDOT_TABLE); InputStream antidots = getAssets().open("antidot/antidots"); InputStreamReader input = new InputStreamReader(antidots); BufferedReader buffreader = new BufferedReader(input,2*1024); String line; while ((line = buffreader.readLine()) != null) { String[] point_t = line.split(","); } antidots.close(); } } 

Actualización de Tim

Así es como eclipse no comete errores

 int i = 0; InputStream antidots; try { antidots = mCtx.getAssets().open("antidot/antidots"); InputStreamReader input = new InputStreamReader(antidots); BufferedReader buffreader = new BufferedReader(input,2*1024); String line; while ((line = buffreader.readLine()) != null) { i++; ContentValues values = new ContentValues(); String[] antidot = line.split("#"); int id = Integer.parseInt(antidot[0]); values.put("id", id); values.put("antidot", antidot[1]); values.put("dos", antidot[2]); db.insert("antidots", null, values); } antidots.close(); } catch (IOException e) { e.printStackTrace(); } 

Guarde una referencia al Context que obtiene del constructor y luego llame a getAssets () en esa referencia.

 public class DatabaseHandler extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 15; private Context mCtx; //<-- declare a Context reference public DatabaseHandler(Context context) { super(context, "rettinfo", null, DATABASE_VERSION); mCtx = context; //<-- fill it with the Context you are passed } @Override public void onCreate(SQLiteDatabase db) { Log.d("Create: ", "Creating antidotlist"); String CREATE_ANTIDOT_TABLE = "CREATE TABLE antidots (id INTEGER PRIMARY KEY antidot TEXT, dos TEXT)"; Log.d("Create: ", CREATE_ANTIDOT_TABLE); db.execSQL(CREATE_ANTIDOT_TABLE); InputStream antidots = mCtx.getAssets().open("antidot/antidots"); //<-- call getAssets on your Context object. InputStreamReader input = new InputStreamReader(antidots); BufferedReader buffreader = new BufferedReader(input,2*1024); String line; while ((line = buffreader.readLine()) != null) { String[] point_t = line.split(","); } antidots.close(); } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.