Ver mensagens sem resposta | Ver tópicos ativos Hoje é 12 Nov 2019, 10:32



Responder Tópico  [ 3 Mensagens ] 
 Gerando Documentos XML apartir de Objetos 
Autor Mensagem
Developing Applications
Developing Applications
Avatar de usuário

Data de registro: 30 Dez 2007, 13:08
Mensagens: 548
Localização: Florianópolis - SC
Mensagem Gerando Documentos XML apartir de Objetos
Gerando Documentos XML apartir de Objetos

Esse artigo visa demonstrar a geração de documentos XML apartir de Objetos Java no Android de forma rápida e simples. Bem, partimos do pressuposto que você já tenha uma noção de XML, pois não iremos abordar nada a respeito. Nem mesmo suas vantagens ou desvantagens.


Definição do Objeto

Depois de criar um Projeto Android, crie um pacote chamado com.portalandroid.objeto. Dentro desse pacote crie uma classe chamada Membro. Abaixo segue a implementação:

package com.portalandroid.objeto;

public class Membro {
   
    private String nick;
    private String email;
   
    public Membro(){}
   
    public String getNick(){
        return nick;
    }
   
    public String getEmail(){
        return email;
    }
   
    public void setNick(String nick){
        this.nick = nick;
    }
   
    public void setEmail(String email){
        this.email = email;
    }

}
 



Gerando um documento XML apartir do Objeto Membro

A tarefa de gerar documentos xml se torna bastante fácil quando utilizamos a biblioteca XStream. Não iremos entrar em maiores detalhes sobre essa biblioteca, mas para quem quizer se aprofundar, aconselho a dar uma olhada no site http://xstream.codehaus.org/index.html. Nele tem todas as características e especificações que precisar para ficar totalmente por dentro da biblioteca, inclusive suas limitações. Muito bem, para utilizar o XStream no Android, basta importar a biblioteca para o seu projeto, em outras palavras, adicionar o .jar do XStream no seu classpath (em anexo o arquivo em questão). Feito isso basta implementar a seguinte atividade:


package www.portalandroid.org;

import com.portalandroid.objeto.Membro;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

//importando a classe XStream
import com.thoughtworks.xstream.XStream;

public class GerandoDocumentoXml extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        //instanciamos um botão e setamos um label pra ele
        Button botao = new Button(this);
        botao.setText("Clique aqui");

        setContentView(botao);

          //definimos uma ação para o nosso botão
          botao.setOnClickListener(new Button.OnClickListener() {
              public void onClick(View v) {
                 
                  //instanciamos um XStream
                  XStream meuxstream = new XStream();

                  //necessário caso você queíra ter uma tag <membro> ao invés de <com.portalandroid.objeto.Membro>
                  meuxstream.alias("membro", Membro.class);
                 
                  //criamos um objeto Membro e setamos alguns valores
                  Membro membro = new Membro();
                  membro.setEmail("jaison@meuemail.com");
                  membro.setNick("Jaison");
                                                     
                  //pronto, temos um xml
                  String meuXML = meuxstream.toXML(membro);
                 
                  //mostra o xml no logcat
                  Log.i("MEU XML",meuXML);

                  //apenas um aviso
                  Toast.makeText(GerandoDocumentoXml.this,"Verifique o Log, no painel LogCat", Toast.LENGTH_LONG).show();
             }          
        });
    }
}
 



Resultado Final

O resultado deve ser algo semelhante a isso:

Imagem


Você não tem permissões suficientes para ver os arquivos anexados nesta mensagem.

_________________
Google

Siga o Portal Android no twitter: @portal_android

- Nunca deixe de compartilhar a solução de algum problema;
- Críticas, dúvidas ou sugestões relacionadas ao Portal Android? Participe do Portal;
- Venda, troca, compra? Classificados;
- Faça uma busca antes de postar, sua dúvida já pode ter sido respondida. Mecanismo de busca 1, Mecanismo de busca 2;
- Não crie tópicos com títulos tipo "AJUDA URGENTE", "IMPORTANTE", "AJUDA POR FAVOR", "ESTOU DESESPERADO", etc...


17 Mai 2009, 18:44
Perfil ICQ WWW
Google employee
Google employee

