Ver mensagens sem resposta | Ver tópicos ativos Hoje é 23 Mai 2013, 18:29



Responder Tópico  [ 1 Mensagem ] 
 [Mini Tuto] Android, listando os sensores do celular/tablet 
Autor Mensagem
Dalvik Virtual Machine
Dalvik Virtual Machine

Data de registro: 17 Jul 2011, 10:55
Mensagens: 1996
Localização: São Paulo
Mensagem [Mini Tuto] Android, listando os sensores do celular/tablet
Você sabe quais sensores o seu aparelho celular ou tablet tem?
Se não sabe mas quer saber, duas linhas de código resolvem!
Vamos usar o serviço do SensorManager e chamar o seu método getSensorList que nos retornará uma lista com os sensores disponíveis no aparelho.

        mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
 


Dessa lista eu monto uma arrayList com os nomes dos sensores para mostrar na listView.

Vamos aos códigos:

Do ListActivity: TesteSensoresActivity.java

package br.com.agorandroid.sensors;

import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
/**
 * @author A H Gusukuma
 *       agorandroid.blogspot.com
 */

public class TesteSensoresActivity extends ListActivity {
     private SensorManager mSensorManager;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
 
        List<String> arraySensors = new ArrayList<String>();
        for (Sensor sensor : deviceSensors) {
            arraySensors.add(sensor.getName());
        }

        setListAdapter((ListAdapter) new ArrayAdapter<String>(this, R.layout.list_item, arraySensors));
       
        ListView lv = getListView();
        lv.setTextFilterEnabled(true);
       
        lv.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent,
                    android.view.View view, int position, long id) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }
        });
     
    }
}
 


Do XML para o ListView: list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="12dp"
    android:textSize="18sp" >
 
</TextView>
 


Ao executar verá na tela a lista dos sensores do aparelho!

_________________
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
Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.


24 Mar 2012, 10:39
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 1 Mensagem ] 

Quem está online

Usuários vendo este fórum: Adeja, ademilson, Aderbal Nunes, adolfo, AdrianoMM, aechiara, afpcp, alexandrefett, alexmarcolongo, andrelom, antoniodourado, b7web, Biel, Bitor, brunogh, BrunoO, caliow, Carla Luz, cenatech, cfranca, charly, Chaves, Chewbacca, Clauber, Cr-Informática, craudiao, culumin, czambroni, Darth Maul, Diego, diegorrborges, dkclan, Douglas Siviotti, fabricioLeonard, felipedsilva, Fernando Cardia, ffabiano, Flávio Robertgo, Francisco_Geraldo, francismarconcini, fredjpa, FVB, gedoor, geeks, Geovanne Duarte, Gomes, Governador Wilhuff Tarkin, grandebaro, guitarro17, gustavobarbosa, hellbest, HyagoRules, Ielo8, inaciofernandes, jairodealmeida, Jalerson, jeanbr07, JeffCF, jijo, jorgeFernandes, Josinhaz, Juniorvs, klebersilvarocha, konos, kpinheiro, lalaine, leandroviana, leo, leoadias, Leonardo333, lillian.brandao, Lincoln, Liviosousa, lkunta, MarceloMC, MARCIOHG, marcosandreao, marcow, martins, Matheus562, Mayara Trevisol, mirelli, mmiottobarbosa, Moisés Souto, mtomazzi, Mvitor, nakahara, neosun, nirvana, nishimura.ichigo, Obi-Wan Kenobi, otium, Padawan, PAMinhoto, paulo.esantos, pgsnit, Rafael Felix, rbenatti, rfrafael, ricardo_listadelphi, Roberto, rubens_olv, Rufino, SEO Crawler, SERGIO RODRIGUES, shazaum, shibutani, Synoo [Bot], taluna, the_hulk_knifer, thiago20, Topeca, valaszek, Vania, voliverio, wcaciano, wylken, YaCy, Yoda, Yuri e 5 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 - 2013 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi