Android 탭 호스트 응용 프로그램에서 응용 프로그램을 확장하는 클래스가 있습니다. App 클래스에서 필자는 모든 클래스에서 다시 작성해야 할 메소드와 변수를 배치했습니다. 한 가지 방법은 DB에서 읽고 결과를 ArrayList (이름, 성 등)에 저장합니다. 이 데이터베이스를 다시 읽고 정보가 필요한 모든 탭보기에 대한 코드를 다시 작성하는 대신 Application (myAppClass)을 확장하는 클래스에 메서드와 ArrayList를 꽂았습니다. 이 방법으로 onCreate()의 탭보기에서 mAC = (myAppClass) getApplicationContext()
을 설정하면 myAppClass에서 모든 get ..() 및 set ..() 메소드를 참조 할 수 있습니다.정적 메소드와 클래스 확장 android.app.Application?
내 원래 계획은 정적 메서드와 변수가있는 공유 클래스를 사용하는 것이지만 "do not do that"스레드를 많이 읽었 기 때문에 응용 프로그램 경로로 이동하기로 결정했습니다. 이제는 프로젝트 라이브러리에서 myAppClass를 사용하려고하지만 오류가 발생하는 상황이 발생했습니다 android.app.Application cannot be cast to...
myAppClass를 정적 메서드/변수로 다시 변경하고 응용 프로그램을 확장하지 않으면 작동하지만이 경우 큰 노 - 노. 이것을 할 또 다른 방법이 있습니까? 안드로이드가 참조로 모든 것을 전달한다면 확실하지는 않지만 메소드/클래스간에 거대한 (수천 개의 객체/멤버) ArrayList를 앞뒤로 지나쳐서 전체 애플리케이션을 다시 구현하는 것이 더 낫지 않습니까?
Application 인스턴스가 하나뿐입니다. getter 및 setter를 사용할 필요가 없습니다. 서브 클래 싱 된 응용 프로그램에서 정적 메서드/변수를 사용하고 그런 식으로 사용합니다 : MyApplication.myMethod() ... –