Ver mensagens sem resposta | Ver tópicos ativos Hoje é 07 Dez 2019, 07:33



Responder Tópico  [ 271 Mensagens ]  Ir para a página Anterior  1, 2, 3, 4, 5, 6  Próximo
 [Artigo] Web Service RESTful 2 [+Consumir+Android+Code] 
Autor Mensagem
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Olá Antunes o problema acima já foi solucionado, e outro problema que vc me ajudou também em relação para a listAdapter ta tudo funcionando legal, agora outro problema que estou tendo em relação a setar apenas um objeto da lista:

Esse é o codigo da GuiaController:

public class GuiaController extends ListActivity {

    ArrayList<GuiaPericial> listaGuias;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        // ArrayList<GuiaPericial> listaGuias = new ArrayList<GuiaPericial>();
        listaGuias = new ArrayList<GuiaPericial>();
        if (getIntent().hasExtra("lista")) {

            listaGuias = (ArrayList<GuiaPericial>) getIntent().getExtras()
                    .getSerializable("lista");
        }
        setListAdapter(new GuiaAdapter(this, listaGuias));

        // vai selececionar apenas um item da lsitview
        ListView lv = getListView();
        lv.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

                Log.i("INFO", "Chegou aki");
               
                Log.i("INFO ", listaGuias.get(position).getVitima());

                // Icializando nova intent
                Log.i("INFO", "Inicializando Intent");
                Intent in = new Intent(getApplicationContext(), GuiaUnica.class);
                Log.i("INFO", "Passou");
                in.putExtra("guia",listaGuias.get(position));
                       
                // in.putExtra(listaGuias.get(0).getDataEntrada(), Data);
                startActivity(in);

            }
        });
    }
}


Acho que essa parte da controller está certa, não estou conseguindo setar os atributos do objeto na outra classe que cruei a GuiaUnica passar o codigo dela também:


public class GuiaUnica extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_guia_unica);

        Intent in = getIntent();
       
        Bundle extras = getIntent().getExtras();
        Log.i("INFO",""+extras.size());
        Log.i("INFO",""+extras.containsKey("guia"));
        GuiaPericial guia  = (GuiaPericial) extras.getParcelable("guia");
       
        //String Data = in.getStringExtra(Data);

       
        TextView lblvitima = (TextView) findViewById(R.id.NomeVitima);
        TextView lblnumeroGuia = (TextView) findViewById(R.id.NumeroGuia);
        // TextView lblDesc = (TextView) findViewById(R.id.Data);

        lblvitima.setText(guia.getVitima());
//      lblCost.setText(guia.getNumeroGuia());
        // lblDesc.setText(Data);
    }
}
 


Então estes são as duas classes que utilizo para listar apenas o item selecionado passando sua posiçaõ, espero que possa me ajudar.
Abraços, e muito obrigado desde já!


18 Set 2012, 17:24
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
É exatamente isso que vc deve fazer. Posta o logcat do erro que está dando!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


18 Set 2012, 20:33
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Olá amigo consegui resolver heh, tava fazendo errado tava passando o objeto nessa linha :
GuiaPericial guia  = (GuiaPericial) extras.getParcelable("guia");

E na minha model ta Serializable, bastou eu substituir para getSerializable resolveu meu problema:
GuiaPericial guia  = (GuiaPericial) extras.getSerializable("guia");


Muito Obrigado assim mesmo, Abraços!


19 Set 2012, 16:20
Perfil
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Olá antunes preciso da sua ajuda novamente estou agora com um problema aparentemente simples de uma olhada:

estou puxando uma data do meu json, consigo pegar ela pela guiaDAO assim:

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();


Mais ela está saindo em um formato assim, sep 09 00:00:00 GMT 2012.
como posso ta formatando ela nessa linha de codigo para ela sair ex: 20-09-2012

TextView dataGuia = (TextView) view.findViewById(R.id.textData);
        dataGuia.setText(guia.getDataEntrada().toString());


Aqui seta a data para o textView ela aparece so que no formato que te falei preciso formatar ela!

2º Problema:

Na minha Bean eu pucho os dados da autoridade ex: nome que está referenciado a outra tabela.
Como chamo ela para listar o nome certim pois da maneira que fiz n passa nada.
Estou fazendo assim:

TextView tipoExame = (TextView) view.findViewById(R.id.textTipoExame);
    tipoExame.setText((CharSequence) guia.getTipoDeExame());


Na minha bean está assim:
private TipoDeExame tipoExame;


Eu tive esse mesmo problema em outra classe fiz como está o codigo abaixo e resolvi, mais nessa classe GuiaAdpter não estou conseguindo passar da mesma forma e resolve o problema está dando force close!

Codigo que fiz na minha GuiaUnica e deu ceto:

TextView lblvitima = (TextView) findViewById(R.id.NomeVitima);
        lblvitima.setText(guia.getAutoridade().getNome());


e essa mesma forma n funciona com o tipo de exame na Adapter pq?
Desde já agradeço vlw! vou tentando resolve aki tbm qualquer coisa posto aqui.


20 Set 2012, 02:33
Perfil
Hello World!
Hello World!

Data de registro: 15 Mar 2012, 16:36
Mensagens: 22
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Antunes boa tarde.

primeiramente gostaria de parabenizar pelo ótimo tutorial e gostaria de uma ajuda,
estou com problema na classe: ClienteREST na linha 32 (método getListaCliente)

Gson gson = new Gson();


conforme log abaixo, percebi que ele esta recuperando certinho os dados do webservice porem acusa erro na linha acima.

na minha pasta lib estou usando o "gson-2.2.2.jar" e na sua aplicação é gson-1.7.....jar, pode ser isso?

09-20 20:07:16.979: I/post(295): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}

09-20 20:07:17.009: E/AndroidRuntime(295): java.lang.NoClassDefFoundError: com.google.gson.Gson
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:32)
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.activity.ExConsumirWSActivity$2.onClick(ExConsumirWSActivity.java:58)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.performClick(View.java:2364)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.onTouchEvent(View.java:4179)


desde ja agradeço a atenção


20 Set 2012, 19:15
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
Olá antunes preciso da sua ajuda novamente estou agora com um problema aparentemente simples de uma olhada:

estou puxando uma data do meu json, consigo pegar ela pela guiaDAO assim:

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();


Mais ela está saindo em um formato assim, sep 09 00:00:00 GMT 2012.
como posso ta formatando ela nessa linha de codigo para ela sair ex: 20-09-2012

TextView dataGuia = (TextView) view.findViewById(R.id.textData);
        dataGuia.setText(guia.getDataEntrada().toString());


Aqui seta a data para o textView ela aparece so que no formato que te falei preciso formatar ela!

2º Problema:

Na minha Bean eu pucho os dados da autoridade ex: nome que está referenciado a outra tabela.
Como chamo ela para listar o nome certim pois da maneira que fiz n passa nada.
Estou fazendo assim:

TextView tipoExame = (TextView) view.findViewById(R.id.textTipoExame);
    tipoExame.setText((CharSequence) guia.getTipoDeExame());


Na minha bean está assim:
private TipoDeExame tipoExame;


Eu tive esse mesmo problema em outra classe fiz como está o codigo abaixo e resolvi, mais nessa classe GuiaAdpter não estou conseguindo passar da mesma forma e resolve o problema está dando force close!

Codigo que fiz na minha GuiaUnica e deu ceto:

TextView lblvitima = (TextView) findViewById(R.id.NomeVitima);
        lblvitima.setText(guia.getAutoridade().getNome());


e essa mesma forma n funciona com o tipo de exame na Adapter pq?
Desde já agradeço vlw! vou tentando resolve aki tbm qualquer coisa posto aqui.



Problema 1:

Fora de contexto é um pouco difícil de te ajudar, mas vc já pensou em usar a classe "DateFormat" ou "SimpleDateFormat"?? Ele deve resolver o seu problema.

Problema 2:

Quais os métodos que vc tem na classe "TipoDeExame"??

A forma de usar é a mesma: "guia.getTipoDeExame().getMetodoDaClasseTipoDeExame()"!!

Se o "TipoDeExame" for um "enum", basta fazer só isso: "guia.getTipoDeExame()"!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


21 Set 2012, 02:15
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Sniper 3d escreveu:
Antunes boa tarde.

primeiramente gostaria de parabenizar pelo ótimo tutorial e gostaria de uma ajuda,
estou com problema na classe: ClienteREST na linha 32 (método getListaCliente)

Gson gson = new Gson();


conforme log abaixo, percebi que ele esta recuperando certinho os dados do webservice porem acusa erro na linha acima.

na minha pasta lib estou usando o "gson-2.2.2.jar" e na sua aplicação é gson-1.7.....jar, pode ser isso?

09-20 20:07:16.979: I/post(295): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}

09-20 20:07:17.009: E/AndroidRuntime(295): java.lang.NoClassDefFoundError: com.google.gson.Gson
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:32)
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.activity.ExConsumirWSActivity$2.onClick(ExConsumirWSActivity.java:58)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.performClick(View.java:2364)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.onTouchEvent(View.java:4179)


desde ja agradeço a atenção


Tentou dar um "clean" no seu projeto??

Uma boa leitura: http://javarevisited.blogspot.com.br/20 ... on-in.html

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


21 Set 2012, 02:19
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Olá antunes o problema 1 foi de boa pesquisei mais e resolvi so o segundo que ainda ta complicado te explicar melhor, percebi que estou com problema so pra pegar o TipoDeExame e TipoDeMaterial o pq não sei, minha model está perfeita aparentemente e o jeito que chamo tbm so que qnd abro o app da forceClose e vou postar o log cat e a model e GuiaUnica:
Lembrando que pego os atributos de autoridade que está igual o do tipo de exame so que ele dá certo.

Model TipoDeExame:


package com.tcc.pericia.Model;

import java.io.Serializable;


public class TipoDeExame implements Serializable {

    private Integer idTipoExame;
    private String descricaoExame;
   

    public String getDescricaoExame() {
        return descricaoExame;
    }

    public void setDescricaoExame(String descricaoExame) {
        this.descricaoExame = descricaoExame;
    }

    public Integer getIdTipoExame() {
        return idTipoExame;
    }

    public void setIdTipoExame(Integer idTipoExame) {
        this.idTipoExame = idTipoExame;
    }
   
    @Override
   
    public String toString(){
       
        return "ID: " + this.idTipoExame +
               "DescricaoExame: " + this.descricaoExame;
    }
   

}
 


GuiaUnica:

public class GuiaUnica extends Activity {
   
    private String novaData;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_guia_unica);

        Bundle extras = getIntent().getExtras();
        Log.i("INFO",""+extras.size());
        Log.i("INFO",""+extras.containsKey("guia"));
        GuiaPericial guia  = (GuiaPericial) extras.getSerializable("guia");
       
        novaData = guia.getDataEntrada().toString();
        novaData = new SimpleDateFormat("dd/MM/yyyy").format(guia.getDataEntrada());
       
       
        TextView numeroGuia = (TextView) findViewById(R.id.txtNumeroGuia);
        TextView vitima = (TextView) findViewById(R.id.txtVitima);
        TextView dataGuia = (TextView) findViewById(R.id.txtDataGuia);
        TextView envolvido = (TextView) findViewById(R.id.txtEnvolvido);
        TextView localExame = (TextView) findViewById(R.id.txtlocalExame);
        TextView referencia = (TextView) findViewById(R.id.txtReferencia);
        TextView autoridade = (TextView) findViewById(R.id.txtAutoridade);
        TextView destino = (TextView) findViewById(R.id.txtDestino);
        TextView tipoMaterial = (TextView) findViewById(R.id.txtTipoMaterial);
        TextView tipoExame = (TextView) findViewById(R.id.txtTipoExame);
        TextView obs = (TextView) findViewById(R.id.txtOBS);
       
       
        vitima.setText(guia.getVitima());
        numeroGuia.setText(guia.getNumeroGuia());
        dataGuia.setText(novaData);
        envolvido.setText(guia.getEnvolvido());
        localExame.setText(guia.getLocalExame());
        referencia.setText(guia.getReferencia());
        autoridade.setText(guia.getAutoridade().getNome());
        destino.setText(guia.getDestino().getNomeDestino());
        //tipoMaterial.setText(guia.getTipoDeMaterial().getDescricaoMaterial()());
        tipoExame.setText(guia.getTipoDeExame().getDescricaoExame());
        obs.setText(guia.getObservacao());
       
    }
}
 


LogCat:

09-21 03:27:07.093: W/dalvikvm(406): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-21 03:27:07.133: E/AndroidRuntime(406): FATAL EXCEPTION: main
09-21 03:27:07.133: E/AndroidRuntime(406): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tcc.pericia/com.tcc.pericia.Controller.GuiaUnica}: java.lang.NullPointerException
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.os.Handler.dispatchMessage(Handler.java:99)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.os.Looper.loop(Looper.java:123)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-21 03:27:07.133: E/AndroidRuntime(406): at java.lang.reflect.Method.invokeNative(Native Method)
09-21 03:27:07.133: E/AndroidRuntime(406): at java.lang.reflect.Method.invoke(Method.java:521)
09-21 03:27:07.133: E/AndroidRuntime(406): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-21 03:27:07.133: E/AndroidRuntime(406): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-21 03:27:07.133: E/AndroidRuntime(406): at dalvik.system.NativeStart.main(Native Method)
09-21 03:27:07.133: E/AndroidRuntime(406): Caused by: java.lang.NullPointerException
09-21 03:27:07.133: E/AndroidRuntime(406): at com.tcc.pericia.Controller.GuiaUnica.onCreate(GuiaUnica.java:53)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-21 03:27:07.133: E/AndroidRuntime(406): ... 11 more
09-21 03:27:07.163: W/ActivityManager(66): Force finishing activity com.tcc.pericia/.Controller.GuiaUnica
09-21 03:27:07.184: W/ActivityManager(66): Force finishing activity com.tcc.pericia/.Controller.GuiaController
09-21 03:27:07.683: W/ActivityManager(66): Activity pause timeout for HistoryRecord{47f7c540 com.tcc.pericia/.Controller.GuiaUnica}


