Java Android:我如何使用为我自己的类中的活动定义的方法?
我的应用程序有多个以不同方式使用同一数据库的活动。数据会定期从我的应用程序外部添加到数据库中。因此,我没有复制代码来检查每个活动中的数据库,而是尝试创建一个类,可以从任何活动中使用该类来检查数据库中的新条目。我使用fileInputStream和openFileInput方法打开一个文件,该文件包含一些首选项,用于确定应用程序是否对新数据库条目感兴趣。在每个活动中使用openFileInput方法都可以正常工作,但在我自己的类中使用它会导致错误,即openFileInput()方法未定义。我已导入java.io.FileInputStream,但错误仍然存在。openFileInput是上下文的成员。你应该将你的活动传递给你的类(作为一个上下文)并从那里调用它Java Android:我如何使用为我自己的类中的活动定义的方法?,java,android,Java,Android,我的应用程序有多个以不同方式使用同一数据库的活动。数据会定期从我的应用程序外部添加到数据库中。因此,我没有复制代码来检查每个活动中的数据库,而是尝试创建一个类,可以从任何活动中使用该类来检查数据库中的新条目。我使用fileInputStream和openFileInput方法打开一个文件,该文件包含一些首选项,用于确定应用程序是否对新数据库条目感兴趣。在每个活动中使用openFileInput方法都可以正常工作,但在我自己的类中使用它会导致错误,即openFileInput()方法未定义。我已导
public class MyClass{
protected Context mContext;
public MyClass(Context c)
{
mContext = c;
}
public void doSomething()
{
mContext.openFileInput(...)
}
}
您可以使用继承:
public class ActivityWithDBManagementAbilities extends Activity{
public YourAnswerType checkDB(YourParameterType parameter){
//here the code that check the data base
}
}
然后您的活动从该类扩展而来(真正的活动使用父方法而不复制代码)。例如:
public class MyActivity1 extends ActivityWithDBManagementAbilities{
//inside some method.
YourAnswerType dbStatus = checkDB(yourParam);
}
我还没有测试过它,但它应该能用。效果很好!谢谢。