앱을 개발하다 보면은 Context 라는 것을 많이 사용하는데요.....
이 context 란 놈에 대한 정의가 정확히 서있지가 않아서 어떤 경우에 사용해야 할지 아직 헷갈린 초보 개발자 중 1인 입니다..
구글링등을 통해서 얻은 정보로는 애매모호한 개념 설립밖에 안되어서 이렇게 질문 드립니다.
도대체 Context 가 어떤 경우에 쓰이며 이 놈의 정확한 개념은 무엇인지 알려주시면 감사 하겠습니다... 꾸벅.....
그래서 context를 파라미터로 받는 경우에는
보통 해당 액티비티의 인스턴스를 넘깁니다.
액티비티가 context내에 포함된 하위클래스이기 때문이죠
아....context 라는 것을 어플을 구분하기 위한것... 이라고 생각을 하니깐 해당 어플의 리소스라든지 환경 설정에 접근하기 위해서 context 를 사용
했던 것과 일치 하는 느낌이드네요... 감사 합니다.. 아 그런데요.. 제가 한가지 의문을 가지는 부분이요...
예를 들어서 액티비티를 상속받은 Main() 가 있구요... BroadcastReceiver 를 상속받은 한 클래스가 있다구 할때요...
intent 를 날리는 방법이 두개가 다르더라구요...main 같은 경우에는 intent 를 생성을 한 후에 startService(intent); 와 같은
방식으로 날리게 되구
브로드캐스트를 상속받은것은 context.sendBroadcast(start_intent); 이와 같이 context. <---------- 이런식으로 intent 날리는데요.... 이것에 대한 차이는 말씀하신 대로 생각을 한다면... Main 인 경우에는 액티비티를 상속 받았기 때문에 context를 사용하지 않아도 intent를 날리는 것이 가능하지만 다른 클래스 같은 경우에는 특히나 액티비티를 상속받지 않은 클래스 같은 경우에는 그 해당 어플에 대한 정보를 가지고 있지 않기 때문에 context 를 사용을 해서 intent 를 날린 것이다 라고 생각을 해도 될까요???
간단하게 생각하시면 됩니다.
보통 사용하는 폰에는 여러가지 어플들이 있죠
그중에 사용하고자 하는 어플을 구분하는게 context입니다.
윈도우 프로그래밍에서는 핸들이라는 개념과 유사하고
c언어에서는 파일포인터라고 하죠.