Data de registro: 01 Jul 2013, 13:45
Mensagens: 2735
Localização: Rio de Janeiro
Mensagem Re: Gerando Documentos XML apartir de Objetos
Existe alguma forma pra definir um critério de ordenação entre as tags? Quando mostro o xml num textview as tags estão em ordem alfabética, é possível mudar?

_________________
Quando seu problema for resolvido, clique na opção Editar no lado superior direito da sua primeira mensagem e coloque [Resolvido] no título.
Se resolveu o problema sozinh@, não esqueça de postar a solução, ela ajuda usuários em buscas no fórum.
Use os marcadores java e xml quando for postar.

Aprenda Java com esta apostila.


31 Dez 2013, 23:40
Perfil WWW
What is Android?
What is Android?

Data de registro: 17 Jul 2014, 17:42
Mensagens: 5
Mensagem Re: Gerando Documentos XML apartir de Objetos
Aqui adicionando a biblioteca e dando build path mesmo assim da esse erro:


07-18 19:19:23.598: E/AndroidRuntime(1704): FATAL EXCEPTION: main
07-18 19:19:23.598: E/AndroidRuntime(1704): Process: com.example.exemploobjetoparaxml, PID: 1704
07-18 19:19:23.598: E/AndroidRuntime(1704): java.lang.NoClassDefFoundError: com.thoughtworks.xstream.XStream
07-18 19:19:23.598: E/AndroidRuntime(1704):     at com.example.exemploobjetoparaxml.MainActivity$1.onClick(MainActivity.java:31)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at android.view.View.performClick(View.java:4438)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at android.view.View$PerformClick.run(View.java:18422)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at android.os.Handler.handleCallback(Handler.java:733)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at android.os.Handler.dispatchMessage(Handler.java:95)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at android.os.Looper.loop(Looper.java:136)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at android.app.ActivityThread.main(ActivityThread.java:5017)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at java.lang.reflect.Method.invokeNative(Native Method)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at java.lang.reflect.Method.invoke(Method.java:515)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-18 19:19:23.598: E/AndroidRuntime(1704):     at dalvik.system.NativeStart.main(Native Method)
 


Ele não localiza a classe, mas não to sendo acusado de nenhum erro no projeto eclipse,

fechei e abri de novo e nada /tt

Help!


18 Jul 2014, 18:21
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 3 Mensagens ] 

Quem está online

Usuários vendo este fórum: adelar, adolfo, alansousa, Alessandro Tavares, Alexsandro Tirloni, alexvbh, andepunk, Andre Brito, andrelom, Antonio Carlos, Aparec, arilsonm, augustomig, azero, bbourbon, Bitor, BOMBER27, Bravox, caciara, capo, carlos rodrigues, carminati, cavenaghi, celiapinheiro, cenatech, cesao, chunga, claudio, culumin, dallari, Darth Plagueis, Darth Sidious, dfreitas, Diego, diemesleno, dikiloco, dkclan, dobau, DroidBot, edsonel, Eliezer Reis, eloilton, fabric01, Flávio Robertgo, frances135, grandebaro, guilhermepilotti, humberto, inaciofernandes, itsN, jasn, jaydson, jijo, jmarcos14, Jota, juliancesar, juniorfranca, Katia, kennedyximenes, lafamac, laurj, Legiao, Leonardo, lfalcao, LForce, Liviosousa, lkunta, lucasmadeira, luciano.sml, lucianoalves, madeinnordeste, marceloaragao, marianatallas, mauriciomag, Maxtremus, Michel, MpassosT, mravel, neuhaus, nightwatch, niloleite, nsansilva, On_7, Patricia, pilon, polonia, poponeis, pyrobit, rafaelvital, ramonrabello, reginaldo, renan.fernandes, renatodondoni, rmendes, rogerio, rosano, Synoo [Bot], tavares767, thanaptos, the_hulk_knifer, Thitto, tiagocordeiro, tirloni, ton.soares, Topeca, ubiratan, vieira, viniciusgoncalves, W3 [Sitesearch], wcaciano, Wds, Webnet, wender, wesley.messias, WiseNut, zaquiel e 6 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi