< 개발 환경 > < 프로젝트 적용 > |
안드로이드/Android Application Class 란?
안드로이드에서 Application Class란 어플리케이션 컴포넌트들 사이에서 공동으로 멤버들을 사용할 수 있게 해주는 편리한 공유 클래스를 제공합니다.
어플리케이션 사이의 컴포넌트들이 공동으로 사용할 수 있기 때문에 공통되게 사용하는 내용을 작성해주면 어디서든 context를 이용한 접근이 가능 합니다.
<사용방법>
● 1) Application Class를 상속받는 Class를 만든다.
● 2) AndroidManifest.xml에 Application Class name을 추가 한다.
● 3) 어플리케이션 내의 컴포넌트들 사이에서 context를 이용한 접근이 가능하다. (Data 공유)
1) Application Class 구현
package arabiannight.tistory.com.applicationclass; import android.app.Application; import android.content.res.Configuration; public class ApplicationClass extends Application { public int jumsu = 100; /** onCreate() * 액티비티, 리시버, 서비스가 생성되기전 어플리케이션이 시작 중일때 * Application onCreate() 메서드가 만들어 진다고 나와 있습니다. * by. Developer 사이트 */ @Override public void onCreate() { super.onCreate(); } /** * onConfigurationChanged() * 컴포넌트가 실행되는 동안 단말의 화면이 바뀌면 시스템이 실행 한다. */ @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } }
2) AndroidManifest.xml
3) 어플리케이션 내의 컴포넌트들 사이에서 context를 이용한 접근 (Data 공유)
package arabiannight.tistory.com.applicationclass; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { private ApplicationClass applicationClass; private TextView tvJumsu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvJumsu = (TextView) findViewById(R.id.tv_jumsu); applicationClass = (ApplicationClass)getApplicationContext(); tvJumsu.setText(applicationClass.jumsu + ""); } }
package arabiannight.tistory.com.applicationclass; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BroadCastReceiverClass extends BroadcastReceiver{ private ApplicationClass applicationClass; @Override public void onReceive(Context context, Intent intent) { applicationClass = (ApplicationClass)context.getApplicationContext(); } }
package arabiannight.tistory.com.applicationclass; import android.content.ContentProvider; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; public class ContentProviderClass extends ContentProvider{ private ApplicationClass applicationClass; @Override public int delete(Uri uri, String selection, String[] selectionArgs) { return 0; } @Override public String getType(Uri uri) { return null; } @Override public Uri insert(Uri uri, ContentValues values) { return null; } @Override public boolean onCreate() { applicationClass = (ApplicationClass) getContext().getApplicationContext(); return false; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { return null; } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { return 0; } }
Service는 좀더 알아 본 후 추가 하도록 하겠습니다.~!
파일첨부 :
스크린샷 :
감사합니다.
'Android > Class' 카테고리의 다른 글
안드로이드/Android 자바 코드에서 Color Class 사용법 ~! (0) | 2013.02.03 |
---|---|
안드로이드/Android Rect Class(클래스) 사용 하기 ~! (1) | 2013.01.28 |
안드로이드/Android 최상위 클래스(Class) 얻어 오기 ~! (0) | 2013.01.27 |