Ver mensagens sem resposta | Ver tópicos ativos Hoje é 25 Jan 2021, 22:38



Este tópico está trancado, você não pode editar mensagens ou enviar respostas.  [ 4 Mensagens ] 
 Arduino + Bluetooth [Resolvido] 
Autor Mensagem
What is DDMS?
What is DDMS?

Data de registro: 11 Mai 2015, 13:49
Mensagens: 36
Mensagem Arduino + Bluetooth [Resolvido]
Boa noite pessoal,

Não sei se aqui é o local correto para este post, mas estou fazendo um aplicativo que precisa controlar uma placa arduino por bluetooth e, em um determinado momento, eu preciso que os dispositivos localizados sejam exibidos por uma Listview para o usuário, mas não estou conseguindo de modo algum preencher o ArrayAdapter corretamente, dentro do método "onDevicesFound". Tento passar o parâmetro "devicelist", mas dá erro :( Não tenho muita experiência com o desenvolvimento Android.
Será que alguém poderia me ajudar por favor?
Desde já agradeço.

Desculpem pelos "comentários" no código, mas são algumas tentativas...


@Override
        public void onDevicesFound(final List<Device> deviceList,
                                   final SmoothBluetooth.ConnectionCallback connectionCallback) {

            ListView lstBagagens = (ListView) findViewById(R.id.lista_de_bagagens);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, deviceList);
            lstBagagens.setAdapter(adapter);

            mResponsesAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, deviceList);
            lstBagagens.setAdapter(mResponsesAdapter);

            //ListView lstBagagens = (ListView) findViewById(R.id.lista_de_bagagens);
            //mResponsesAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mResponseBuffer);
            //lstBagagens.setAdapter(mResponsesAdapter);
            if (lstBagagens != null) {
                lstBagagens.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        connectionCallback.connectTo(deviceList.get(position));

                         Intent intent = new Intent(MainActivity.this, LocalizarBagagemActivity.class);
                         startActivity(intent);
                    }

                });
            }

        }
 


Editado pela última vez por mpopm em 13 Ago 2016, 13:35, num total de 1 vezes



01 Ago 2016, 01:05
Perfil
Google employee
Google employee

Data de registro: 01 Jul 2013, 13:45
Mensagens: 2738
Mensagem Re: Arduino + Bluetooth
Troca o <String> por <Device>. Essa classe Device precisa ter isso:


    @Override
    public String toString() {
        return "nome do dispositivo aqui";
    }
 

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

Aprenda Java com esta apostila.


02 Ago 2016, 19:31
Perfil
What is DDMS?
What is DDMS?

Data de registro: 11 Mai 2015, 13:49
Mensagens: 36
Mensagem Re: Arduino + Bluetooth
Essa é a classe DevicesAdapter que eu estou usando:


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

import io.palaima.smoothbluetooth.Device;

public class DevicesAdapter extends BaseAdapter {

    private final Context mContext;
    private final List<Device> mDevices;

    public DevicesAdapter(Context context, List<Device> devices) {
        this.mContext = context;
        this.mDevices = devices;
    }

    @Override
    public int getCount() {
        return mDevices.size();
    }

    @Override
    public Object getItem(int position) {
        return mDevices.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View view = convertView;
        ViewHolder holder;

        if (view != null) {
            holder = (ViewHolder) view.getTag();
        } else {
            view = inflater.inflate(R.layout.list_device, parent, false);
            holder = new ViewHolder(view);
            view.setTag(holder);
        }

        Device device = mDevices.get(position);
        holder.mNameTV.setText(device.getName());
        holder.mMacTV.setText(device.getAddress());

        return view;
    }

    private class ViewHolder {
        public TextView mNameTV;
        public TextView mMacTV;

        private ViewHolder(View view) {
            mNameTV = (TextView) view.findViewById(R.id.nameTV);
            mMacTV = (TextView) view.findViewById(R.id.macTV);
        }
    }
}

 


06 Ago 2016, 11:23
Perfil
What is DDMS?
What is DDMS?