21 Set 2012, 02:29
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
Olá antunes o problema 1 foi de boa pesquisei mais e resolvi so o segundo que ainda ta complicado te explicar melhor, percebi que estou com problema so pra pegar o TipoDeExame e TipoDeMaterial o pq não sei, minha model está perfeita aparentemente e o jeito que chamo tbm so que qnd abro o app da forceClose e vou postar o log cat e a model e GuiaUnica:
Lembrando que pego os atributos de autoridade que está igual o do tipo de exame so que ele dá certo.

Model TipoDeExame:


package com.tcc.pericia.Model;

import java.io.Serializable;


public class TipoDeExame implements Serializable {

    private Integer idTipoExame;
    private String descricaoExame;
   

    public String getDescricaoExame() {
        return descricaoExame;
    }

    public void setDescricaoExame(String descricaoExame) {
        this.descricaoExame = descricaoExame;
    }

    public Integer getIdTipoExame() {
        return idTipoExame;
    }

    public void setIdTipoExame(Integer idTipoExame) {
        this.idTipoExame = idTipoExame;
    }
   
    @Override
   
    public String toString(){
       
        return "ID: " + this.idTipoExame +
               "DescricaoExame: " + this.descricaoExame;
    }
   

}
 


GuiaUnica:

public class GuiaUnica extends Activity {
   
    private String novaData;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_guia_unica);

        Bundle extras = getIntent().getExtras();
        Log.i("INFO",""+extras.size());
        Log.i("INFO",""+extras.containsKey("guia"));
        GuiaPericial guia  = (GuiaPericial) extras.getSerializable("guia");
       
        novaData = guia.getDataEntrada().toString();
        novaData = new SimpleDateFormat("dd/MM/yyyy").format(guia.getDataEntrada());
       
       
        TextView numeroGuia = (TextView) findViewById(R.id.txtNumeroGuia);
        TextView vitima = (TextView) findViewById(R.id.txtVitima);
        TextView dataGuia = (TextView) findViewById(R.id.txtDataGuia);
        TextView envolvido = (TextView) findViewById(R.id.txtEnvolvido);
        TextView localExame = (TextView) findViewById(R.id.txtlocalExame);
        TextView referencia = (TextView) findViewById(R.id.txtReferencia);
        TextView autoridade = (TextView) findViewById(R.id.txtAutoridade);
        TextView destino = (TextView) findViewById(R.id.txtDestino);
        TextView tipoMaterial = (TextView) findViewById(R.id.txtTipoMaterial);
        TextView tipoExame = (TextView) findViewById(R.id.txtTipoExame);
        TextView obs = (TextView) findViewById(R.id.txtOBS);
       
       
        vitima.setText(guia.getVitima());
        numeroGuia.setText(guia.getNumeroGuia());
        dataGuia.setText(novaData);
        envolvido.setText(guia.getEnvolvido());
        localExame.setText(guia.getLocalExame());
        referencia.setText(guia.getReferencia());
        autoridade.setText(guia.getAutoridade().getNome());
        destino.setText(guia.getDestino().getNomeDestino());
        //tipoMaterial.setText(guia.getTipoDeMaterial().getDescricaoMaterial()());
        tipoExame.setText(guia.getTipoDeExame().getDescricaoExame());
        obs.setText(guia.getObservacao());
       
    }
}
 


LogCat:

09-21 03:27:07.093: W/dalvikvm(406): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-21 03:27:07.133: E/AndroidRuntime(406): FATAL EXCEPTION: main
09-21 03:27:07.133: E/AndroidRuntime(406): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tcc.pericia/com.tcc.pericia.Controller.GuiaUnica}: java.lang.NullPointerException
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.os.Handler.dispatchMessage(Handler.java:99)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.os.Looper.loop(Looper.java:123)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-21 03:27:07.133: E/AndroidRuntime(406): at java.lang.reflect.Method.invokeNative(Native Method)
09-21 03:27:07.133: E/AndroidRuntime(406): at java.lang.reflect.Method.invoke(Method.java:521)
09-21 03:27:07.133: E/AndroidRuntime(406): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-21 03:27:07.133: E/AndroidRuntime(406): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-21 03:27:07.133: E/AndroidRuntime(406): at dalvik.system.NativeStart.main(Native Method)
09-21 03:27:07.133: E/AndroidRuntime(406): Caused by: java.lang.NullPointerException
09-21 03:27:07.133: E/AndroidRuntime(406): at com.tcc.pericia.Controller.GuiaUnica.onCreate(GuiaUnica.java:53)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-21 03:27:07.133: E/AndroidRuntime(406): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-21 03:27:07.133: E/AndroidRuntime(406): ... 11 more
09-21 03:27:07.163: W/ActivityManager(66): Force finishing activity com.tcc.pericia/.Controller.GuiaUnica
09-21 03:27:07.184: W/ActivityManager(66): Force finishing activity com.tcc.pericia/.Controller.GuiaController
09-21 03:27:07.683: W/ActivityManager(66): Activity pause timeout for HistoryRecord{47f7c540 com.tcc.pericia/.Controller.GuiaUnica}


Tá vendo como o log nos ajuda bastante!!!

O que acontece é que o seu objeto "TipoDeExame" que está dentro do objeto "GuiaPericial" está nulo!!

Vá onde vc popula o objeto "GuiaPericial" e não verá as seguintes linha:


TipoDeExame tipoExame = new TipoDeExame(atributo1, atributo2);
guia.setTipoDeExame(tipoExame);
 


Se vc recebe o objeto "GuiaPericial" como JSON, provavelmente o objeto "TipoDeExame" não está vindo com ele. Vá no seu método que consome o WS e faça um "sysout" no JSON que vem do WS e verá que o objeto não está lá!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


21 Set 2012, 03:08
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Antunes o problema que o objeto está vindo sim, igual o nome da vitima postar o obejto json:

{"guiaPericial":[{"autoridade":{"email":"filipe@gmail.com","idAutoridade":"1","masp":"1234567-8","nome":"Filipe Guelber"},"dataEntrada":"2012-09-14T00:00:00-03:00","destino":{"idDestino":"1","nomeDestino":"Presidente Olégario"},"envolvido":"Minha mãe","idGuia":"1","localExame":"Lá em casa","numeroGuia":"1231/2012","observacao":"me espancou =(","referencia":"Meu pai","tipoDeExame":{"descricaoExame":"Não sei","idTipoExame":"1"},"tipoDeMaterial":{"descricaoMaterial":"Verde","idTipoMaterial":"1"},"vitima":"Victor Hugo Rodrigues Ramos"},{"autoridade":{"email":"telo@aiseutepego.com","idAutoridade":"2","masp":"0987654-3","nome":"Filipe Teló"},"dataEntrada":"2012-09-14T00:00:00-03:00","destino":{"idDestino":"2","nomeDestino":"Patos de Minas"},"envolvido":"Paulinha","idGuia":"2","localExame":"Faculdade","numeroGuia":"0987/2012","observacao":"kopakaopkaopakoap","referencia":"Todas","tipoDeExame":{"descricaoExame":"So deus","idTipoExame":"2"},"tipoDeMaterial":{"descricaoMaterial":"Amarelo","idTipoMaterial":"2"},"vitima":"Gabriel Morais "}]}

Repare ae que o objeto está vindo sim!
Abraços.


21 Set 2012, 03:20
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
Antunes o problema que o objeto está vindo sim, igual o nome da vitima postar o obejto json:

{"guiaPericial":[{"autoridade":{"email":"filipe@gmail.com","idAutoridade":"1","masp":"1234567-8","nome":"Filipe Guelber"},"dataEntrada":"2012-09-14T00:00:00-03:00","destino":{"idDestino":"1","nomeDestino":"Presidente Olégario"},"envolvido":"Minha mãe","idGuia":"1","localExame":"Lá em casa","numeroGuia":"1231/2012","observacao":"me espancou =(","referencia":"Meu pai","tipoDeExame":{"descricaoExame":"Não sei","idTipoExame":"1"},"tipoDeMaterial":{"descricaoMaterial":"Verde","idTipoMaterial":"1"},"vitima":"Victor Hugo Rodrigues Ramos"},{"autoridade":{"email":"telo@aiseutepego.com","idAutoridade":"2","masp":"0987654-3","nome":"Filipe Teló"},"dataEntrada":"2012-09-14T00:00:00-03:00","destino":{"idDestino":"2","nomeDestino":"Patos de Minas"},"envolvido":"Paulinha","idGuia":"2","localExame":"Faculdade","numeroGuia":"0987/2012","observacao":"kopakaopkaopakoap","referencia":"Todas","tipoDeExame":{"descricaoExame":"So deus","idTipoExame":"2"},"tipoDeMaterial":{"descricaoMaterial":"Amarelo","idTipoMaterial":"2"},"vitima":"Gabriel Morais "}]}

Repare ae que o objeto está vindo sim!
Abraços.


Então a linha 53 da classe "GuiaUnica" não é essa:

tipoExame.setText(guia.getTipoDeExame().getDescricaoExame());


Qual é a linha 53??

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


21 Set 2012, 15:15
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Estou com um problema em relação a um spinner na minha activity, eu fiz já outros spinners mais esses eram mais simples pois estes eu listava o que tinha no array e buscava apenas um atributo da minha bean ex:
public String toString(){ return this.nome;}
neste exemplo eu passava o array e no meu spinner listava apenas o nome. Todos meus métodos estavam ficando assim:

private void preencheSpinnerProcedencia() {

        ProcedenciaDAO procedenciaRest = new ProcedenciaDAO();
        try {
            ArrayList<Procedencia> listaProcedencia = (ArrayList<Procedencia>) procedenciaRest
                    .getListaProcedencia();
            Log.i("INFO", "" + listaProcedencia);
           
            Spinner spinnerProcedencia = (Spinner) findViewById(R.id.spinnerProcedencia);
            ArrayAdapter<Procedencia> adapter = new ArrayAdapter<Procedencia>(this, android.R.layout.simple_spinner_item, listaProcedencia);
            adapter.setDropDownViewResource(android.R.layout.select_dialog_multichoice);
            spinnerProcedencia.setAdapter(adapter);
                   
        } catch (Exception e) {
            e.printStackTrace();
        }

}



So que agora estou com um problema tenho uma bean substancia que me lista dois atributos e faço um tostring na Bean assim:

public String toString(){
       
        return  this.tipoSubstancia +
                this.descricao;
               
}



Se eu fazer o spinner do modo como estava fazendo ele vai me listar os dois atributos no mesmo spinner, e eles devem ficar cada um no seu devido spinner, como posso fazer para pegar apenas um atributo e passar para aquele spinner?
Queria uma maneira mais simples para seguir a regra de criar um método fora do oncreate como já estou fazendo e apenas chamo depois lá dentro, aqui segue toda minha Activity que lista os spinner:

public class ToxicologicoController extends ListActivity {
   
