ورود

View Full Version : کار کلاس context چیه؟



afshinhd
یک شنبه 24 فروردین 1393, 17:24 عصر
سلام. میخواستم بدونم کار کلاس ذکر شده چیه؟ و این چند خط کد چیکار میکنه؟
private final Game game;
public PuzzleView(Context context) {
super(context);
this.game = (Game) context;
setFocusable(true);
setFocusableInTouchMode(true);
}

smemamian
یک شنبه 24 فروردین 1393, 22:42 عصر
سلام
در واقع یک واسطی هست که باعث می شود به منابع (Serviceها، Resourceها، Alarm Managerها و..) دسترسی پیدا کنید.
Context هر برنامه مربوط به همان برنامه است، و شما حتی برای استفاده از بعضی کلاس ها نیاز به Context دارید مثل کلاس های
دیتابیس. Context یک چیزی شبیه به this هست. شما وقتی می خواهید به یک مقدار مربوط به یک کلاسی که اکنون در آن
هستید دسترسی پیدا کنید از this استفاده کنید:

class MyClass {

private String one;

public void setOne(String one){
this.one = one ;
};
}

پس شما هر وقت بخواهید از منابعی که در اختیار برنامه شما توسط خود سیستم قرار داده شده
استفاده کنید باید از Context استفاده کنید.

afshinhd
یک شنبه 24 فروردین 1393, 23:02 عصر
[QUOTE=smemamian;2005288]سلام
در واقع یک واسطی هست که باعث می شود به منابع (Serviceها، Resourceها، Alarm Managerها و..) دسترسی پیدا کنید.
من قسمت [contrext هر برنامه مربوط به همان برنامه است، و شما حتی برای استفاده از بعضی کلاس ها نیاز به Context دارید مثل کلاس های
دیتابیس] رو متوجه نشدم

smemamian
یک شنبه 24 فروردین 1393, 23:14 عصر
برای مثال شما می خواهید از Alarm Manager استفاده کنید، پس :

Context.getSystemService(Context.ALARM_SERVICE).

و برای استفاده از دیتابیس، باید سازنده (Constructor) اون کلاس رو به صورت زیر
تعریف و مقداردهی اولیه کنید تا بتونید از اون دیتابیس استفاده کنید:

private static class DataBaseHelper extends SQLiteOpenHelper {

public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}