문제

Android 활동 및 AndroidManifest.xml에 관한 질문이 있습니다.Java 서블릿으로 작업할 때 "모듈 기반" 또는 플러그인 기반 서버와 유사한 것을 만들고 싶었을 때 질문이 발생했습니다.이것은 잘 작동하며 다음과 유사한 코드 접근 방식을 사용하여 원하는 서블릿을 동적으로 로드할 수 있습니다. servletConfig에 서블릿을 동적으로 추가합니다..서블릿은 서버 시작 중에 동적으로 검색되고 매핑됩니다.

여기서 문제는 적절한 활동을 찾는 방법이나 새로운 인스턴스를 만드는 방법, 시작하는 방법이 아니라 제가 알아낸 부분입니다.내 패키지를 반복하여 적절한 활동 클래스를 찾고, 해당 활동 클래스의 새 인스턴스를 만들고 목록에 추가할 수 있습니다.

나는 interface 유효한 활동이 되려면 모든 활동이 구현되어야 합니다.그렇게 하면 애플리케이션에 대한 새로운 부분, 확장 또는 새로운 기능을 만들 수 있고 모든 것이 제대로 작동합니다.내 애플리케이션에는 사용자가 클릭할 수 있는 버튼 목록이 있고, 버튼 목록은 ListView.

private void displayLoadedContent() {
    View v = inflateLayout(R.layout.buttonlayout);
    ListView view = (ListView) v.findViewById(R.id.list);
    view.setAdapter(new ListButtonAdapter(this, content));
}

어디 content 다음과 같이 선언됩니다.

List<MyActivityInterface> content;

그리고 ListButtonAdapter 연장하다 BaseAdapter.

그러니 거기에는 문제가 없습니다.문제는 AndroidManifest.xml에서 내 활동을 각각 선언해야 한다는 것입니다.해당 파일은 표시할 수 있는 활동의 큰 목록과 같으며 다소 지저분하므로 여기에 코드를 표시하지 않겠습니다.

매니페스트에 하나의 활동을 추가해야 한다는 것을 깨달았지만 하나의 활동으로 충분할 것이라고 기대했습니다.내 접근 방식은 여러 면에서 다음과 같이 보일 수 있습니다. 전면 컨트롤러 패턴, 각 활동은 필요한 활동을 로드하고 표시하는 역할을 담당합니다.

매니페스트에 활동을 동적으로 등록하거나 다른 방식으로 실행하도록 허용하는 것이 가능한지 묻고 있는 것입니다. 그렇지 않은 경우 다른 유효한 솔루션이 있습니까?

도움이 되었습니까?

해결책

Android에서는 각 활동을 AndroidManifest.xml 미리 파일을 제출하세요.배포되면 앱은 기기에 .apk 파일로 저장되며 수정할 수 없습니다(새 APK로 업데이트/교체되는 경우는 제외).

제가 질문을 올바르게 이해했다면 매니페스트 파일에 많은 수의 활동을 나열하고 싶지 않으신가요? 조각 매니페스트 파일에 등록할 필요가 없으므로 UI ​​구성 요소를 동적으로 교체하는 것이 목표라면 그것이 답이 될 것입니다.조각은 다음을 통해 1.6으로 다시 사용할 수 있습니다. 지원 라이브러리.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top