Vei, na boa, to ficando doido já, onde bobonica tem outra conexão aqui? '-'
No ImageAdapterBar() tem uma consulta ao banco, onde retorna o tamanho da lista para mostrar só essa quantidade de imagens, será que é isso? Eu já retirei e da o mesmo erro!
Em 12 de setembro de 2012 19:55, Maicon Strey <mstrey@gmail.com> escreveu:
Cara,não to com tempo pra analisar teu código agora mas a mensagem parece estar bem clara sobre qual o erro. tu estas tentando alocar uma nova conexão sem encerrar a anterior.olha onde tu faz a conexão e depois que tu usa ela precisa desalocar ou fechar ela.
Maicon Strey
Novo Hamburgo - RS - Brasil
------------------------------------------------------Linux user: #525086Frase de todos os dias: "Se não mandar o log eu não ajudo!"
2012/9/12 Murilo Ângelo <muriloangelo10@gmail.com>Iai gente alguma coisa?Só acontece o erro na linha onde eu chamo a consulta ao WS gerando esse erro:Em quarta-feira, 12 de setembro de 2012 03h15min36s UTC-3, Murilo Ângelo escreveu:09-12 07:59:17.333: W/SingleClientConnManager(2044): Invalid use of SingleClientConnManager: connection still allocated.09-12 07:59:17.333: W/SingleClientConnManager(2044): Make sure to release the connection before allocating another one.Gente estou com um problema que está me tirando o sono, tenho uma activity inicial com dois botoes que chamam outras activity.Entrando nelas deve ser feita uma verificação para ver se o servidor está OK, como isso? Eu apenas estou fazendo uma consulta ao meu WSe adicionando os dados recebido em uma List. Suponhamos que essa consulta demore, gostaria de que nesse tempo ficasse a telinha do Aguarde...só que eu estou com muitas dúvidas que são as seguintes:Já que a Async vai me trazer os dados que eu preciso para popular a listView o certo seria popular com esses dados certo?Eu preciso fazer duas consultas, como seria para resolver isso?Vou postar minha classe para que vocês vejam, antes de mais nada a coitada está completamente desajeitada, vou resolver isso depois!Apaguei alguma linhas para ficar menos ruim de lerpublic class BarActivity extends Activity implements PageInfoProvider {public static final String[] titulos = new String[] {"Bares", "Dica QualquerCanto"};private final EstabelecimentoREST estabelecimentoREST = new EstabelecimentoREST();private List<Estabelecimento> dadosBar, anuncioBar = null;private PageAdapter adapter;private ListView lv = null;private Processo processo = null;private ViewPagerIndicator indicator;private ViewPager myPager;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_bar);processo = new Processo(BarActivity.this);processo.execute();ActionBar actionBar = (ActionBar) findViewById(R.id.actionBarBar);actionBar.setTitle("Bares");adapter = new PageAdapter(BarActivity.this);myPager = (ViewPager) findViewById(R.id.viewPager);myPager.setAdapter(adapter);myPager.setCurrentItem(1);indicator = (ViewPagerIndicator) findViewById(R.id.indicatorBar);indicator.init(1, adapter.getCount(), this);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_bar, menu);return true;}@Overridepublic String getTitle(int pos) {return titulos[pos];}public class PageAdapter extends PagerAdapter implements PageInfoProvider{private Context context;private GridView gridView;public PageAdapter(Context context) {this.context = context;}@Overridepublic int getCount() {return 2;}@Overridepublic Object instantiateItem(final View collection, int position) {switch (position) {case 0:try {dadosBar = estabelecimentoREST.getListaBar();ArrayAdapter<Estabelecimento> ad = new CustomAdapter(context, R.layout.item_bar, dadosBar);lv = (ListView) findViewById(R.id.listView1);lv.setAdapter(ad);lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {final Dialog dialog = new Dialog(context);dialog.setContentView(R.layout.informacoes_bar);dialog.setTitle("Qualquer Canto indica: ");TextView nome = (TextView) dialog.findViewById(R.id.tv_nome);nome.setText(dadosBar.get(arg2).getNome() +"("+dadosBar.get(arg2).getCustoPessoa()+")"+"\n"+dadosBar.get(arg2).getTipoEstabelecimento()+"\n");TextView logradouro = (TextView) dialog.findViewById(R.id.tv_logradouro);logradouro.setText("Endereço: " + "\n" + dadosBar.get(arg2).getEndereco().getLogradouro());Button voltar = (Button) dialog.findViewById(R.id.bt_voltar);voltar.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {dialog.dismiss();}});dialog.show();}});} catch (Exception e) {dadosBar = null;Toast.makeText(getApplicationContext(), "Falha ao conectar com o servidor", Toast.LENGTH_SHORT).show();}return lv;case 1:try {anuncioBar = estabelecimentoREST.getListaAnuncioBar();gridView = (GridView) findViewById(R.id.gridView1);gridView.setAdapter(new ImageAdapterBar(context));gridView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {final Dialog dialog = new Dialog(context);dialog.setContentView(R.layout.anuncio);dialog.setTitle(dadosBar.get(arg2).getNome());TextView segunda = (TextView) dialog.findViewById(R.id.textView1);segunda.setText("Segunda feira: "+"\n"+anuncioBar.get(arg2).getAnuncio().getSegunda()+"\n");dialog.show();}});}catch (Exception e) {e.printStackTrace();}return gridView;}return null;}@Overridepublic void destroyItem(View arg0, int arg1, Object arg2) {((ViewPager) arg0).removeView((View) arg2);}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == ((View) arg1);}@Overridepublic Parcelable saveState() {return null;}@Overridepublic String getTitle(int pos) {return titulos[pos];}}public class Processo extends AsyncTask<Void, String, List<Estabelecimento>> {private ProgressDialog progress;private Context context;public Processo(Context context) {this.context = context;}@Overrideprotected void onPreExecute() {Log.i("tag", "Cria novo um ProgressDialogo e exibe");progress = new ProgressDialog(context);progress.setMessage("Aguarde...");progress.show();}@Overrideprotected List<Estabelecimento> doInBackground(Void... paramss) {List<Estabelecimento> listaBar = null;publishProgress("Aguarde...");try {//dentro desse método essa linha abaixo da erro, porem, em qualquer outro lugar da classe ela nao da errolistaBar = estabelecimentoREST.getListaBar();} catch (Exception e) {Log.i("tag", "Deu em merda saporra");e.printStackTrace();}return listaBar;}@Overrideprotected void onPostExecute(List<Estabelecimento> result) {Log.e("tag2", "Cancela progressDialogo");progress.dismiss();}@Overrideprotected void onProgressUpdate(String... values) {Log.w("tag", "Atualiza mensagem" + values);}}public static boolean Conectado(Context context) {try {ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected()) {Log.d("3G","Status de conexão 3G: "+cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected());return true;} else if(cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected()){Log.d("Wifi","Status de conexão Wifi: "+cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected());return true;} else {Log.e("Wifi","Status de conexão Wifi: "+cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected());Log.e("3G","Status de conexão 3G: "+cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected());return false;}} catch (Exception e) {Log.e("Erro",e.getMessage());return false;}}}






0 comentários:
Postar um comentário