如何允许访问类



我知道,这个问题以前问过,但我无法超越这个问题。我想定义全局变量,所以我使用了扩展application class。但是我联系不到这个subclass

我也创建了公共构造函数。

我的superclasssubclass在这里:

class GlobalVariables extends Application {
    private int sessionid;
    private Locale locale;
    public GlobalVariables(){
    }
    public int getSessionid() {
        return sessionid;
    }
    public void setSessionid(int sessionid) {
        this.sessionid = sessionid;
    }
    public Locale getLocale() {
        return locale;
    }
    public void setLocale(Locale locale) {
        this.locale = locale;
    }
}
class Application extends Activity {
    Intent intent;
    int sessionid;
    Log log = new Log();
    SQLiteDatabase db2;
    GeneralLog db = new GeneralLog(this);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        sessionid = getSessionId()+1;
        GlobalVariables glb = new GlobalVariables();
        glb.setSessionid(sessionid);
        setContentView(R.layout.application);
    }
    public int getSessionId() {
        SQLiteDatabase db2 = db.getReadableDatabase();
        final SQLiteStatement stmt = db2.compileStatement("SELECT MAX(sessionid) FROM LOG2");
        return (int) stmt.simpleQueryForLong();
    }
    public Application() {
    }
}

我得到这个错误:

java.lang.IllegalAccessException : access the class not allowed

扩展Application的类必须是public

public class GlobalVariables extends Application 

public添加到类中可以解决您的问题。

public class GlobalVariables extends Application

如果没有指定类的作用域,则默认情况下它是私有的。你必须公开你的信息,这样你才能从其他地方访问它。

相关内容

  • 没有找到相关文章

最新更新