|
Página 1 de 1
|
[ 4 Mensagens ] |
|
Arduino + Bluetooth [Resolvido]
Autor |
Mensagem |
mpopm
What is DDMS?
Data de registro: 11 Mai 2015, 13:49 Mensagens: 36
|
 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 |
|
 |
jeffersonlanzieri
Google employee
Data de registro: 01 Jul 2013, 13:45 Mensagens: 2738
|
 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 |
|
 |
mpopm
What is DDMS?
Data de registro: 11 Mai 2015, 13:49 Mensagens: 36
|
 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 |
|
 |
mpopm
What is DDMS?
Data de registro: 11 Mai 2015, 13:49 Mensagens: 36
|
 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 |
|
|
|
Página 1 de 1
|
[ 4 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: alexsander.miranda, Alexsandro Tirloni, am2net, Anakin Skywalker, andepunk, Anderson MarkZ, ANDRE FELIX DE ASSIS, Andreid, Bass, Bitetti, boydivalor, caiodemarco, cassiano, Cassius, Chassot, Cleiton, Costa, Daniel Batista, danilosv, deborazb, diegorrborges, difrene, dudu795, Emanuella, emersonbarros, espinhara.net, eXagon, felipecomp19, felipedsilva, felipetesc, Fernando Cardia, flaviocc, fracon, fredjpa, free_w3000, Gabriel Teófilo, gedoor, geeks, Geire Robson Gadelha, geovanebg, germanno, Guilherme, gustavo, gustavobarbosa, gutomilani, helder, hugomarinho, ICCrawler - ICjobs, Igor_M, igor_meneguzzo, IgorBrum, inesfg, j-menezes, jhhm_2008, jorgecardoso, juliherms, Juliobcosta, kecyobarros, Ki-Adi-Mundi, klassmann, Leonardo333, LordElfo, luiz.lago, Lúcio Zanette, madeinnordeste, maolveira, marceloaragao, Marlosm, MauNunes, mauriciobreide, Meticore, Moisés Souto, mtomazzi, osternack, paulo.esantos, pedro, pemam.com.br, pererinha, piagg, pyrobit, rafsantos, regeriob2br, rixargolo, robertofonte, Robson Florentino, robsonoracle, RodReis, rodrigosalfer, ScoobyGB, sergio, Stormtrooper, Stryder, suissa, talves, Telekom [Bot], the_hulk_knifer, Tiago Sousa Roch, Topeca, unnamedd, weverton, Wryel, yeltsinlima e 4 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
|
|