Data de registro: 11 Mai 2015, 13:49
Mensagens: 36
Mensagem Re: Arduino + Bluetooth
jeffersonlanzieri escreveu:
Troca o <String> por <Device>. Essa classe Device precisa ter isso:


    @Override
    public String toString() {
        return "nome do dispositivo aqui";
    }
 


Obrigado por responder Jefferson!

Consegui arrumar o adapter e agora os devices estão aparecendo na minha ListView.
O que não estou conseguindo agora é chamar a segunda tela que eu preciso com o Intent:

Intent intent = new Intent(MainActivity.this, LocalizarBagagemActivity.class);
                         startActivity(intent);
 

Antes de eu chamar a nova tela, ao tocar no device listado, eu consigo me conectar ao mesmo através do método:

connectionCallback.connectTo(deviceList.get(position));
 

O método todo ficou assim:

@Override
        public void onDevicesFound(final List<Device> deviceList,
                                   final SmoothBluetooth.ConnectionCallback connectionCallback) {

            ListView lstBagagens = (ListView) findViewById(R.id.lista_de_bagagens);

            devicesAdapter = new DevicesAdapter(getBaseContext(), deviceList);
            lstBagagens.setAdapter(devicesAdapter);

            if (lstBagagens != null) {
                lstBagagens.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        connectionCallback.connectTo(deviceList.get(position));

                         Intent intent = new Intent(MainActivity.this, LocalizarBagagemActivity.class);
                         startActivity(intent);
                    }

                });
            }

        }
 


Mas preciso ir para a nova tela em seguida.
Se puder me ajudar, eu agradeço!


06 Ago 2016, 15:13
Perfil
Mostrar mensagens anteriores:  Organizar por  
Este tópico está trancado, você não pode editar mensagens ou enviar respostas.   [ 4 Mensagens ] 

Quem está online

Usuários vendo este fórum: ac0502, Adriano, akaytatsu, alberto, Alex Marcelo Burnett, Alexandrercarvalho, allart, aluclinux, amarildolacerdas, anaguerra, andepunk, ARAKINIDIO, AT-AT, bernardodauer, Beru Lars, BMaia, bruno.abd, BrunoO, burujo, Cajux, Carlos Alexandre, carlos.macleod, carlosavasconcelos, carminati, cesao, Chefe Nass, christian, cleberkct, Cleiton, cosmotheoro, David, dchechetto, Demerval, Diego Rufino, dnakamashi, dobau, Dudi_FC, dudu795, EduardoYC, edwarvelarde, eluttner, Emanuella, emersonbarros, Eneias, epsilva, erosvaldo, Faroli, fcoroa, Felipe, Felipe Ferreira, Felipe Marcondes, felipedsilva, FelipeOliveira, fgalvão, flashking, Gabriel Laet, gamito, grandebaro, hellbest, hostdesigner, Ielo8, JackBlackJack, jairo, Jango Fett, jaydson, jlucasps, José Guilherme, Jota, JRSIQUEIRA, julianafsa, kusanaguy, leanderdulac, LForce, lillian.brandao, linukiss, LucasNascimento, luciocamilo, maolveira, marcos_trb, Marlosm, marlovich, martins, mateusff, mrkensley, msmdark, MSN NewsBlogs, Newton Barbosa, nino, nishimura.ichigo, nivea, osternack, otpor, paulovaz, pbcjunior, pchofard, pererinha, Qui-Gon Jinn, rafaelmonoh, ramonrabello, ramonsa, raragao, raulcca, rcotonet, reginaldo, renan.fernandes, renanpl, renatodondoni, retardad0, rfrafael, rodrigo_mg, rogeriopgomes, ronanPlus, Rufino, ruizsa, shadow, Shinigami, Shmi Skywalker, slackware, Tangerina, tChAnDy, Teodoro, thanaptos, Thitto, ttaranto, vieira, vps_rj, W3 [Sitesearch], wagner_francisco, Wendel Carvalho, weverton e 11 visitantes


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

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi