如何在非活动类或任何静态方法中调用startManagingCursor从sqlite(android)检索数据?

如何在非活动类或任何静态方法中调用startManagingCursor从sqlite(android)检索数据?,android,sqlite,cursor,static-methods,Android,Sqlite,Cursor,Static Methods,实际上,我有一些简单的类(非活动类),我想从sqlite中检索数据,并对数据进行一些处理和评估。,但问题是上面的代码在活动中运行良好,但在任何非活动类或活动的任何静态函数中都不工作,因此我可以从任何类调用该函数 任何建议,请使用getActivity().startManagingCursor(c)或将上下文的实例传递给要调用的类startManagingCursor() 假设你的班级是这样的: DBHelper db =new DBHelper(context); Cursor result

实际上,我有一些简单的类(非活动类),我想从sqlite中检索数据,并对数据进行一些处理和评估。,但问题是上面的代码在活动中运行良好,但在任何非活动类或活动的任何静态函数中都不工作,因此我可以从任何类调用该函数

任何建议,请使用
getActivity().startManagingCursor(c)
或将上下文的实例传递给要调用的类
startManagingCursor()

假设你的班级是这样的:

DBHelper db =new DBHelper(context);
Cursor result = db.weeklyMedicinesTaken();  
//WeeklyMedicinesTaken is a function in DBHelper class which returns cursor containing an integer value.
startManagingCursor(result);        //this function is a resistance in what i want to do.
      while(result.moveToNext())
     {
        int count=result.getInt(0); 
     }
 result.close();
创建Person对象时,应按如下方式传递上下文:

DBHelper db =new DBHelper(context);
Cursor result = db.weeklyMedicinesTaken();  
//WeeklyMedicinesTaken is a function in DBHelper class which returns cursor containing an integer value.
startManagingCursor(result);        //this function is a resistance in what i want to do.
      while(result.moveToNext())
     {
        int count=result.getInt(0); 
     }
 result.close();
在您的
onCreate()
中或活动中的其他地方:

Person{
Context mContext;
String name, surname;

Person (Context context){
mContext = context;
}
但是,在活动之外管理光标不是一个好的做法。
您可以检查简单的模式。

仍然不起作用。请你详细说明一下,如何在“startManagingCursor(cursor)”中向类传递上下文??GetActivity()不可访问……这意味着sqlite数据库仅在活动中使用和访问?我有很多类实现了一些算法来处理数据并返回结果。这些函数不仅可以从活动中调用,还可以由其他非活动类的函数调用。。没有任何方法可以编写可以从任何类调用的静态函数吗?如果您想要一个健壮的应用程序,您应该检查内容提供商。与数据库通信是最佳做法:不要使用
startManagingCursor
,原因如下: