HierarchyViewer

O hierarchyviewer é uma ferramenta impressionante e muito útil para desenvolvedores android, que eu quase não uso(usava), pois ela necessita ou de um “developer phone (com developer build)” ou rodar a aplicação no emulador (que é incrivelmente lento, pesado e chato de trabalhar…)

Mas, alguns dias atrás o googler Romain Guy (@romainguy – sigam ele…) postou no twitter esse código, habilitando o uso do hierarchyviewer em seu aparelho pessoal, pretty amazing hmm…

Certo, mas o que é o hierarchyviewer afinal???
“Hierarchy Viewer lhe permite debugar (sic) e otimizar sua interface de usuário. Ele prove uma representação visual da hierarquia das ‘Views’ do seu ‘layout’ (Layout View) e um inspetor ampliado da tela da aplicação (Pixel Perfect View).

O HV mostra a representação em forma de “Arvore” do seu layout (lembre-se que ele é um xml com um root node e vários filhos) além de trazer algumas informações muito uteis, como o tempo de gasto com “Measure, Layout, Draw”. Com essa informação você pode ter uma ideia do que está deixando a sua interface pesada, por exemplo…

Já no “Pixel Perfect” você tem uma visão magnificada da tela do aplicativo, onde você pode conferir questões de layout/design como espacamentos, cores, etc…

Certo, mas como fazer para usar essa maravilha toda????

Primeiro precisamos importar o ViewServer.java em nosso projeto.

Depois disso é bem simples, basta em cada Activity do seu projeto chamar addWindow() no onCreate, setFocusedWindow() no onResume e removeWindow() no onDestroy

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ViewServer.get(this).addWindow(this);
    }

    @Override
    public void onResume() {
        super.onResume();
        ViewServer.get(this).setFocusedWindow(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ViewServer.get(this).removeWindow(this);
    }

Feito isso, basta rodar o aplicativo com o celular plugado no PC e rodar o hierarchyviewer (android-sdk/tools/hierarchyviewer)

Já ia quase esquecendo, outra ferramenta interessante do HV é a possibilidade de exportar seu layout em um arquivo .psd (Photoshop) onde cada view do seu aplicativo é um layer separado, muito útil para utilizar para ajustes finos e testes no PS antes de voltar ao .xml e modificar seu app.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: