320x100
[Android] ClassCastException at android.app.Application 오류 수정
간혹 android.app.Application을 상속받은 클래스를 선언 후에 getApplication()메소드 호출 후 class cast 시
오류가 발생해서 당황스러울 때가 있다. 물론 내 이야기다..... ㅡ.ㅡㅁ.(뭐.. 어쩌라고? 응?)
[android.app.Application 클래스 상속한 클래스 선언]
public class Application extends android.app.Application {
................
}
[getApplication()메소드를 이용해서 변경작업]
public class MainActivity extends Activity {
private Applicatioin mApplication;
mApplication = (Application) getApplication(); <---- class cast 오류발생
}
해당 경우는 사용자가 android.app.Application을 상속받아 별도의 클래스를 만들었지만
Android OS 자체는 기존 android.app.Application을 가리키고 있어서 오류가 발생되었다.
이를 해결하기 위해서는 androidmanifast .xml 파일을 수정해야 한다.
android:name 속성값을 상속받은 클래스명 Application 또는 개발자가 작성한 임의의 클래스명으로 작성해 주면 된다.
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name="Application" >
<activity
android:name="kr.co.sstd.bittestapp.ManagerActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name="Application" >
<activity
android:name="kr.co.sstd.bittestapp.ManagerActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
반응형
'개발 이야기 > Android (안드로이드)' 카테고리의 다른 글
Android | 영상통화자료 (2) | 2023.06.02 |
---|---|
Java 에서는 static을 C 와 다르게 사용하자 (0) | 2020.05.05 |
Android Hardware Acceleration 옵션 꺼기 (0) | 2017.07.07 |
범용성과 독립성 (0) | 2016.12.09 |
Android Eclipse + ADT 개발환경셋팅방법 (0) | 2015.07.23 |
Service 에 대한 이해. (0) | 2012.07.16 |
Android 개발서적 도우미 (0) | 2011.03.29 |
MAC PRO 에서 안드로이드 환경구축 도전기 (0) | 2009.04.02 |