    ArrayList<Substancia> listaSubstancias;
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_toxicologico);
        preencheSpinnerAutoridades();
        preencheSpinnerDestino();
        preencheSpinnerProcedencia();
        preencheSpinnerSubstancia();
       
    }

    private void preencheSpinnerAutoridades() {

        AutoridadeDAO autoridadeRest = new AutoridadeDAO();
        try {
            ArrayList<Autoridade> listaAutoridades = (ArrayList<Autoridade>) autoridadeRest
                    .getListaAutoridade();
            Log.i("INFO", "" + listaAutoridades);
            Spinner spinnerAutoridade = (Spinner) findViewById(R.id.spinnerAutoridade);
           
            ArrayAdapter<Autoridade> adapter = new ArrayAdapter<Autoridade>(this, android.R.layout.simple_spinner_item, listaAutoridades);
            adapter.setDropDownViewResource(android.R.layout.select_dialog_multichoice);
            spinnerAutoridade.setAdapter(adapter);

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
   
    private void preencheSpinnerDestino() {

        DestinoDAO destinoRest = new DestinoDAO();
        try {
            ArrayList<Destino> listaDestino = (ArrayList<Destino>) destinoRest
                    .getListaDestino();
            Log.i("INFO", "" + listaDestino);
           
            Spinner spinnerDestino = (Spinner) findViewById(R.id.spinnerDestinoLaudo);
            ArrayAdapter<Destino> adapter = new ArrayAdapter<Destino>(this, android.R.layout.simple_spinner_item, listaDestino);
            adapter.setDropDownViewResource(android.R.layout.select_dialog_multichoice);
            spinnerDestino.setAdapter(adapter);
                   
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
   
    private void preencheSpinnerProcedencia() {

        ProcedenciaDAO procedenciaRest = new ProcedenciaDAO();
        try {
            ArrayList<Procedencia> listaProcedencia = (ArrayList<Procedencia>) procedenciaRest
                    .getListaProcedencia();
            Log.i("INFO", "" + listaProcedencia);
           
            Spinner spinnerProcedencia = (Spinner) findViewById(R.id.spinnerProcedencia);
            ArrayAdapter<Procedencia> adapter = new ArrayAdapter<Procedencia>(this, android.R.layout.simple_spinner_item, listaProcedencia);
            adapter.setDropDownViewResource(android.R.layout.select_dialog_multichoice);
            spinnerProcedencia.setAdapter(adapter);
                   
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    private void preencheSpinnerSubstancia() {
       
       
    }
       
}


Desde já agradeço.

obs: O ultimo problema meu que vc me ajudou foi solucionado o nome do Json estava errado so modifiquei e funcionou ele não estava conseguindo buscar o nome na minha model estava assim: TipoExame e no json TipoDeExame, so coloquei igual e beleza parou de dar null pointer e funcionou legal!


25 Set 2012, 14:35
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
A solução pra vc é criar um adapter customizado, com o "BaseAdapter".

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


25 Set 2012, 18:08
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Bom Dia

Obrigado pela contribuição, estes manuais foram de grande valia pra mim, o método que estava utilizando estava dando vários problemas, apesar que este ficou com alguns detalhes tb, um deles eu gostaria de um ajuda, em uma tabela está dando erro o detalhe que esta é a primeira tabela que possui campos do tipo data. pelos log.i incluídos no código o erro está nesta linha:
clientes.add(gson.fromJson(jsonArray.get(i), Cliente.class));


Eu utilizo No meu servidor o banco de dados Oracle e a data no JSON veio com o seguinte formato:Ago 1, 2008
Segue abaixo o JSON gerado pelo sistema no navegador
Citação:
[{"id":105082,"razaoSocial":"CLECIO DA SILVA ( CONSUMIDOR FINAL)","nomeFantasia":" ","tipoLogradouro":"R","nomeLogradouro":"FAUSTO PIO DE MIRANDA","numLogradouro":154,"complementoLogradouro":" ","bairro":"CENTRO","cidade":"APUCARANA","uf":"PR","cep":"86800-000","caixaPostal":" ","tipoPessoa":"F","cnpj":"----------------","ie":"ISENTO","im":" ","cpf":"038.123.049-99","rg":"79752541","orgaoEmissor":"SSP","ufExpedicao":"PR","email":" ","emailXML":" ","telefone":" ","fax":"(043)2102-8034","contato":"CLECIO","contatoCargo":"COMPRADOR","homePage":" ","dataFundacao":"Ago 1, 2008","cobraST":"S","ramoAtividade":"00.11-0","dataCadastro":"Jan 29, 2003","situacao":"A","observacaoSituacao":" ","motivoSuspensao":" ","numeroCheckout":0,"dataUltCompra":"Set 2, 2008","comentario":" ","comentarioCredito":" ","creditoCortado":"N","limiteCredito":0.0,"controle":"I"}]

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


26 Set 2012, 12:57
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Evandro Choma escreveu:
Bom Dia

Obrigado pela contribuição, estes manuais foram de grande valia pra mim, o método que estava utilizando estava dando vários problemas, apesar que este ficou com alguns detalhes tb, um deles eu gostaria de um ajuda, em uma tabela está dando erro o detalhe que esta é a primeira tabela que possui campos do tipo data. pelos log.i incluídos no código o erro está nesta linha:
clientes.add(gson.fromJson(jsonArray.get(i), Cliente.class));


Eu utilizo No meu servidor o banco de dados Oracle e a data no JSON veio com o seguinte formato:Ago 1, 2008
Segue abaixo o JSON gerado pelo sistema no navegador
Citação:
[{"id":105082,"razaoSocial":"CLECIO DA SILVA ( CONSUMIDOR FINAL)","nomeFantasia":" ","tipoLogradouro":"R","nomeLogradouro":"FAUSTO PIO DE MIRANDA","numLogradouro":154,"complementoLogradouro":" ","bairro":"CENTRO","cidade":"APUCARANA","uf":"PR","cep":"86800-000","caixaPostal":" ","tipoPessoa":"F","cnpj":"----------------","ie":"ISENTO","im":" ","cpf":"038.123.049-99","rg":"79752541","orgaoEmissor":"SSP","ufExpedicao":"PR","email":" ","emailXML":" ","telefone":" ","fax":"(043)2102-8034","contato":"CLECIO","contatoCargo":"COMPRADOR","homePage":" ","dataFundacao":"Ago 1, 2008","cobraST":"S","ramoAtividade":"00.11-0","dataCadastro":"Jan 29, 2003","situacao":"A","observacaoSituacao":" ","motivoSuspensao":" ","numeroCheckout":0,"dataUltCompra":"Set 2, 2008","comentario":" ","comentarioCredito":" ","creditoCortado":"N","limiteCredito":0.0,"controle":"I"}]


Vc fez o seu WS usando o jersey?? Se sim, o padrão dele é o ISO, então o parse do JSON para o "java.util.Date" é feito sem problema.

Se vc não está usando o jersey ou implementou de outra forma, tente formatar suas datas usando um padrão, de preferência o ISO 8601.

http://en.wikipedia.org/wiki/ISO_8601

O formato de data que vc está usando não é muito bom para colocar no JSON, vc pode ter problemas com várias outras linguagens.

O formato da data independe do banco, vc pode formatar no código.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


26 Set 2012, 15:41
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Evandro Choma escreveu:
Bom Dia

Obrigado pela contribuição, estes manuais foram de grande valia pra mim, o método que estava utilizando estava dando vários problemas, apesar que este ficou com alguns detalhes tb, um deles eu gostaria de um ajuda, em uma tabela está dando erro o detalhe que esta é a primeira tabela que possui campos do tipo data. pelos log.i incluídos no código o erro está nesta linha:
clientes.add(gson.fromJson(jsonArray.get(i), Cliente.class));


Eu utilizo No meu servidor o banco de dados Oracle e a data no JSON veio com o seguinte formato:Ago 1, 2008
Segue abaixo o JSON gerado pelo sistema no navegador
Citação:
[{"id":105082,"razaoSocial":"CLECIO DA SILVA ( CONSUMIDOR FINAL)","nomeFantasia":" ","tipoLogradouro":"R","nomeLogradouro":"FAUSTO PIO DE MIRANDA","numLogradouro":154,"complementoLogradouro":" ","bairro":"CENTRO","cidade":"APUCARANA","uf":"PR","cep":"86800-000","caixaPostal":" ","tipoPessoa":"F","cnpj":"----------------","ie":"ISENTO","im":" ","cpf":"038.123.049-99","rg":"79752541","orgaoEmissor":"SSP","ufExpedicao":"PR","email":" ","emailXML":" ","telefone":" ","fax":"(043)2102-8034","contato":"CLECIO","contatoCargo":"COMPRADOR","homePage":" ","dataFundacao":"Ago 1, 2008","cobraST":"S","ramoAtividade":"00.11-0","dataCadastro":"Jan 29, 2003","situacao":"A","observacaoSituacao":" ","motivoSuspensao":" ","numeroCheckout":0,"dataUltCompra":"Set 2, 2008","comentario":" ","comentarioCredito":" ","creditoCortado":"N","limiteCredito":0.0,"controle":"I"}]



Olá evandro eu tive esse problema com meu json tbm!
Uma solução bem simples que fiz foi qnd fui instaciar o Gson acrescentei o metodo Dateformat ficou assim:

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();


26 Set 2012, 22:27
Perfil
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
A solução pra vc é criar um adapter customizado, com o "BaseAdapter".

Abraços!


Antunes por favor peço encarecidamente preciso muito da sua ajuda pra fazer isso não tenho ninguém mais pra recorrer já estudei fiz todos os exemplos mais não consigo fazer o Spinner com o BaseAdapter por favor me ajude, estarei de prontidão para fazer e aprender cara, eu to correndo atras mais o problema é que sou novo em android e to fazendo o tcc e preciso muito pq não estou conseguindo realmente.

Vou postar tudo que fiz até agora:
Primeiramente fiz um pouco de gambiarra pq minha classe onde fica os spinners que lista todos ela esta como Activity e qnd ponho ListActivity para o spinner tenho um erro no log o qual n consegue solucionar, então coloquei meu metodo dentro de outra classe até mesmo para testar e está funcionando o metodo que uso para listar o Spinner é o seguinte:

public void preencheSpinnerTipoSub() {


            SubstanciaDAO substanciaRest = new SubstanciaDAO();
           
        try {
            ArrayList<Substancia> listaSubstancia = (ArrayList<Substancia>) substanciaRest
                    .getListaSubstancia();
            Log.i("INFO", "" + listaSubstancia);
           
            setListAdapter(new ListToxAdapter(this, listaSubstancia));
           
           
        } catch (Exception e) {
            Log.i("INFO", "Entrou aki  subs");
            e.printStackTrace();
        }

    }


Este é seu ListAdpater:

public class ListToxAdapter extends BaseAdapter implements SpinnerAdapter {
   
    private Activity activity;
    private List<Substancia> content;
   
   
    public ListToxAdapter (Activity activity, List<Substancia> content){
        super();
        this.content = content;
        this.activity = activity;
    }
   
   
    public Substancia getItem(int position) {
       
        return content.get(position);
    }

    public long getItemId(int position) {
        return position;
    }

    public int getCount() {
        return content.size();
    }

    public View getView(int position, View convertView, ViewGroup parent) {
       
        Substancia substancia = content.get(position);
       
        LayoutInflater inflater = activity.getLayoutInflater();
        View spinnerSubstancia = inflater.inflate(R.layout.activity_toxicologico, null);
       
        Spinner SpinnerSub = (Spinner) convertView.findViewById(R.id.spinnerSubstancia);
        SpinnerSub.setTag(substancia.getTipoSubstancia());
       
   
           
        return spinnerSubstancia;
    }
   
}
 


Esse é meu erro de logcat é um NullPointer mais acho que falta coisa tanto no metodo quanto na Adapter que postei:

09-26 23:46:26.087: W/System.err(485): java.lang.NullPointerException
09-26 23:46:26.097: W/System.err(485): at android.app.Activity.setContentView(Activity.java:1647)
09-26 23:46:26.097: W/System.err(485): at android.app.ListActivity.ensureList(ListActivity.java:314)
09-26 23:46:26.097: W/System.err(485): at android.app.ListActivity.setListAdapter(ListActivity.java:265)
09-26 23:46:26.097: W/System.err(485): at com.tcc.pericia.Controller.GuiaController.preencheSpinnerTipoSub(GuiaController.java:69)
09-26 23:46:26.097: W/System.err(485): at com.tcc.pericia.Controller.ToxicologicoController.onCreate(ToxicologicoController.java:41)
09-26 23:46:26.097: W/System.err(485): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)


Lembrando que meu spinner está me retornando sim meu json com todas os dados de substancia perfeito meu problema mesmo está para setar isso no spinner e tem que levar em consideração o que já mencionei no ultimo post que minha model tem dois atributos e cada vai em spinner diferentes.


26 Set 2012, 22:54
Perfil
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Evandro Choma escreveu:
Bom Dia

Obrigado pela contribuição, estes manuais foram de grande valia pra mim, o método que estava utilizando estava dando vários problemas, apesar que este ficou com alguns detalhes tb, um deles eu gostaria de um ajuda, em uma tabela está dando erro o detalhe que esta é a primeira tabela que possui campos do tipo data. pelos log.i incluídos no código o erro está nesta linha:
clientes.add(gson.fromJson(jsonArray.get(i), Cliente.class));


Eu utilizo No meu servidor o banco de dados Oracle e a data no JSON veio com o seguinte formato:Ago 1, 2008
Segue abaixo o JSON gerado pelo sistema no navegador
Citação:
[{"id":105082,"razaoSocial":"CLECIO DA SILVA ( CONSUMIDOR FINAL)","nomeFantasia":" ","tipoLogradouro":"R","nomeLogradouro":"FAUSTO PIO DE MIRANDA","numLogradouro":154,"complementoLogradouro":" ","bairro":"CENTRO","cidade":"APUCARANA","uf":"PR","cep":"86800-000","caixaPostal":" ","tipoPessoa":"F","cnpj":"----------------","ie":"ISENTO","im":" ","cpf":"038.123.049-99","rg":"79752541","orgaoEmissor":"SSP","ufExpedicao":"PR","email":" ","emailXML":" ","telefone":" ","fax":"(043)2102-8034","contato":"CLECIO","contatoCargo":"COMPRADOR","homePage":" ","dataFundacao":"Ago 1, 2008","cobraST":"S","ramoAtividade":"00.11-0","dataCadastro":"Jan 29, 2003","situacao":"A","observacaoSituacao":" ","motivoSuspensao":" ","numeroCheckout":0,"dataUltCompra":"Set 2, 2008","comentario":" ","comentarioCredito":" ","creditoCortado":"N","limiteCredito":0.0,"controle":"I"}]


Vc fez o seu WS usando o jersey?? Se sim, o padrão dele é o ISO, então o parse do JSON para o "java.util.Date" é feito sem problema.

Se vc não está usando o jersey ou implementou de outra forma, tente formatar suas datas usando um padrão, de preferência o ISO 8601.

http://en.wikipedia.org/wiki/ISO_8601

O formato de data que vc está usando não é muito bom para colocar no JSON, vc pode ter problemas com várias outras linguagens.

O formato da data independe do banco, vc pode formatar no código.

Abraços!


Então eu tinha feito em Jersey depois eu refiz ele inteiro seguindo o seu manual usando o gson.
em data eu não formato nada, apenas pego ela do jeito que está no Banco Oracle.
Eu gero o JSON assim no ClienteRecurso.java do servidor
return new Gson().toJson(ClienteDAO.retornarClientes(rep));


E o método retornarCliente do ClienteDAO está assim
    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setNomeFantasia(rs.getString("NOME_FANTASIA"));
                c.setTipoLogradouro(rs.getString("TIPO_LOGRAD"));
                c.setNomeLogradouro(rs.getString("NOME_LOGRAD"));
                c.setNumLogradouro(rs.getInt("NUM_LOGRAD"));
                c.setComplementoLogradouro(rs.getString("COMPL_LOGRAD"));
                c.setBairro(rs.getString("BAIRRO"));
                c.setCidade(rs.getString("CIDADE"));
                c.setUf(rs.getString("UF"));
                c.setCep(rs.getString("CEP"));
                c.setCaixaPostal(rs.getString("CX_POSTAL"));
                c.setTipoPessoa(rs.getString("TIPO_PESSOA"));
                c.setCnpj(rs.getString("CNPJ"));
                c.setIe(rs.getString("IE"));
                c.setIm(rs.getString("IM"));
                c.setCpf(rs.getString("CPF"));
                c.setRg(rs.getString("RG"));
                c.setOrgaoEmissor(rs.getString("ORGAO_EMISSOR"));
                c.setUfExpedicao(rs.getString("UF_EXPED"));
                c.setEmail(rs.getString("EMAIL"));
                c.setEmailXML(rs.getString("EMAIL_XML"));
                c.setTelefone(rs.getString("TELEFONE"));
                c.setFax(rs.getString("FAX"));
                c.setContato(rs.getString("CONTATO"));
                c.setContatoCargo(rs.getString("CONTATO_CARGO"));
                c.setHomePage(rs.getString("HOMEPAGE"));
                c.setDataFundacao(rs.getDate("DT_FUNDACAO"));
                c.setCobraST(rs.getString("COBRA_ST"));
                c.setRamoAtividade(rs.getString("RAMO_ATIVIDADE"));
                c.setDataCadastro(rs.getDate("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setObservacaoSituacao(rs.getString("OBS_SITUACAO"));
                c.setMotivoSuspensao(rs.getString("MOTIVO_SUSPENSAO"));
                c.setNumeroCheckout(rs.getInt("NR_CHECKOUT"));
                c.setDataUltCompra(rs.getDate("DT_ULT_COMPRA"));
                c.setComentario(rs.getString("COMENTARIO"));
                c.setComentarioCredito(rs.getString("COMENTARIO_CREDITO"));
                c.setCreditoCortado(rs.getString("CREDITO_CORTADO"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }


dai o bean do cliente está assim:
    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setNomeFantasia(rs.getString("NOME_FANTASIA"));
                c.setTipoLogradouro(rs.getString("TIPO_LOGRAD"));
                c.setNomeLogradouro(rs.getString("NOME_LOGRAD"));
                c.setNumLogradouro(rs.getInt("NUM_LOGRAD"));
                c.setComplementoLogradouro(rs.getString("COMPL_LOGRAD"));
                c.setBairro(rs.getString("BAIRRO"));
                c.setCidade(rs.getString("CIDADE"));
                c.setUf(rs.getString("UF"));
                c.setCep(rs.getString("CEP"));
                c.setCaixaPostal(rs.getString("CX_POSTAL"));
                c.setTipoPessoa(rs.getString("TIPO_PESSOA"));
                c.setCnpj(rs.getString("CNPJ"));
                c.setIe(rs.getString("IE"));
                c.setIm(rs.getString("IM"));
                c.setCpf(rs.getString("CPF"));
                c.setRg(rs.getString("RG"));
                c.setOrgaoEmissor(rs.getString("ORGAO_EMISSOR"));
                c.setUfExpedicao(rs.getString("UF_EXPED"));
                c.setEmail(rs.getString("EMAIL"));
                c.setEmailXML(rs.getString("EMAIL_XML"));
                c.setTelefone(rs.getString("TELEFONE"));
                c.setFax(rs.getString("FAX"));
                c.setContato(rs.getString("CONTATO"));
                c.setContatoCargo(rs.getString("CONTATO_CARGO"));
                c.setHomePage(rs.getString("HOMEPAGE"));
                c.setDataFundacao(rs.getDate("DT_FUNDACAO"));
                c.setCobraST(rs.getString("COBRA_ST"));
                c.setRamoAtividade(rs.getString("RAMO_ATIVIDADE"));
                c.setDataCadastro(rs.getDate("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setObservacaoSituacao(rs.getString("OBS_SITUACAO"));
                c.setMotivoSuspensao(rs.getString("MOTIVO_SUSPENSAO"));
                c.setNumeroCheckout(rs.getInt("NR_CHECKOUT"));
                c.setDataUltCompra(rs.getDate("DT_ULT_COMPRA"));
                c.setComentario(rs.getString("COMENTARIO"));
                c.setComentarioCredito(rs.getString("COMENTARIO_CREDITO"));
                c.setCreditoCortado(rs.getString("CREDITO_CORTADO"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }


Onde eu formataria a data e qual o modo melhor de se fazer isto?

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


27 Set 2012, 11:22
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Então eu tinha feito em Jersey depois eu refiz ele inteiro seguindo o seu manual usando o gson. Em data eu não formato nada, apenas pego ela do jeito que está no Banco Oracle. Eu gero o JSON assim no ClienteRecurso.java do servidor
return new Gson().toJson(ClienteDAO.retornarClientes(rep));


E o método retornarCliente do ClienteDAO está assim
    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setNomeFantasia(rs.getString("NOME_FANTASIA"));
                c.setTipoLogradouro(rs.getString("TIPO_LOGRAD"));
                c.setNomeLogradouro(rs.getString("NOME_LOGRAD"));
                c.setNumLogradouro(rs.getInt("NUM_LOGRAD"));
                c.setComplementoLogradouro(rs.getString("COMPL_LOGRAD"));
                c.setBairro(rs.getString("BAIRRO"));
                c.setCidade(rs.getString("CIDADE"));
                c.setUf(rs.getString("UF"));
                c.setCep(rs.getString("CEP"));
                c.setCaixaPostal(rs.getString("CX_POSTAL"));
                c.setTipoPessoa(rs.getString("TIPO_PESSOA"));
                c.setCnpj(rs.getString("CNPJ"));
                c.setIe(rs.getString("IE"));
                c.setIm(rs.getString("IM"));
                c.setCpf(rs.getString("CPF"));
                c.setRg(rs.getString("RG"));
                c.setOrgaoEmissor(rs.getString("ORGAO_EMISSOR"));
                c.setUfExpedicao(rs.getString("UF_EXPED"));
                c.setEmail(rs.getString("EMAIL"));
                c.setEmailXML(rs.getString("EMAIL_XML"));
                c.setTelefone(rs.getString("TELEFONE"));
                c.setFax(rs.getString("FAX"));
                c.setContato(rs.getString("CONTATO"));
                c.setContatoCargo(rs.getString("CONTATO_CARGO"));
                c.setHomePage(rs.getString("HOMEPAGE"));
                c.setDataFundacao(rs.getDate("DT_FUNDACAO"));
                c.setCobraST(rs.getString("COBRA_ST"));
                c.setRamoAtividade(rs.getString("RAMO_ATIVIDADE"));
                c.setDataCadastro(rs.getDate("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setObservacaoSituacao(rs.getString("OBS_SITUACAO"));
                c.setMotivoSuspensao(rs.getString("MOTIVO_SUSPENSAO"));
                c.setNumeroCheckout(rs.getInt("NR_CHECKOUT"));
                c.setDataUltCompra(rs.getDate("DT_ULT_COMPRA"));
                c.setComentario(rs.getString("COMENTARIO"));
                c.setComentarioCredito(rs.getString("COMENTARIO_CREDITO"));
                c.setCreditoCortado(rs.getString("CREDITO_CORTADO"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }


dai o bean do cliente está assim:
    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setNomeFantasia(rs.getString("NOME_FANTASIA"));
                c.setTipoLogradouro(rs.getString("TIPO_LOGRAD"));
                c.setNomeLogradouro(rs.getString("NOME_LOGRAD"));
                c.setNumLogradouro(rs.getInt("NUM_LOGRAD"));
                c.setComplementoLogradouro(rs.getString("COMPL_LOGRAD"));
                c.setBairro(rs.getString("BAIRRO"));
                c.setCidade(rs.getString("CIDADE"));
                c.setUf(rs.getString("UF"));
                c.setCep(rs.getString("CEP"));
                c.setCaixaPostal(rs.getString("CX_POSTAL"));
                c.setTipoPessoa(rs.getString("TIPO_PESSOA"));
                c.setCnpj(rs.getString("CNPJ"));
                c.setIe(rs.getString("IE"));
                c.setIm(rs.getString("IM"));
                c.setCpf(rs.getString("CPF"));
                c.setRg(rs.getString("RG"));
                c.setOrgaoEmissor(rs.getString("ORGAO_EMISSOR"));
                c.setUfExpedicao(rs.getString("UF_EXPED"));
                c.setEmail(rs.getString("EMAIL"));
                c.setEmailXML(rs.getString("EMAIL_XML"));
                c.setTelefone(rs.getString("TELEFONE"));
                c.setFax(rs.getString("FAX"));
                c.setContato(rs.getString("CONTATO"));
                c.setContatoCargo(rs.getString("CONTATO_CARGO"));
                c.setHomePage(rs.getString("HOMEPAGE"));
                c.setDataFundacao(rs.getDate("DT_FUNDACAO"));
                c.setCobraST(rs.getString("COBRA_ST"));
                c.setRamoAtividade(rs.getString("RAMO_ATIVIDADE"));
                c.setDataCadastro(rs.getDate("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setObservacaoSituacao(rs.getString("OBS_SITUACAO"));
                c.setMotivoSuspensao(rs.getString("MOTIVO_SUSPENSAO"));
                c.setNumeroCheckout(rs.getInt("NR_CHECKOUT"));
                c.setDataUltCompra(rs.getDate("DT_ULT_COMPRA"));
                c.setComentario(rs.getString("COMENTARIO"));
                c.setComentarioCredito(rs.getString("COMENTARIO_CREDITO"));
                c.setCreditoCortado(rs.getString("CREDITO_CORTADO"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }


Qual a melhro forma de formatar esta data? seria na classe bean e dai seria feito no WS e no Android?

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


27 Set 2012, 18:11
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
antunes escreveu:
A solução pra vc é criar um adapter customizado, com o "BaseAdapter".

Abraços!


Antunes por favor peço encarecidamente preciso muito da sua ajuda pra fazer isso não tenho ninguém mais pra recorrer já estudei fiz todos os exemplos mais não consigo fazer o Spinner com o BaseAdapter por favor me ajude, estarei de prontidão para fazer e aprender cara, eu to correndo atras mais o problema é que sou novo em android e to fazendo o tcc e preciso muito pq não estou conseguindo realmente.

Vou postar tudo que fiz até agora:
Primeiramente fiz um pouco de gambiarra pq minha classe onde fica os spinners que lista todos ela esta como Activity e qnd ponho ListActivity para o spinner tenho um erro no log o qual n consegue solucionar, então coloquei meu metodo dentro de outra classe até mesmo para testar e está funcionando o metodo que uso para listar o Spinner é o seguinte:

public void preencheSpinnerTipoSub() {


            SubstanciaDAO substanciaRest = new SubstanciaDAO();
           
        try {
            ArrayList<Substancia> listaSubstancia = (ArrayList<Substancia>) substanciaRest
                    .getListaSubstancia();
            Log.i("INFO", "" + listaSubstancia);
           
            setListAdapter(new ListToxAdapter(this, listaSubstancia));
           
           
        } catch (Exception e) {
            Log.i("INFO", "Entrou aki  subs");
            e.printStackTrace();
        }

    }


Este é seu ListAdpater:

public class ListToxAdapter extends BaseAdapter implements SpinnerAdapter {
   
    private Activity activity;
    private List<Substancia> content;
   
   
    public ListToxAdapter (Activity activity, List<Substancia> content){
        super();
        this.content = content;
        this.activity = activity;
    }
   
   
    public Substancia getItem(int position) {
       
        return content.get(position);
    }

    public long getItemId(int position) {
        return position;
    }

    public int getCount() {
        return content.size();
    }

    public View getView(int position, View convertView, ViewGroup parent) {
       
        Substancia substancia = content.get(position);
       
        LayoutInflater inflater = activity.getLayoutInflater();
        View spinnerSubstancia = inflater.inflate(R.layout.activity_toxicologico, null);
       
        Spinner SpinnerSub = (Spinner) convertView.findViewById(R.id.spinnerSubstancia);
        SpinnerSub.setTag(substancia.getTipoSubstancia());
       
   
           
        return spinnerSubstancia;
    }
   
}
 


Esse é meu erro de logcat é um NullPointer mais acho que falta coisa tanto no metodo quanto na Adapter que postei:

09-26 23:46:26.087: W/System.err(485): java.lang.NullPointerException
09-26 23:46:26.097: W/System.err(485): at android.app.Activity.setContentView(Activity.java:1647)
09-26 23:46:26.097: W/System.err(485): at android.app.ListActivity.ensureList(ListActivity.java:314)
09-26 23:46:26.097: W/System.err(485): at android.app.ListActivity.setListAdapter(ListActivity.java:265)
09-26 23:46:26.097: W/System.err(485): at com.tcc.pericia.Controller.GuiaController.preencheSpinnerTipoSub(GuiaController.java:69)
09-26 23:46:26.097: W/System.err(485): at com.tcc.pericia.Controller.ToxicologicoController.onCreate(ToxicologicoController.java:41)
09-26 23:46:26.097: W/System.err(485): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)


Lembrando que meu spinner está me retornando sim meu json com todas os dados de substancia perfeito meu problema mesmo está para setar isso no spinner e tem que levar em consideração o que já mencionei no ultimo post que minha model tem dois atributos e cada vai em spinner diferentes.



Aqui tem um exemplo que vai te ajudar!!

http://www.androidbrasilprojetos.org/an ... m-adapter/

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


28 Set 2012, 23:44
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Evandro Choma escreveu:
Então eu tinha feito em Jersey depois eu refiz ele inteiro seguindo o seu manual usando o gson. Em data eu não formato nada, apenas pego ela do jeito que está no Banco Oracle. Eu gero o JSON assim no ClienteRecurso.java do servidor
return new Gson().toJson(ClienteDAO.retornarClientes(rep));


E o método retornarCliente do ClienteDAO está assim
    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setNomeFantasia(rs.getString("NOME_FANTASIA"));
                c.setTipoLogradouro(rs.getString("TIPO_LOGRAD"));
                c.setNomeLogradouro(rs.getString("NOME_LOGRAD"));
                c.setNumLogradouro(rs.getInt("NUM_LOGRAD"));
                c.setComplementoLogradouro(rs.getString("COMPL_LOGRAD"));
                c.setBairro(rs.getString("BAIRRO"));
                c.setCidade(rs.getString("CIDADE"));
                c.setUf(rs.getString("UF"));
                c.setCep(rs.getString("CEP"));
                c.setCaixaPostal(rs.getString("CX_POSTAL"));
                c.setTipoPessoa(rs.getString("TIPO_PESSOA"));
                c.setCnpj(rs.getString("CNPJ"));
                c.setIe(rs.getString("IE"));
                c.setIm(rs.getString("IM"));
                c.setCpf(rs.getString("CPF"));
                c.setRg(rs.getString("RG"));
                c.setOrgaoEmissor(rs.getString("ORGAO_EMISSOR"));
                c.setUfExpedicao(rs.getString("UF_EXPED"));
                c.setEmail(rs.getString("EMAIL"));
                c.setEmailXML(rs.getString("EMAIL_XML"));
                c.setTelefone(rs.getString("TELEFONE"));
                c.setFax(rs.getString("FAX"));
                c.setContato(rs.getString("CONTATO"));
                c.setContatoCargo(rs.getString("CONTATO_CARGO"));
                c.setHomePage(rs.getString("HOMEPAGE"));
                c.setDataFundacao(rs.getDate("DT_FUNDACAO"));
                c.setCobraST(rs.getString("COBRA_ST"));
                c.setRamoAtividade(rs.getString("RAMO_ATIVIDADE"));
                c.setDataCadastro(rs.getDate("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setObservacaoSituacao(rs.getString("OBS_SITUACAO"));
                c.setMotivoSuspensao(rs.getString("MOTIVO_SUSPENSAO"));
                c.setNumeroCheckout(rs.getInt("NR_CHECKOUT"));
                c.setDataUltCompra(rs.getDate("DT_ULT_COMPRA"));
                c.setComentario(rs.getString("COMENTARIO"));
                c.setComentarioCredito(rs.getString("COMENTARIO_CREDITO"));
                c.setCreditoCortado(rs.getString("CREDITO_CORTADO"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }


dai o bean do cliente está assim:
    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setNomeFantasia(rs.getString("NOME_FANTASIA"));
                c.setTipoLogradouro(rs.getString("TIPO_LOGRAD"));
                c.setNomeLogradouro(rs.getString("NOME_LOGRAD"));
                c.setNumLogradouro(rs.getInt("NUM_LOGRAD"));
                c.setComplementoLogradouro(rs.getString("COMPL_LOGRAD"));
                c.setBairro(rs.getString("BAIRRO"));
                c.setCidade(rs.getString("CIDADE"));
                c.setUf(rs.getString("UF"));
                c.setCep(rs.getString("CEP"));
                c.setCaixaPostal(rs.getString("CX_POSTAL"));
                c.setTipoPessoa(rs.getString("TIPO_PESSOA"));
                c.setCnpj(rs.getString("CNPJ"));
                c.setIe(rs.getString("IE"));
                c.setIm(rs.getString("IM"));
                c.setCpf(rs.getString("CPF"));
                c.setRg(rs.getString("RG"));
                c.setOrgaoEmissor(rs.getString("ORGAO_EMISSOR"));
                c.setUfExpedicao(rs.getString("UF_EXPED"));
                c.setEmail(rs.getString("EMAIL"));
                c.setEmailXML(rs.getString("EMAIL_XML"));
                c.setTelefone(rs.getString("TELEFONE"));
                c.setFax(rs.getString("FAX"));
                c.setContato(rs.getString("CONTATO"));
                c.setContatoCargo(rs.getString("CONTATO_CARGO"));
                c.setHomePage(rs.getString("HOMEPAGE"));
                c.setDataFundacao(rs.getDate("DT_FUNDACAO"));
                c.setCobraST(rs.getString("COBRA_ST"));
                c.setRamoAtividade(rs.getString("RAMO_ATIVIDADE"));
                c.setDataCadastro(rs.getDate("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setObservacaoSituacao(rs.getString("OBS_SITUACAO"));
                c.setMotivoSuspensao(rs.getString("MOTIVO_SUSPENSAO"));
                c.setNumeroCheckout(rs.getInt("NR_CHECKOUT"));
                c.setDataUltCompra(rs.getDate("DT_ULT_COMPRA"));
                c.setComentario(rs.getString("COMENTARIO"));
                c.setComentarioCredito(rs.getString("COMENTARIO_CREDITO"));
                c.setCreditoCortado(rs.getString("CREDITO_CORTADO"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }


Qual a melhro forma de formatar esta data? seria na classe bean e dai seria feito no WS e no Android?



Evandro,

Eu costumo usar "timestamp" no banco e recupero a data assim:

mensagem.setDataEnvio(resultSet.getTimestamp("dataenvio"));


Ele já faz um cast direto pra "Date".

E para inserir no banco é assim:

statement.setTimestamp(3, new Timestamp(msg.getDataEnvio().getTime()));


O problema todo é que o "getDate" retorna o "java.sql.Date" e dentro do java eu prefiro trabalhar com o "java.util.date".

Tenta mudar essas coisas que o seu problema deve melhorar.

Qualquer coisa posta ae!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


28 Set 2012, 23:58
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Evandro,

Eu costumo usar "timestamp" no banco e recupero a data assim:

mensagem.setDataEnvio(resultSet.getTimestamp("dataenvio"));


Ele já faz um cast direto pra "Date".

E para inserir no banco é assim:

statement.setTimestamp(3, new Timestamp(msg.getDataEnvio().getTime()));


O problema todo é que o "getDate" retorna o "java.sql.Date" e dentro do java eu prefiro trabalhar com o "java.util.date".

Tenta mudar essas coisas que o seu problema deve melhorar.

Qualquer coisa posta ae!!

Abraços!



Obrigado Antunes
O Problema que o servidor é fixo e não tenho a possibilidade de modificar qualquer coisa, preciso usar como ele é atualmente.
O sistema interno usa este servidor e esta base de dados há pelo menos uns 10 anos.

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


01 Out 2012, 10:33
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
Olá evandro eu tive esse problema com meu json tbm!
Uma solução bem simples que fiz foi qnd fui instaciar o Gson acrescentei o metodo Dateformat ficou assim:

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();


Obrigado pela dica
eu gerava o Json assim:
return new Gson().toJson(ClienteDAO.retornarClientes(rep));

dai coloquei desta forma
return new GsonBuilder().setDateFormat("yyyy-MM-dd").create().toJson(ClienteDAO.retornarClientes(rep));

mas continuou com o mesmo formato

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


01 Out 2012, 10:55
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Evandro,

Ainda não entendi bem onde está o problema.

Parece que no banco vc não pode mudar nada, mas WS vc pode, certo?

O seu problema é no android ou no WS?? Em qual mensagem, a que chega ou sai do WS ou são as que chegam ou saem do android??

Tenta explicar e exemplificar o seu problema, que eu ainda não consegui visualizar.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Out 2012, 15:30
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Evandro,

Ainda não entendi bem onde está o problema.

Parece que no banco vc não pode mudar nada, mas WS vc pode, certo?

O seu problema é no android ou no WS?? Em qual mensagem, a que chega ou sai do WS ou são as que chegam ou saem do android??

Tenta explicar e exemplificar o seu problema, que eu ainda não consegui visualizar.

Abraços!


Eu não poderia alterar o banco de dados o WS e o sistema android não teria problema, vc diz modificar o tipo de data do banco de dados ou da classe bean?

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


01 Out 2012, 15:59
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
A minha sugestão foi de modificar o bean e não o banco. Colocar nele o "util.Date" e no DAO vc faz o parse necessário do que vem do banco para o bean.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Out 2012, 16:03
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Olá antunes segui o tutorial mais ainda n consegui solucionar o problema me de uma ajuda preciso muito! =(

Metodo que chama que preencher o spinner:

    public void preencheSpinnerTipoSub() {

        SubstanciaDAO susbtanciasRest = new SubstanciaDAO();
        Spinner spinner = (Spinner) findViewById(R.id.spinnerSubstancia);
        ListView lv = getListView();
       
        try {
           
            ArrayList<Substancia> listaSubstancias = (ArrayList<Substancia>) susbtanciasRest
                    .getListaSubstancia();
            Log.i("INFO", "" + listaSubstancias);
            ListToxAdapter adapter = new ListToxAdapter(getApplicationContext(), listaSubstancias);
            listaSubstancias.add(new Substancia());
            spinner.setAdapter(adapter);
            lv.setAdapter(adapter);
           
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   


Meu adapter para preencher o spinner:

public class ListToxAdapter extends BaseAdapter {
   
    private List<Substancia> Subs;
    private LayoutInflater mInflater;
    private ViewHolder holder;
   
   
    static class ViewHolder {
       
        private TextView tvTipoSubstancia;
        private TextView tvDescricao;
               
    }
   
    public ListToxAdapter (Context context, List<Substancia> Subs){
        mInflater = LayoutInflater.from(context);
        this.Subs = Subs;
    }   
   
    public int getCount() {
        return Subs.size();
    }
   
    public Object getItem(int index) {
        return Subs.get(index);
    }
 
    public long getItemId(int index) {
        return index;
    }
   
    public View getView(int posicao, View convertView, ViewGroup arg2) {
       
        if(convertView == null){
                convertView = mInflater.inflate(R.layout.spinner_substancia, null);
                holder = new ViewHolder();
               
                holder.tvTipoSubstancia = (TextView) convertView.findViewById(R.id.TipoSubastancia);
                holder.tvDescricao = (TextView) convertView.findViewById(R.id.DescricaoSubs);
               
                convertView.setTag(holder);
               
        }else{
                   
                    holder = (ViewHolder) convertView.getTag();
                }
       
        Substancia s = Subs.get(posicao);
       
        holder.tvTipoSubstancia.setText(s.getTipoSubstancia());
        holder.tvDescricao.setText(s.getDescricao());
       
        return convertView;

    }
   
}


Meu log Cat com o erro que está dando:

10-02 03:27:19.635: E/AndroidRuntime(281): FATAL EXCEPTION: main
10-02 03:27:19.635: E/AndroidRuntime(281): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tcc.pericia/com.tcc.pericia.Controller.ToxicologicoController}: java.lang.NullPointerException
10-02 03:27:19.635: E/AndroidRuntime(281): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-02 03:27:19.635: E/AndroidRuntime(281): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-02 03:27:19.635: E/AndroidRuntime(281): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-02 03:27:19.635: E/AndroidRuntime(281): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)


02 Out 2012, 02:28
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Para saber onde é o erro, procure a linha do log que fale de uma de suas classes. Nela vai ter informação de qual linha está o erro.

Só com esse pedaço do log não dá pra saber.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


02 Out 2012, 14:16
Perfil WWW
Android application
Android application

Data de registro: 01 Ago 2012, 11:43
Mensagens: 58
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Desisto de perguntar qualquer coisa, como sempre evasivo e nunca me responde de forma certa sendo que na primeira linha já mostra o erro de NullPointer na classe toxAdapter, vlw pela boa vontade!


02 Out 2012, 14:26
Perfil
Android application
Android application
Avatar de usuário

Data de registro: 11 Jan 2012, 12:44
Mensagens: 88
Localização: Apucarana - PR
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
A minha sugestão foi de modificar o bean e não o banco. Colocar nele o "util.Date" e no DAO vc faz o parse necessário do que vem do banco para o bean.

Abraços!


Antunes veja como eu fiz os arquivos e continua montando o JSON assim:
... ,"ramoAtividade":"00.11-0","dataCadastro":"Jan 29, 2003","situacao":"A", ...

Classe bean
package br.com.forcaVendas.bean;

import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Cliente {
    public String idRepres;
    public int id;
    public String razaoSocial;
    public Timestamp dataFundacao;
    public Timestamp dataCadastro;
    public String situacao;
    public Timestamp dataUltCompra;
    public double limiteCredito;
    public String controle;

    public Cliente() {

    }

    public Cliente(String idRepres, int id, String razaoSocial, Timestamp dataFundacao, Timestamp dataCadastro, String situacao,
                   Timestamp dataUltCompra, double limiteCredito, String controle) {
        super();
        this.idRepres = idRepres;
        this.id = id;
        this.razaoSocial = razaoSocial;
        this.dataFundacao = dataFundacao;
        this.dataCadastro = dataCadastro;
        this.situacao = situacao;
        this.dataUltCompra = dataUltCompra;
        this.limiteCredito = limiteCredito;
        this.controle = controle;      
    }

    public String getIdRepres() {
        return idRepres;
    }

    public void setIdRepres(String idRepres) {
        this.idRepres = idRepres;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getRazaoSocial() {
        return razaoSocial;
    }

    public void setRazaoSocial(String razaoSocial) {
        this.razaoSocial = razaoSocial;
    }

    public Timestamp getDataFundacao() {
        return dataFundacao;
    }

    public void setDataFundacao(Timestamp dataFundacao) {
        this.dataFundacao = dataFundacao;
    }

    public Timestamp getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Timestamp dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public String getSituacao() {
        return situacao;
    }

    public void setSituacao(String situacao) {
        this.situacao = situacao;
    }

    public Timestamp getDataUltCompra() {
        return dataUltCompra;
    }

    public void setDataUltCompra(Timestamp dataUltCompra) {
        this.dataUltCompra = dataUltCompra;
    }

    public double getLimiteCredito() {
        return limiteCredito;
    }

    public void setLimiteCredito(double limiteCredito) {
        this.limiteCredito = limiteCredito;
    }

    public String getControle() {
        return controle;
    }

    public void setControle(String controle) {
        this.controle = controle;
    }
}


Classe DAO
package br.com.forcaVendas.bean.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import br.com.forcaVendas.bean.Cliente;
import br.com.forcaVendas.bean.dao.Conexao;

public class ClienteDAO {
    static String sql;

    public static List<Cliente> retornarClientes(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        List<Cliente> lista = new ArrayList<Cliente>();
        sql = "SELECT * FROM TBCLIENTE WHERE ID_REPRES = ? AND CONTROLE IN ('I', 'A', 'E') ORDER BY RAZAO_SOCIAL";
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);
           
            ResultSet rs = ps.executeQuery();
            Cliente c;

            while (rs.next()) {
                c = new Cliente();

                c.setIdRepres(rs.getString("ID_REPRES"));
                c.setId(rs.getInt("ID"));
                c.setRazaoSocial(rs.getString("RAZAO_SOCIAL"));
                c.setDataFundacao(rs.getTimestamp("DT_FUNDACAO"));
                c.setDataCadastro(rs.getTimestamp("DT_CADASTRO"));
                c.setSituacao(rs.getString("SITUACAO"));
                c.setDataUltCompra(rs.getTimestamp("DT_ULT_COMPRA"));
                c.setLimiteCredito(rs.getDouble("LIMITE_CREDITO"));
                c.setControle(rs.getString("CONTROLE"));
               
                lista.add(c);
            }   
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
        return lista;
    }

   
    public static boolean inserirCliente(Cliente c) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        sql = "select count(ID) EXISTE from TBCLIENTE where ID_REPRES = ? and ID = ? ";
        int existe;
       
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, c.getIdRepres());
            ps.setInt(2, c.getId());
           
            ResultSet rs = ps.executeQuery();
            existe = rs.getInt("EXISTE");
        } catch (SQLException ex) {
            existe = 9;
        } finally {
            Conexao.desconectar();
        }
       
        if (existe == 0) {
            sql = "INSERT INTO TBCLIENTE (ID_REPRES, ID, RAZAO_SOCIAL, DT_FUNDACAO, DT_CADASTRO, SITUACAO, " +
                "                     DT_ULT_COMPRA, LIMITE_CREDITO, CONTROLE " +
                ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'N' )";

            try {
                PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
                ps.setString(1, c.getIdRepres());
                ps.setInt(2, c.getId());
                ps.setString(3, c.getRazaoSocial());
                ps.setTimestamp(4, new Timestamp(c.getDataFundacao().getTime()));
                ps.setTimestamp(5, new Timestamp(c.getDataCadastro().getTime()));
                ps.setString(6, c.getSituacao());
                ps.setTimestamp(7, new Timestamp(c.getDataUltCompra().getTime()));
                ps.setDouble(8, c.getLimiteCredito());

                if (ps.executeUpdate() > 0) {
                    return true;
                }
            } catch (SQLException ex) {
                Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
            } finally {
                Conexao.desconectar();
            }
        } else {
// REALIZA O UPDATE, MAS OS CAMPOS QUE SERÃO ALTERADOS SÃO POUCOS SENDO ELES DO TIPO STRING OU INT.
        }
        return false;
    }
               
   
    public static Boolean confirmarSincronismo(String idRepresentante) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        Boolean alterado = false;
        sql = "UPDATE TBCLIENTE SET CONTROLE = '7' WHERE ID_REPRES = ? and CONTROLE = 'I'";

        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);

            if (ps.executeUpdate() > 0) {
                alterado = true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }

        sql = "UPDATE TBCLIENTE SET CONTROLE = '8' WHERE ID_REPRES = ? and CONTROLE = 'A'";
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);

            if (ps.executeUpdate() > 0) {
                alterado = true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }

       
        sql = "UPDATE TBCLIENTE SET CONTROLE = '9' WHERE ID_REPRES = ? and CONTROLE = 'E'";
        try {
            PreparedStatement ps = Conexao.conectar().prepareStatement(sql);
            ps.setString(1, idRepresentante);

            if (ps.executeUpdate() > 0) {
                alterado = true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            Conexao.desconectar();
        }
       
        return alterado;
    }
}


Classe Recurso
package br.com.forcaVendas.bean.recurso;

import java.sql.SQLException;
import java.util.ArrayList;

import br.com.forcaVendas.bean.Cliente;
import br.com.forcaVendas.bean.dao.ClienteDAO;
import br.com.forcaVendas.bean.exception.NoContentException;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;

@Path("cliente")
public class ClienteRecurso {
   
    @GET
    @Path("/listarcliente")
    @Produces("application/json")
    public String getLista(@QueryParam(value = "rep") String rep, @QueryParam(value = "senha") String senha, @QueryParam(value = "imei") String imei) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {

        boolean autenticado = AutenticaRepresentante.autenticar(rep, senha, imei);

        if (autenticado == true) {
//          return new Gson().toJson(ClienteDAO.retornarClientes(rep));        
            return new GsonBuilder().setDateFormat("yyyy-MM-dd").create().toJson(ClienteDAO.retornarClientes(rep));
        } else {           
            throw new NoContentException("USUARIO NAO AUTENTICADO!");
        }
    }


    @GET
    @Path("/confirmarcliente")
    @Consumes("application/json")
    public void confirmaLista(@QueryParam(value = "rep") String rep, @QueryParam(value = "senha") String senha, @QueryParam(value = "imei") String imei) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {

        boolean autenticado = AutenticaRepresentante.autenticar(rep, senha, imei);
        if (autenticado == true) {
            ClienteDAO.confirmarSincronismo(rep);
        }
    }
       
   
    @POST
    @Path("/gravarcliente")
    @Produces("application/json")
    @Consumes("application/json")
    public boolean insereRegistro(String listaClienteJson, @QueryParam(value = "rep") String rep, @QueryParam(value = "senha") String senha, @QueryParam(value = "imei") String imei) throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {

        boolean autenticado = AutenticaRepresentante.autenticar(rep, senha, imei);
        boolean inseriu = false;

        if (autenticado == true) {
            Gson gson = new Gson();
            ArrayList<Cliente> listaClientes = new ArrayList<Cliente>();
            JsonParser parser = new JsonParser();
            JsonArray array = parser.parse(listaClienteJson).getAsJsonArray();

            for (int i = 0; i < array.size(); i++){
                listaClientes.add(gson.fromJson(array.get(i), Cliente.class));
            }
           
            for (int i = 0; i < listaClientes.size(); i++) {
                Cliente cliente = new Cliente();
                cliente.idRepres = listaClientes.get(i).getIdRepres();
                cliente.id = listaClientes.get(i).getId();
                cliente.razaoSocial = listaClientes.get(i).getRazaoSocial();
                cliente.dataFundacao = listaClientes.get(i).getDataFundacao();
                cliente.dataCadastro = listaClientes.get(i).getDataCadastro();
                cliente.situacao = listaClientes.get(i).getSituacao();
                cliente.dataUltCompra = listaClientes.get(i).getDataUltCompra();
                cliente.limiteCredito = listaClientes.get(i).getLimiteCredito();
                cliente.controle = listaClientes.get(i).getControle();
               
                boolean insert = new ClienteDAO().inserirCliente(cliente);
                if (insert == true) {
                    inseriu = true;
                }
            }
        }
        return inseriu;
    }
}

_________________
Evandro Choma
evandro@choma.com.br

A dúvida é o principio da sabedoria. Aristóteles


02 Out 2012, 18:10
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Evandro,

Tenta o seguinte:

No seu bean, troca o "Timestamp" por "Date" e no resource, devolva o seu objeto "Cliente" e não "String", deixando de usar o GSON.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


02 Out 2012, 22:05
Perfil WWW
Developing Applications
Developing Applications
Avatar de usuário

Data de registro: 30 Dez 2007, 13:08
Mensagens: 548
Localização: Florianópolis - SC
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
Desisto de perguntar qualquer coisa, como sempre evasivo e nunca me responde de forma certa sendo que na primeira linha já mostra o erro de NullPointer na classe toxAdapter, vlw pela boa vontade!


Amigo, primeiro não estamos aqui para fazer trabalhos de faculdade, tão pouco TCC`s. Você simplismente quer tudo pronto!!! Você não quer aprender como as coisas funcionam, você quer que as pessoas resolvam o seu problema (TCC).

Porque você não coloca um breakpoint e começa a debugar??? Duas uma, ou você é vadio/desisteressado ou você não sabe quando é lançado um NullPointerException????

Pela salvação do seu TCC, espero que a resposta não seja a segunda opção!

Boa sorte no seu TCC!

_________________
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...


02 Out 2012, 23:09
Perfil ICQ WWW
Google employee
Google employee

Data de registro: 17 Jul 2011, 11:55
Mensagens: 2657
Localização: São Paulo
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Oneh escreveu:
Desisto de perguntar qualquer coisa, como sempre evasivo e nunca me responde de forma certa sendo que na primeira linha já mostra o erro de NullPointer na classe toxAdapter, vlw pela boa vontade!


Rapaz, deixa de ser ingrato! E logo com o Antunes? Nem se você estivesse pagando, teria o direito de fazer o que fez.
Provavelmente, se estivesse pagando, saberia o valor de um suporte qualificado.
Você não sabe que este suporte que tem recebido de graça aqui no Portal é impagavel? Quanto você acha que vale um suporte voluntário?
Não sei se sua ignorância é maior que sua ingratidão, ou vice-versa. Mas o fato é que o que o Antunes respondeu é completamente pertinente e nunca evasivo e muito menos incorreto.
E mesmo que fosse, você acha que ele deveria largar os afazeres pessoais/profissionais para te atender?
Espero que reflita melhor sobre tudo isso, para o seu próprio bem.
Boa sorte

_________________
Abraços
___________
Novo App: CalcMat - Calculadora de materiais para concreto
Blog: Agorandroid - sobre programação Android
Twitter: @Agorandroid
___________
Campanha: Facilite sua vida e a dos outros usuários
Cuide do ciclo de vida do seu tópico:
no onCreate(): seja claro, se necessário poste o código e as mensagens de erro.
no onClick(): responda às sugestões.
no onStop(): evite "ninguém?", "alguém?", etc. Procure acrescentar alguma nova informação.
no onDestroy(): resolvido o assunto, poste imediatamente a solução, e, coloque no título do primeiro post [Resolvido].


03 Out 2012, 01:03
Perfil
Hello World!
Hello World!

Data de registro: 15 Mar 2012, 16:36
Mensagens: 22
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Sniper 3d escreveu:
Antunes boa tarde.

primeiramente gostaria de parabenizar pelo ótimo tutorial e gostaria de uma ajuda,
estou com problema na classe: ClienteREST na linha 32 (método getListaCliente)

Gson gson = new Gson();


conforme log abaixo, percebi que ele esta recuperando certinho os dados do webservice porem acusa erro na linha acima.

na minha pasta lib estou usando o "gson-2.2.2.jar" e na sua aplicação é gson-1.7.....jar, pode ser isso?

09-20 20:07:16.979: I/post(295): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}

09-20 20:07:17.009: E/AndroidRuntime(295): java.lang.NoClassDefFoundError: com.google.gson.Gson
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:32)
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.activity.ExConsumirWSActivity$2.onClick(ExConsumirWSActivity.java:58)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.performClick(View.java:2364)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.onTouchEvent(View.java:4179)


desde ja agradeço a atenção


Tentou dar um "clean" no seu projeto??

Uma boa leitura: http://javarevisited.blogspot.com.br/20 ... on-in.html

Abraços!


Ja havia tentado isso e não funcionou.

Mas consegui resolver desta maneira abaixo

para quem estiver com este problema basta tirar o "jar" do "build path" e renomear a basta "lib" para "libs", ao fazer isso o "jar" será automaticamente inserido no "Android dependencies", depois é só adicionar o "jar" novamente no "build path".

um grande abraço e obrigado amigo.


05 Out 2012, 14:26
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Sniper 3d escreveu:
antunes escreveu:
Sniper 3d escreveu:
Antunes boa tarde.

primeiramente gostaria de parabenizar pelo ótimo tutorial e gostaria de uma ajuda,
estou com problema na classe: ClienteREST na linha 32 (método getListaCliente)

Gson gson = new Gson();


conforme log abaixo, percebi que ele esta recuperando certinho os dados do webservice porem acusa erro na linha acima.

na minha pasta lib estou usando o "gson-2.2.2.jar" e na sua aplicação é gson-1.7.....jar, pode ser isso?

09-20 20:07:16.979: I/post(295): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}

09-20 20:07:17.009: E/AndroidRuntime(295): java.lang.NoClassDefFoundError: com.google.gson.Gson
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:32)
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.activity.ExConsumirWSActivity$2.onClick(ExConsumirWSActivity.java:58)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.performClick(View.java:2364)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.onTouchEvent(View.java:4179)


desde ja agradeço a atenção


Tentou dar um "clean" no seu projeto??

Uma boa leitura: http://javarevisited.blogspot.com.br/20 ... on-in.html

Abraços!


Ja havia tentado isso e não funcionou.

Mas consegui resolver desta maneira abaixo

para quem estiver com este problema basta tirar o "jar" do "build path" e renomear a basta "lib" para "libs", ao fazer isso o "jar" será automaticamente inserido no "Android dependencies", depois é só adicionar o "jar" novamente no "build path".

um grande abraço e obrigado amigo.


Bem lembrado!! Eu jurava que já tinha mudado isso no artigo, mas agora mudei.

Muito obrigado pela contribuição.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Out 2012, 15:39
Perfil WWW
Hello World!
Hello World!

Data de registro: 15 Mar 2012, 16:36
Mensagens: 22
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Sniper 3d escreveu:
antunes escreveu:
Sniper 3d escreveu:
Antunes boa tarde.

primeiramente gostaria de parabenizar pelo ótimo tutorial e gostaria de uma ajuda,
estou com problema na classe: ClienteREST na linha 32 (método getListaCliente)

Gson gson = new Gson();


conforme log abaixo, percebi que ele esta recuperando certinho os dados do webservice porem acusa erro na linha acima.

na minha pasta lib estou usando o "gson-2.2.2.jar" e na sua aplicação é gson-1.7.....jar, pode ser isso?

09-20 20:07:16.979: I/post(295): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}

09-20 20:07:17.009: E/AndroidRuntime(295): java.lang.NoClassDefFoundError: com.google.gson.Gson
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:32)
09-20 20:07:17.009: E/AndroidRuntime(295): at br.com.exemplo.activity.ExConsumirWSActivity$2.onClick(ExConsumirWSActivity.java:58)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.performClick(View.java:2364)
09-20 20:07:17.009: E/AndroidRuntime(295): at android.view.View.onTouchEvent(View.java:4179)


desde ja agradeço a atenção


Tentou dar um "clean" no seu projeto??

Uma boa leitura: http://javarevisited.blogspot.com.br/20 ... on-in.html

Abraços!


Ja havia tentado isso e não funcionou.

Mas consegui resolver desta maneira abaixo

para quem estiver com este problema basta tirar o "jar" do "build path" e renomear a basta "lib" para "libs", ao fazer isso o "jar" será automaticamente inserido no "Android dependencies", depois é só adicionar o "jar" novamente no "build path".

um grande abraço e obrigado amigo.


Bem lembrado!! Eu jurava que já tinha mudado isso no artigo, mas agora mudei.

Muito obrigado pela contribuição.

Abraços!


Opa, não foi nada. \"/66\"

Antunes, preciso novamente da sua ajuda no caso abaixo.

Na hora que vou fazer o Parse, ele fala que não é um JSON Array, conforme logcat.

trecho do codigo

public List<Cliente> getListaCliente() throws Exception {

     //String[] resposta = new WebServiceCliente().get(URL_WS + "buscarTodosGSON");
        String[] resposta = new WebServiceCliente().get(URL_WS + "buscarTodos");
   
     if (resposta[0].equals("200")) {
         
         Gson gson = new Gson();
         ArrayList<Cliente> listaCliente = new ArrayList<Cliente>();
         
         JsonParser parser = new JsonParser();
         JsonArray array = parser.parse(resposta[1]).getAsJsonArray();
         
        for (int i = 0; i < array.size(); i++) {
             listaCliente.add(gson.fromJson(array.get(i), Cliente.class));
         }
         return listaCliente;
     } else {
         throw new Exception(resposta[1]);
     }
    }


nessa linha.
JsonArray array = parser.parse(resposta[1]).getAsJsonArray();


10-05 20:35:12.103: I/post(250): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}
10-05 20:35:12.253: D/dalvikvm(250): GC freed 3484 objects / 239040 bytes in 76ms
10-05 20:35:12.293: W/System.err(250): java.lang.IllegalStateException: This is not a JSON Array.
10-05 20:35:12.303: W/System.err(250): at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:99)
10-05 20:35:12.303: W/System.err(250): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:38)

mais uma vez obrigado pela atenção.


05 Out 2012, 19:43
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Sniper 3d escreveu:

Opa, não foi nada.

Antunes, preciso novamente da sua ajuda no caso abaixo.

Na hora que vou fazer o Parse, ele fala que não é um JSON Array, conforme logcat.

trecho do codigo

public List<Cliente> getListaCliente() throws Exception {

     //String[] resposta = new WebServiceCliente().get(URL_WS + "buscarTodosGSON");
        String[] resposta = new WebServiceCliente().get(URL_WS + "buscarTodos");
   
     if (resposta[0].equals("200")) {
         
         Gson gson = new Gson();
         ArrayList<Cliente> listaCliente = new ArrayList<Cliente>();
         
         JsonParser parser = new JsonParser();
         JsonArray array = parser.parse(resposta[1]).getAsJsonArray();
         
        for (int i = 0; i < array.size(); i++) {
             listaCliente.add(gson.fromJson(array.get(i), Cliente.class));
         }
         return listaCliente;
     } else {
         throw new Exception(resposta[1]);
     }
    }


nessa linha.
JsonArray array = parser.parse(resposta[1]).getAsJsonArray();


10-05 20:35:12.103: I/post(250): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}
10-05 20:35:12.253: D/dalvikvm(250): GC freed 3484 objects / 239040 bytes in 76ms
10-05 20:35:12.293: W/System.err(250): java.lang.IllegalStateException: This is not a JSON Array.
10-05 20:35:12.303: W/System.err(250): at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:99)
10-05 20:35:12.303: W/System.err(250): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:38)

mais uma vez obrigado pela atenção.


Acontece isso pq esse JSON realmente não é um array. Para ser um, ele deveria vir com "[" no inicio e "]" no final.

Provavelmente o seu método no WS não está retornando uma lista. Dê uma conferida nele.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Out 2012, 23:25
Perfil WWW
Hello World!
Hello World!

Data de registro: 15 Mar 2012, 16:36
Mensagens: 22
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Sniper 3d escreveu:

Opa, não foi nada.

Antunes, preciso novamente da sua ajuda no caso abaixo.

Na hora que vou fazer o Parse, ele fala que não é um JSON Array, conforme logcat.

trecho do codigo

public List<Cliente> getListaCliente() throws Exception {

     //String[] resposta = new WebServiceCliente().get(URL_WS + "buscarTodosGSON");
        String[] resposta = new WebServiceCliente().get(URL_WS + "buscarTodos");
   
     if (resposta[0].equals("200")) {
         
         Gson gson = new Gson();
         ArrayList<Cliente> listaCliente = new ArrayList<Cliente>();
         
         JsonParser parser = new JsonParser();
         JsonArray array = parser.parse(resposta[1]).getAsJsonArray();
         
        for (int i = 0; i < array.size(); i++) {
             listaCliente.add(gson.fromJson(array.get(i), Cliente.class));
         }
         return listaCliente;
     } else {
         throw new Exception(resposta[1]);
     }
    }


nessa linha.
JsonArray array = parser.parse(resposta[1]).getAsJsonArray();


10-05 20:35:12.103: I/post(250): Result from post JsonPost : 200 : {"cliente":{"cpf":"111222333-00","endereco":"Rua das ruas, 9","id":"1","nome":"Teste All"}}
10-05 20:35:12.253: D/dalvikvm(250): GC freed 3484 objects / 239040 bytes in 76ms
10-05 20:35:12.293: W/System.err(250): java.lang.IllegalStateException: This is not a JSON Array.
10-05 20:35:12.303: W/System.err(250): at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:99)
10-05 20:35:12.303: W/System.err(250): at br.com.exemplo.webservice.ClienteREST.getListaCliente(ClienteREST.java:38)

mais uma vez obrigado pela atenção.


Acontece isso pq esse JSON realmente não é um array. Para ser um, ele deveria vir com "[" no inicio e "]" no final.

Provavelmente o seu método no WS não está retornando uma lista. Dê uma conferida nele.

Abraços!


Antunes, mais uma vez obrigado pela atenção.

Realmente eu estava buscando no metodo errado.

alterei para buscar no metodo "buscarTodosGSON" e deu certinho.

um grande abraço.


10 Out 2012, 10:55
Perfil
What is a Activity?
What is a Activity?

Data de registro: 19 Fev 2012, 23:39
Mensagens: 15
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Antunes, tb estou tendo problemas ao fazer um post, retorna o seguinte erro:

A message body writer for Java class java.lang.Boolean, and Java type boolean, and MIME media type application/octet-stream was not found


    public boolean post2(String uri, String param) {
        boolean _valor = false;
        try {

            URL url = new URL(uri);
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setDoOutput(true);
            con.setRequestMethod("POST");
            con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
           
            OutputStream ou = con.getOutputStream();
            ou.write(param.getBytes());
            ou.flush();
           
            if (con.getResponseCode() != 200) {
                _valor = false;
                throw new RuntimeException("FUUuuu");
            }
           
            _valor = true;

        } catch (Exception e) {
            e.printStackTrace();
        }
        return _valor;
       
    }


@POST
    @Path("/setProduto")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public boolean setPedido(@FormParam("mesa") String mesa,@FormParam("produto") int produto,@FormParam("qtd") int qtd){
        return new CardapioBusiness().setPedido(mesa,produto,qtd);
    }


public boolean setPedido(String mesa, int produto, int qtd) throws Exception {
       
        Gson gson = new Gson();
       
       
        return new WebServiceDroid().post2(URL_WS + "setProduto/", "mesa="+mesa+"&produto="+produto+"&qtd="+qtd);
       
       
    }



tentei inumeras coisas e nada funcionou, tem alguma ideia?


14 Out 2012, 18:48
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Pq vc não tenta fazer um post como o sugerido no artigo??

viewtopic.php?f=7&t=17389

Lendo o seu código, não consegui entender o que vc está tentando fazer.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


14 Out 2012, 22:28
Perfil WWW
What is Android?
What is Android?

Data de registro: 15 Out 2012, 02:36
Mensagens: 4
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes gostaria de parabeniza-lo pelos artigos,
pois me pouparam várias horas de estudo e venho aqui pedir uma dica
em relação à um aplicativo que estou desenvolvendo, a pergunta é a seguinte
o aplicativo android deverá importar registros de várias tabelas(em torno de 7)
creio que não serão muitos registros até então tudo bem...
da forma na qual desenvolvi ele chama o WebService 7 vezes de acordo
com cada tabela... a pergunta é se há algum problema fazer 7 requisições uma
para cada tabela que para min foi a mais usual
ou se eu deveria importar tudo de uma vez se sim como devo proceder ??


15 Out 2012, 02:51
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
aurelios escreveu:
antunes gostaria de parabeniza-lo pelos artigos,
pois me pouparam várias horas de estudo e venho aqui pedir uma dica
em relação à um aplicativo que estou desenvolvendo, a pergunta é a seguinte
o aplicativo android deverá importar registros de várias tabelas(em torno de 7)
creio que não serão muitos registros até então tudo bem...
da forma na qual desenvolvi ele chama o WebService 7 vezes de acordo
com cada tabela... a pergunta é se há algum problema fazer 7 requisições uma
para cada tabela que para min foi a mais usual
ou se eu deveria importar tudo de uma vez se sim como devo proceder ??



Rapaz,

Não tem uma forma mágica, cada problema tem a sua solução, que depende de vários fatores que o cercam.

É sempre bom pesar o custo, tempo de dev, desempenho e qualidade, mas nem sempre vc conseguirá ter os 4 juntos. Agora, a integridade dos dados deve sempre existir. Geralmente eu foco na integridade dos dados e no desempenho, de resto (custo, tempo e qualidade) vc só vai conseguir juntar mais 2. Ou seja, se for bom e rápido, dificilmente será barato. Se for barato e rápido, dificilmente será bom. Se for bom e barato, dificilmente será rápido.

O que eu faria para preservar a integridade seria fazer esse sync orientado a objeto e não orientado a tabela. Por exemplo, se vc tem uma tabela cliente e uma tabela endereço, que as duas tem uma associação entre si. Eu faria uma requisição para trazer os clientes já com os endereços, que pertencem ao objeto cliente e não uma requisição para a tabela cliente e uma para a tabela endereço. Assim eu evito que alguma inconsistência aconteça quando são feitas duas requisições para trazer os dados separados de um objeto que está associado com outro.

Essa é só a minha visão do problema, mas se o que vc fez te atende, então está ótimo, não se preocupe tanto com isso. /ww

Só tenha cuidado para não cair no erro de criar algo muito grande para resolver um problema muito pequeno.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


15 Out 2012, 03:27
Perfil WWW
What is Android?
What is Android?

Data de registro: 15 Out 2012, 02:36
Mensagens: 4
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
antunes escreveu:
Rapaz,

Não tem uma forma mágica, cada problema tem a sua solução, que depende de vários fatores que o cercam.

É sempre bom pesar o custo, tempo de dev, desempenho e qualidade, mas nem sempre vc conseguirá ter os 4 juntos. Agora, a integridade dos dados deve sempre existir. Geralmente eu foco na integridade dos dados e no desempenho, de resto (custo, tempo e qualidade) vc só vai conseguir juntar mais 2. Ou seja, se for bom e rápido, dificilmente será barato. Se for barato e rápido, dificilmente será bom. Se for bom e barato, dificilmente será rápido.

O que eu faria para preservar a integridade seria fazer esse sync orientado a objeto e não orientado a tabela. Por exemplo, se vc tem uma tabela cliente e uma tabela endereço, que as duas tem uma associação entre si. Eu faria uma requisição para trazer os clientes já com os endereços, que pertencem ao objeto cliente e não uma requisição para a tabela cliente e uma para a tabela endereço. Assim eu evito que alguma inconsistência aconteça quando são feitas duas requisições para trazer os dados separados de um objeto que está associado com outro.

Essa é só a minha visão do problema, mas se o que vc fez te atende, então está ótimo, não se preocupe tanto com isso. /ww

Só tenha cuidado para não cair no erro de criar algo muito grande para resolver um problema muito pequeno.

Abraços!


Entendi, muito obrigado !


15 Out 2012, 10:26
Perfil
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Olá!

Sou novo no fórum, estava seguindo o tutorial e fiz uma codificação aqui da seguinte maneira:

       btnAbrir.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                 GrupoProdutoREST gProdutoRest = new GrupoProdutoREST();

                 ArrayList<GrupoProduto> listaGrupoProduto = (ArrayList<GrupoProduto>) gProdutoRest.getListaGrupo();
                 Intent i = new Intent(getApplicationContext(), GrupoProduto.class);
                 i.putExtra("lista", listaGrupoProduto);
                 startActivity(i);
            }
        });


E o meu método getListaGrupo está codificado da seguinte forma:


    public List<GrupoProduto> getListaGrupo() throws Exception {

        String[] resposta = new GrupoProdutoWS().get(URL_WS + "grupoProduto");

        if (resposta[0].equals("200")) {
            Gson gson = new Gson();
            ArrayList<GrupoProduto> listaGrupo = new ArrayList<GrupoProduto>();
            JsonParser parser = new JsonParser();
            JsonArray array = parser.parse(resposta[1]).getAsJsonArray();

            for (int i = 0; i < array.size(); i++) {
                listaGrupo.add(gson.fromJson(array.get(i), GrupoProduto.class));
            }
            return listaGrupo;
        } else {
            throw new Exception(resposta[1]);
        }
    }


Contudo quando invoco o método lá na primeira codificação o sistema me retorna o seguinte erro:

Cannot cast from List<GrupoProduto> to ArrayList<GrupoProduto>

Estou tentando entender ainda o que eu fiz de errado, mas aparentemente está a mesma codificação do exemplo.
Alguém poderia me indicar onde estou errando???

Agradeço desde já por qualquer ajuda!!


24 Out 2012, 14:52
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Dracon escreveu:
Olá!

Sou novo no fórum, estava seguindo o tutorial e fiz uma codificação aqui da seguinte maneira:

       btnAbrir.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                 GrupoProdutoREST gProdutoRest = new GrupoProdutoREST();

                 ArrayList<GrupoProduto> listaGrupoProduto = (ArrayList<GrupoProduto>) gProdutoRest.getListaGrupo();
                 Intent i = new Intent(getApplicationContext(), GrupoProduto.class);
                 i.putExtra("lista", listaGrupoProduto);
                 startActivity(i);
            }
        });


E o meu método getListaGrupo está codificado da seguinte forma:


    public List<GrupoProduto> getListaGrupo() throws Exception {

        String[] resposta = new GrupoProdutoWS().get(URL_WS + "grupoProduto");

        if (resposta[0].equals("200")) {
            Gson gson = new Gson();
            ArrayList<GrupoProduto> listaGrupo = new ArrayList<GrupoProduto>();
            JsonParser parser = new JsonParser();
            JsonArray array = parser.parse(resposta[1]).getAsJsonArray();

            for (int i = 0; i < array.size(); i++) {
                listaGrupo.add(gson.fromJson(array.get(i), GrupoProduto.class));
            }
            return listaGrupo;
        } else {
            throw new Exception(resposta[1]);
        }
    }


Contudo quando invoco o método lá na primeira codificação o sistema me retorna o seguinte erro:

Cannot cast from List<GrupoProduto> to ArrayList<GrupoProduto>

Estou tentando entender ainda o que eu fiz de errado, mas aparentemente está a mesma codificação do exemplo.
Alguém poderia me indicar onde estou errando???

Agradeço desde já por qualquer ajuda!!



Faz o seguinte:

1 - Mude o retorno do seu método "getListaGrupo" para "ArrayList<GrupoProduto>".
2 - Retire o cast que vc faz dentro do botão.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


25 Out 2012, 00:41
Perfil WWW
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Amigo, obrigado pela resposta.
Acabei resolvendo o problema, precisei codificar novamente o ambiente e o problema parou.
Garantidamente eu estava fazendo alguma coisa errada e não percebi.

Enfim, agradeço novamente pela atenção!


25 Out 2012, 11:16
Perfil
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Amigo, venho novamente solicitar sua ajuda.

Vou lhe explicar o que eu fiz:

1 - Puxei seu exemplo e modifiquei ele aqui para que pudesse verificar se funcionaria com o meu Webservice e tudo ocorreu normalmente, consegui utilizar todos os métodos.

Após realizar esse passo e verificar que resolveria meu problema eu fiz um novo projeto android, adicionei o GSON na pasta lib e então comecei a codificar, praticamente fiz uma cópia do seu exemplo para esse novo projeto, afinal muito do que você é reaproveitável, como as classes do package Webservice.

Enfim, fiz o projeto com apenas um botão, que deveria me retornar o resultado do comando listar (Trás todos os registros) do meu Webservice. Rodei ele direto em meu aparelho, abriu normal, mas quando clico no botão ele me exibe um toast informando "Falha de Rede!"

Então comecei a verificar todas as possíveis causas.
1 - Verifiquei se havia adicionado a linha de permissão a Web no arquivo AndroidManifest. Estava OK.
2 - Verifiquei se estava com o WIFI do smartphone ligada. Estava OK
3 - Tentei acessar o Webservice através do Browser do Smartphone, e consegui normalmente.
4 - Copiei o link da variável URL_WS da classe GrupoProdutoRest e concatenei com a string que passo no método para verificar se eu teria acesso ao WS, e consegui normalmente.

Enfim, testei tudo o que eu acreditava ser. O que eu estou achando engraçado é que no seu projeto, que eu baixei e modifiquei para acessar o meu Webservice está funcionando, agora no meu, que criei do "zero" não está acessando. Estou queimando a pestana aqui para descobrir o que é, vi até no post que um outro camarada teve um problema semelhante, mas parou de postar.

Estou deixando o log do LogCat juntamente com a classe que acessa o WS.
Se você pudesse me ajudar a encontrar o problema eu ficaria extremamente agradecido. Caso eu encontre o problema aqui eu posto a solução, assim se alguém passar pelo mesmo problema já vai saber o que fazer.

log.txt

Citação:
10-25 11:57:09.481: E/NGVL(24953): Falha ao acessar Web service
10-25 11:57:09.481: E/NGVL(24953): android.os.NetworkOnMainThreadException
10-25 11:57:09.481: E/NGVL(24953): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
10-25 11:57:09.481: E/NGVL(24953): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
10-25 11:57:09.481: E/NGVL(24953): at libcore.io.IoBridge.connectErrno(IoBridge.java:138)
10-25 11:57:09.481: E/NGVL(24953): at libcore.io.IoBridge.connect(IoBridge.java:112)
10-25 11:57:09.481: E/NGVL(24953): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
10-25 11:57:09.481: E/NGVL(24953): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
10-25 11:57:09.481: E/NGVL(24953): at java.net.Socket.connect(Socket.java:842)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
10-25 11:57:09.481: E/NGVL(24953): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
10-25 11:57:09.481: E/NGVL(24953): at br.com.unip.menudroid.webservice.GrupoProdutoWS.get(GrupoProdutoWS.java:24)
10-25 11:57:09.481: E/NGVL(24953): at br.com.unip.menudroid.webservice.GrupoProdutoRest.getListaGrupoProduto(GrupoProdutoRest.java:17)
10-25 11:57:09.481: E/NGVL(24953): at br.com.unip.menudroid.MainActivity$1.onClick(MainActivity.java:27)
10-25 11:57:09.481: E/NGVL(24953): at android.view.View.performClick(View.java:3644)
10-25 11:57:09.481: E/NGVL(24953): at android.view.View$PerformClick.run(View.java:14313)
10-25 11:57:09.481: E/NGVL(24953): at android.os.Handler.handleCallback(Handler.java:605)
10-25 11:57:09.481: E/NGVL(24953): at android.os.Handler.dispatchMessage(Handler.java:92)
10-25 11:57:09.481: E/NGVL(24953): at android.os.Looper.loop(Looper.java:137)
10-25 11:57:09.481: E/NGVL(24953): at android.app.ActivityThread.main(ActivityThread.java:4517)
10-25 11:57:09.481: E/NGVL(24953): at java.lang.reflect.Method.invokeNative(Native Method)
10-25 11:57:09.481: E/NGVL(24953): at java.lang.reflect.Method.invoke(Method.java:511)
10-25 11:57:09.481: E/NGVL(24953): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
10-25 11:57:09.481: E/NGVL(24953): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
10-25 11:57:09.481: E/NGVL(24953): at dalvik.system.NativeStart.main(Native Method)
10-25 11:57:09.481: W/System.err(24953): java.lang.Exception: Falha de rede!
10-25 11:57:09.481: W/System.err(24953): at br.com.unip.menudroid.webservice.GrupoProdutoRest.getListaGrupoProduto(GrupoProdutoRest.java:30)
10-25 11:57:09.481: W/System.err(24953): at br.com.unip.menudroid.MainActivity$1.onClick(MainActivity.java:27)
10-25 11:57:09.481: W/System.err(24953): at android.view.View.performClick(View.java:3644)
10-25 11:57:09.481: W/System.err(24953): at android.view.View$PerformClick.run(View.java:14313)
10-25 11:57:09.481: W/System.err(24953): at android.os.Handler.handleCallback(Handler.java:605)
10-25 11:57:09.486: W/System.err(24953): at android.os.Handler.dispatchMessage(Handler.java:92)
10-25 11:57:09.486: W/System.err(24953): at android.os.Looper.loop(Looper.java:137)
10-25 11:57:09.486: W/System.err(24953): at android.app.ActivityThread.main(ActivityThread.java:4517)
10-25 11:57:09.486: W/System.err(24953): at java.lang.reflect.Method.invokeNative(Native Method)
10-25 11:57:09.486: W/System.err(24953): at java.lang.reflect.Method.invoke(Method.java:511)
10-25 11:57:09.486: W/System.err(24953): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
10-25 11:57:09.486: W/System.err(24953): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
10-25 11:57:09.486: W/System.err(24953): at dalvik.system.NativeStart.main(Native Method)


GrupoProdutoRest.java

package br.com.unip.menudroid.webservice;

import java.util.ArrayList;
import java.util.List;
import br.com.unip.menudroid.webservice.GrupoProdutoWS;
import br.com.unip.menudroid.model.GrupoProduto;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;

public class GrupoProdutoRest {

    private static final String URL_WS = "http://192.168.0.11:8080/menuDroidWeb/ws/grupoproduto/";
   
    public List<GrupoProduto> getListaGrupoProduto() throws Exception {

        String[] resposta = new GrupoProdutoWS().get(URL_WS + "listar");

        if (resposta[0].equals("200")) {
            Gson gson = new Gson();
            ArrayList<GrupoProduto> listaGrupoProduto = new ArrayList<GrupoProduto>();
            JsonParser parser = new JsonParser();
            JsonArray array = parser.parse(resposta[1]).getAsJsonArray();
           
            for (int i = 0; i < array.size(); i++) {
                listaGrupoProduto.add(gson.fromJson(array.get(i), GrupoProduto.class));
            }
            return listaGrupoProduto;
        } else {
            throw new Exception(resposta[1]);
        }
    }
}
 


Agradeço desde já pela ajuda!


25 Out 2012, 13:11
Perfil
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Antunes, só a nível de curiosidade, fiz outro projeto aqui do zero, configurei ele e copiei e colei as classes do projeto que estava funcionando.

Rodei e deu exatamente o mesmo erro.
Esqueci de citar na mensagem anterior, estou usando do SDK 8 até o SDK16 (Não sei se isso faz diferença)

Agradeço desde já pela ajuda!


25 Out 2012, 13:19
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Dracon escreveu:
Antunes, só a nível de curiosidade, fiz outro projeto aqui do zero, configurei ele e copiei e colei as classes do projeto que estava funcionando.

Rodei e deu exatamente o mesmo erro.
Esqueci de citar na mensagem anterior, estou usando do SDK 8 até o SDK16 (Não sei se isso faz diferença)

Agradeço desde já pela ajuda!


Eu respondi exatamente essa dúvida em outro tópico. Dê uma olhada que vai te ajudar.

viewtopic.php?p=148894#p148894

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


25 Out 2012, 14:27
Perfil WWW
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Re: [Artigo] Web Service RESTful 2 [+Consumir+Android+Code]
Amigo, obrigado pela resposta.
Eu até tinha achado algumas coisas aqui antes da sua resposta e já estava dando uma olhada.
Vi o exemplo que você postou lá e também estava vendo uma outra página aqui ( http://codecreative.com.br/?p=431 ) só que pelo que eu vi eu vou ter que mudar toda a estrutura do exemplo.

É isso mesmo?


25 Out 2012, 15:29
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 271 Mensagens ]  Ir para a página Anterior  1, 2, 3, 4, 5, 6  Próximo

Quem está online

Usuários vendo este fórum: albinoneto, Alessandro Tavares, Alexandre Castro, alexmarcolongo, Alexsandro Tirloni, amos, ANDRE FELIX DE ASSIS, Andreid, b7web, Biggs Darklighter, billsombrio, Bitetti, Bitor, Blackstorm, brazucx, brenno, btleandro, caciara, car.demarco, Carlos, carlosavasconcelos, celiapinheiro, celson, Chaves, Chewbacca, Christiane, compto, Damiani Oliveira, Darth Maul, Darth Vader, dbuarque, digiwise, DITÃO, dudu795, EduardoYC, eferrari, estratecnologia, faco, Faroli, flaviolemos, Gabriel Teófilo, gabrielpg, gapler, gedoor, guiba_picolino, gustavo, HanNiBaLSeTDf, Henrique Ferraz, HyagoRules, j-menezes, jacard, johnnyjx, José Guilherme, juliana_costa, juliomar, JuniorE, juniorsk8, jzaires, lfirpo, luciocamilo, Lúcio Zanette, Marcelo, MarceloMC, marcelorferrari, Maxtremus, Microdesk, mmfsndroid, Moisés Souto, MpassosT, mrangel, msmdark, niloleite, nishimura.ichigo, Nute Gunray, osternack, pererinha, Petto, Rafael Alencar, ramonsa, reginaldo, reginaldofdias, robsonoracle, rodrigoinnova, scattonevi, Shinigami, skcratch, sobrinho, Stormtrooper, tChAnDy, Telekom [Bot], Teodoro, the_hulk_knifer, Tognoli, ubiratan, VILESOFT, wagner_francisco, wcaciano, Wds, weber, Webnet, Wenceslau, wilsond, Wryel e 2 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:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi