国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Android開發(fā)基礎(chǔ)】手機(jī)傳感器信息的獲取

這篇具有很好參考價值的文章主要介紹了【Android開發(fā)基礎(chǔ)】手機(jī)傳感器信息的獲取。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、引言

  • 描述:關(guān)于傳感器的使用,我在同欄目下發(fā)了一篇關(guān)于傳感器(方向傳感器、加速度傳感器)的使用,這篇博客主要以獲取不同手機(jī)所支持的傳感器信息為主,具體如何使用這些傳感器,需要自己進(jìn)行查閱和學(xué)習(xí),也可以私聊我。
  • 博客:傳感器(方向傳感器、加速度傳感器):http://t.csdn.cn/mLstV
  • 難度:初級
  • 知識點:Sensors
  • 效果
    【Android開發(fā)基礎(chǔ)】手機(jī)傳感器信息的獲取

二、了解

1、概述

(首先看一下官網(wǎng)文檔)
【Android開發(fā)基礎(chǔ)】手機(jī)傳感器信息的獲取
(大致意思)

???????大多數(shù) Android 設(shè)備都有內(nèi)置傳感器,可以測量運(yùn)動、方向、 以及各種環(huán)境條件。這些傳感器能夠提供高 精度和準(zhǔn)確度,在要監(jiān)視三維設(shè)備移動或 定位,或者您想要監(jiān)視設(shè)備附近周圍環(huán)境的變化。例如,一個 游戲可能會跟蹤設(shè)備重力傳感器的讀數(shù),以推斷復(fù)雜的用戶手勢 和運(yùn)動,例如傾斜、搖晃、旋轉(zhuǎn)或擺動。同樣,天氣應(yīng)用程序可能會使用 設(shè)備的溫度傳感器和濕度傳感器,用于計算和報告露點或行程 應(yīng)用程序可以使用地磁場傳感器和加速度計來報告指南針 軸承。

Android 平臺支持三大類傳感器:

運(yùn)動傳感器
這些傳感器測量沿三個軸的加速力和旋轉(zhuǎn)力。這 類別包括加速度計、重力傳感器、陀螺儀和旋轉(zhuǎn)矢量 傳感器。

環(huán)境傳感器
這些傳感器測量各種環(huán)境參數(shù),例如環(huán)境空氣溫度 以及壓力、照明和濕度。此類別包括氣壓計、光度計和 溫度計。

位置傳感器
這些傳感器測量設(shè)備的物理位置。此類別包括 方向傳感器和磁力計。

2、關(guān)鍵

如果要遍歷所有傳感器,那么這個就是關(guān)鍵

【Android開發(fā)基礎(chǔ)】手機(jī)傳感器信息的獲取

List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ALL);

三、設(shè)計

如果只是遍歷傳感器信息,一個BaseAdapter適配器即可文章來源地址http://www.zghlxwxcb.cn/news/detail-495170.html

1、UI設(shè)計

(1)主界面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <Button
        android:id="@+id/bin_sensor"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="獲取當(dāng)前設(shè)備支持的傳感器"/>

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>
(2)適配器item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:textSize="18dp"/>
    
</LinearLayout>

2、編碼

(1)獲取數(shù)據(jù)(傳感器信息)
	private Button sensor;
    private SensorManager sm;
    private ListView list;
    private String[] adapterData;
    
    private void init() {
        list = findViewById(R.id.list);

        sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        sensor = findViewById(R.id.bin_sensor);
        sensor.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ALL);
                adapterData = new String[sensors.size()];
                for (int i = 0;i < sensors.size();i++) {
                    adapterData[i] = sensors.get(i).getName();
                }
                // 初始化適配器
                initAdapter();
            }
        });
    }
(2)渲染數(shù)據(jù)(初始化適配器)
    static class AppView{
        TextView name;
    }

    private void initAdapter() {
        BaseAdapter baseAdapter = new BaseAdapter() {
            @Override
            public int getCount() {
                return adapterData.length;
            }

            @Override
            public Object getItem(int position) {
                return adapterData[position];
            }

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

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                AppView appView = null;
                if (convertView == null) {
                    convertView = View.inflate(MainActivity.this,R.layout.layout_item,null);
                    appView = new AppView();
                    appView.name = convertView.findViewById(R.id.name);
                    convertView.setTag(appView);
                } else {
                    appView = (AppView) convertView.getTag();
                }
                appView.name.setText(adapterData[position]);
                return convertView;
            }
        };
        list.setAdapter(baseAdapter);
    }

到了這里,關(guān)于【Android開發(fā)基礎(chǔ)】手機(jī)傳感器信息的獲取的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Android App】物聯(lián)網(wǎng)中查看手機(jī)支持的傳感器及實現(xiàn)搖一搖功能-加速度傳感器(附源碼和演示 超詳細(xì))

    【Android App】物聯(lián)網(wǎng)中查看手機(jī)支持的傳感器及實現(xiàn)搖一搖功能-加速度傳感器(附源碼和演示 超詳細(xì))

    需要源碼請點贊關(guān)注收藏后評論區(qū)留言~~~ 傳感器Sensor是一系列感應(yīng)器的總稱,是Android設(shè)備用來感知周圍環(huán)境和運(yùn)動信息的工具。 因為具體的感應(yīng)信息依賴于相關(guān)硬件,所以雖然Android定義了眾多感應(yīng)器,但是并非每部手機(jī)都能支持這么多感應(yīng)器。 傳感器一般借助于硬件監(jiān)聽

    2024年02月09日
    瀏覽(20)
  • 使用 Qt for Android 獲取并利用手機(jī)傳感器數(shù)據(jù)(下篇)使用C++實現(xiàn)功能

    使用 Qt for Android 獲取并利用手機(jī)傳感器數(shù)據(jù)(下篇)使用C++實現(xiàn)功能

    在上一篇,我們搭建了開發(fā)環(huán)境。本篇,使用C++代碼真正實現(xiàn)功能。我們使用UDP協(xié)議從手機(jī)上指定發(fā)送的目的地、端口。效果如下圖,完整工程參考https://gitcode.net/coloreaglestdio/qtcpp_demo/-/tree/master/android/sensors2pc: 移動端1 移動端2 桌面 我們建立一個Qt的Widgets程序,添加 positio

    2024年02月13日
    瀏覽(18)
  • 手機(jī)中常用的傳感器

    傳感器有喚醒和非喚醒屬性 關(guān)于重力傳感器和加速度傳感器,還需要多查詢確認(rèn) 可以用QSensorTest、SensorBox查看傳感器 定義:確定設(shè)備的豎直方向和位置 應(yīng)用: 屏幕自動旋轉(zhuǎn):旋轉(zhuǎn)手機(jī)時檢測設(shè)備的旋轉(zhuǎn)方向和速度,從而自動調(diào)整屏幕方向 晃動檢測:檢測手機(jī)的晃動和振動

    2024年03月18日
    瀏覽(24)
  • 傳感器:探索Android中的傳感器功能與使用

    傳感器:探索Android中的傳感器功能與使用

    利用 Android 傳感器框架,您可以訪問多種類型的傳感器。有些傳感器基于硬件,有些基于軟件?;谟布膫鞲衅魇莾?nèi)置在手機(jī)或平板設(shè)備中的物理組件。這類傳感器通過直接測量特定的環(huán)境屬性(如加速度、地磁場強(qiáng)度或角度變化)來采集數(shù)據(jù)?;谲浖膫鞲衅鞑皇俏锢?/p>

    2024年02月03日
    瀏覽(38)
  • 手機(jī)指紋傳感器:是否真的那么安全?

    手機(jī)指紋傳感器:是否真的那么安全?

    快速鏈接: . ?????? 個人博客筆記導(dǎo)讀目錄(全部) ?????? 付費(fèi)專欄-付費(fèi)課程 【購買須知】: 【精選】ARMv8/ARMv9架構(gòu)入門到精通-[目錄] ?????? — 適合小白入門 【目錄】ARMv8/ARMv9架構(gòu)高級進(jìn)階-[目錄]?????? — 高級進(jìn)階、小白勿買 【加群】ARM/TEE/ATF/SOC/芯片/安全-學(xué)習(xí)交

    2024年02月03日
    瀏覽(22)
  • 基于手機(jī)傳感器的計步算法

    基于手機(jī)傳感器的計步算法

    ????????由于建筑物的阻擋屏蔽等因素, 導(dǎo)致 GPS 信號在室內(nèi)環(huán)境下無法實現(xiàn)滿足要求的定位精度。隨著智能手機(jī)的快速發(fā)展 , 現(xiàn)在手機(jī)一般都內(nèi)置各種傳感器模塊,航位推測法是一種可行的技術(shù)方案 , 計步器、運(yùn)動方向判斷和步長檢測是航位推測的三大關(guān)鍵部件 , 本文結(jié)

    2024年02月10日
    瀏覽(28)
  • 智能手機(jī)上最常見的傳感器

    智能手機(jī)上最常見的傳感器

    手機(jī)中的傳感器( sensor )是指將手機(jī)所處的環(huán)境(亮度、磁場、溫度、動力等)或手機(jī)所執(zhí)行的行為(移動、翻轉(zhuǎn)、拿起等)軌跡轉(zhuǎn)換成電信號的一系列器件或裝置,一般這類傳感器都是由敏感元件以及轉(zhuǎn)換元件組成。 1、光線傳感器(Ambient Light Sensor) 光線傳感器類似于手機(jī)的眼睛。

    2024年02月06日
    瀏覽(26)
  • 機(jī)器人傳感器及其信息融合技術(shù)

    機(jī)器人傳感器及其信息融合技術(shù)

    第一章 傳感器的基礎(chǔ)知識 第五章 多傳感器信息融合技術(shù)概述 信息融合三個核心特征: 信息融合是在多個層次上完成對多源信息處理的過程,其中每一個層次都表示不同級別的信息抽象。 信息融合包括探測、互聯(lián)、相關(guān)、估計以及信息組合。 信息融合的結(jié)果包括較低層次上

    2024年02月01日
    瀏覽(39)
  • Android sensor 傳感器簡介

    一、定義 Android 傳感器相關(guān)術(shù)語微機(jī)電傳感器(MEMS)MEMS 通常制作在規(guī)格很小的硅芯片上,借用了計算機(jī)芯片的制作技術(shù)。通常來說,所有的 Android 傳感器都使用了這些技術(shù),但是從技術(shù)的角度來說,MEMS 指的是在該傳感器的部分設(shè)計中納入了物理移動或震動,例如壓力傳感

    2024年02月12日
    瀏覽(28)
  • STM32學(xué)習(xí)記錄——藍(lán)牙發(fā)送數(shù)據(jù)(手機(jī)顯示傳感器數(shù)據(jù))

    STM32學(xué)習(xí)記錄——藍(lán)牙發(fā)送數(shù)據(jù)(手機(jī)顯示傳感器數(shù)據(jù))

    文章目錄 前言 一、學(xué)習(xí)目的 二、代碼記錄 ? ? ? ? 將數(shù)據(jù)通過藍(lán)牙發(fā)送到手機(jī)上,是學(xué)生學(xué)習(xí)單片機(jī)的必備技能之一,它可以將手機(jī)作為簡單的上位機(jī),從而使數(shù)據(jù)直觀地展現(xiàn)出來。 ? ? ? ?藍(lán)牙的初始化、藍(lán)牙接受數(shù)據(jù)以及藍(lán)牙簡單應(yīng)用的介紹和代碼記錄,可以看一看下

    2024年02月07日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包