Pergunta

Eu tenho essa questão sobre Android atividades e AndroidManifest.xml.A questão oriundas quando eu estava trabalhando com Java servlets, e queria criar um "módulo" ou algo semelhante para o plugin baseado em servidor.Este está funcionando bem, e eu posso carregar dinamicamente os servlets eu quero, usando uma abordagem de código semelhante a este: Adicionar dinamicamente um servlet para o servletConfig.Os servlets são dinamicamente encontrado e mapeadas durante a inicialização do servidor.

A questão aqui não é como encontrar atividades, ou como criar uma nova instância de um deles, ou como iniciá-los, a parte que eu descobri.Que eu possa iterar sobre os meus pacotes e encontrar a Atividade apropriada-classes, criar novas instâncias-los e adicioná-los a uma lista.

Estou usando um interface que todas as Atividades devem implementar para ser uma atividade válida.Dessa forma, eu posso criar novas peças, prorrogações ou novas funcionalidades para a minha aplicação, e tudo funciona.Na minha aplicação eu tenho uma lista de botão que os usuários podem clicar em, e o botão de lista é gerada adicionando-os ao meu ver através de um ListView.

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

onde content é declarado como

List<MyActivityInterface> content;

e ListButtonAdapter estende-se BaseAdapter.

Então não há problema.O problema é que eu tenho a declarar cada um e cada uma de minhas atividades no AndroidManifest.xml.Que arquivo é como uma grande lista de possíveis acitivies para apresentar, e meio confuso, então eu não estou indo para exibir o código aqui.

Eu percebo que eu vou ter que adicionar uma atividade para o manifesto, mas eu estava esperando que uma atividade deve ser suficiente.A minha abordagem pode, em muitos aspectos, ser olhado como um Front Controller padrão, onde cada uma das atividades é responsável por carregar e exibir a actividade de que necessitam.

Eu sou simplesmente perguntar se é mesmo possível dinamicamente registrer atividades no manifesto (ou permitir a execução de outra maneira), e se não, existe alguma outra solução válida?

Foi útil?

Solução

Android requer que cada atividade para ser registrado em seu AndroidManifest.xml arquivo antes do tempo.Quando implantado, o aplicativo vai viver em um dispositivo como um .arquivo apk, que não pode ser modificado (além de ser actualizado/substituído com um novo APK).

Se eu entendi a pergunta corretamente, você simplesmente não quer ter para listar um grande número de atividades em seu arquivo de manifesto? Fragmentos não precisam ser registrados no arquivo de manifesto, então, se o seu objetivo é dinamicamente trocar componentes de INTERFACE do usuário, que seria a resposta.Fragmentos estão disponíveis volta para 1,6 através do Biblioteca de suporte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top