Mat*_*att 0 java database android subclass sqliteopenhelper
我有一个工作琐事游戏,我现在正试图实现一个高分.我创建了一个扩展SQLiteOpenHelper的子类DatabaseHelper类.我试图从另一个类调用子类DatabaseHelper中的方法,并得到错误.这些类不会编译,因此没有LogCat输出.我在代码中评论了错误.
代码结构建议也很受欢迎!
Highscores.java
public class Highscores extends Activity {
DatabaseHelper dh;
SQLiteDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
dh = new DatabaseHelper(context);
}
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(Context context) {
//code
}
public boolean check(long score, int percentage) {
//code
}
}
}
Run Code Online (Sandbox Code Playgroud)
Results.java
public class Results extends Activity {
DatabaseHelper dh; //Error: "DatabaseHelper cannot be resolved to a type."
public void onCreate(Bundle savedInstanceState) {
dh = new DatabaseHelper(); //Error: "DatabaseHelper cannot be resolved to a type."
}
public void showResults() {
if(dh.check(score, percentage) == true) { //Error: "DatabaseHelper cannot be resolved to a type."
dh.insert(score, percentage); //Error: "DatabaseHelper cannot be resolved to a type."
}
}
}
Run Code Online (Sandbox Code Playgroud)
当你需要在类之外定义一个类时,我建议将该类创建为单独的类.否则你需要创建外部类的实例来访问内部类,这将创建Activity的实例并在Activity实例上调用DatabaseHelper,这在Android中不是一个好方法.
如果您仍想继续使用现有方法,则需要访问它:
OuterClass outerObject = new OuterClass();
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
Run Code Online (Sandbox Code Playgroud)
请阅读嵌套类教程
| 归档时间: |
|
| 查看次数: |
6230 次 |
| 最近记录: |