當(dāng)前位置: 首頁(yè) > 傳感測(cè)量產(chǎn)品 > 工業(yè)傳感器 > 溫度傳感器
發(fā)布日期:2022-10-09 點(diǎn)擊率:301
說到光線傳感器有的人感覺用的不多,但是手機(jī)自身帶的自動(dòng)調(diào)節(jié)手機(jī)亮度就是使用的光線傳感器,也就是手機(jī)里的光線感應(yīng)器,你的手機(jī)是否開啟了這個(gè)功能呢?
小小的介紹
那么光線感應(yīng)器是個(gè)什么鬼呢?它是用來檢測(cè)手機(jī)周圍光線的強(qiáng)度,單位是lux,一般置于手機(jī)的頭部,前置攝像頭的附近,你可以看一下你的手機(jī),拿手指擋住看看手機(jī)亮度是否會(huì)變暗,光線傳感器和其他的傳感器開發(fā)步驟是一樣一樣的(貌似都是這么一個(gè)流程)
開發(fā)過程
1.得到傳感器管理者對(duì)象
// 獲取傳感器管理者對(duì)象
SensorManager mSenso
內(nèi)容介紹熱點(diǎn)排行相關(guān)文章下載地址↓
Android 動(dòng)畫電子溫度計(jì) 溫度傳感器 動(dòng)態(tài)得展示了從手機(jī)溫度傳感器得到的溫度值,現(xiàn)在提供給初學(xué)者學(xué)習(xí)研究,希望大家喜歡。
電子溫度計(jì) 溫度傳感器 Android
人氣源碼
Android項(xiàng)目源碼高仿知乎android studio版本demo
16.5MB | 簡(jiǎn)體中文
下載
Android經(jīng)典源碼全集(簡(jiǎn)單易懂)
14.6MB | 簡(jiǎn)體中文
下載
看代碼學(xué)Android開發(fā)系列:Android 個(gè)人記賬程序源代碼
236MB | 簡(jiǎn)體中文
下載
Android開發(fā)精典案例60個(gè)源碼打包
11MB | 簡(jiǎn)體中文
下載
GitHub上最火的40個(gè)Android開源項(xiàng)目源碼打包
23MB | 簡(jiǎn)體中文
下載
看代碼學(xué)Android開發(fā)系列:Android天氣預(yù)報(bào)源代碼
483KB | 簡(jiǎn)體中文
下載
看代碼學(xué)Android開發(fā)系列:Android指南針程序源代碼
389KB | 簡(jiǎn)體中文
下載
Android應(yīng)用源碼實(shí)現(xiàn)手機(jī)通訊錄效果源碼
1.09MB | 簡(jiǎn)體中文
下載
mars老師android視頻源碼(33集全)
6.7MB | 簡(jiǎn)體中文
下載
下載地址
【找不到分享碼?】 下載錯(cuò)誤?【投訴報(bào)錯(cuò)】
Android利用溫度傳感器實(shí)現(xiàn)帶動(dòng)畫效果的電子溫度計(jì)
四五互聯(lián)移動(dòng)下載群英網(wǎng)絡(luò)電信下載巨牛網(wǎng)絡(luò)電信下載創(chuàng)夢(mèng)網(wǎng)絡(luò)電信下載
相關(guān)文章
最新樂步走路賺錢區(qū)塊鏈完整網(wǎng)站源碼可打包APPAndroid醫(yī)院信息管理-護(hù)士站系統(tǒng)源碼(源碼+數(shù)據(jù)庫(kù))android用戶登陸注冊(cè)例子完整源碼(含服務(wù)器端源碼/mysql數(shù)據(jù)庫(kù)腳本等)pxpay 微信支付寶個(gè)人收款接口 v2.0.4IPCommAndroid 星際通訊 v1.6xUtils Android工具包 v3.9.0Android 一個(gè)輕量Youtube客戶端源碼Android Kotlin開發(fā)高德地圖Android 仿小米日歷源碼萌鑫直播源碼app源碼 v3
網(wǎng)友評(píng)論
下載聲明
☉ 解壓密碼: 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過一段時(shí)間重試!或者多試試幾個(gè)下載地址
☉ 如果遇到什么問題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買正版。
☉ 本站提供的Android利用溫度傳感器實(shí)現(xiàn)帶動(dòng)畫效果的電子溫度計(jì)資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。
代碼下載:
一、準(zhǔn)備工作
需要準(zhǔn)備一部帶有溫度傳感器的安卓手機(jī),或者使用有溫度傳感器的模擬器。
二、程序?qū)崿F(xiàn)
1、需要截圖程序結(jié)構(gòu)
2、實(shí)現(xiàn)思路怎樣
要想實(shí)現(xiàn)帶動(dòng)畫效果的電子溫度計(jì),需要以下幾個(gè)知識(shí)點(diǎn):
溫度傳感器相關(guān)知識(shí)。
ScaleAnimation動(dòng)畫相關(guān)知識(shí),來進(jìn)行水印刻度的縮放效果。
Android:layout_weight屬性的合理運(yùn)用,關(guān)于android:layout_weight屬性的講解,可以參考:《我的Android進(jìn)階之旅------>關(guān)于android:layout_weight屬性的一個(gè)面試題》
首先來看看本實(shí)例的具體效果,然后再來具體實(shí)現(xiàn)功能。
1、將溫度強(qiáng)制設(shè)置為0度時(shí),畫面如下:
2、將溫度強(qiáng)制設(shè)置為50度時(shí),畫面如下:
3、將溫度強(qiáng)制設(shè)置為-20度時(shí),畫面如下:
4、從傳感器動(dòng)態(tài)得到溫度值,并實(shí)時(shí)更新畫面,如下所示:
首先來看布局文件的代碼:layout_thermometer.xml
接著看Activity的代碼:ThermometerActivity.java
package com.oyp.thermometer;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.animation.ScaleAnimation;
import android.widget.LinearLayout;
import android.widget.TextView;
public class ThermometerActivity extends Activity implements SensorEventListener {
private LinearLayout alcohol;
private LinearLayout meter;
private SensorManager mSensorManager;
private Sensor temperatureSensor;
private TextView thermo_c;
private TextView thermo_f;
public float staratemp;
public float temp;
private float temperatureC;
public float getTemperatureF() {
float temperatureF=(temperatureC * 9 / 5) + 32;
return getFloatOne(temperatureF);
}
public float getFloatOne(float tempFloat) {
return (float) (Math.round(tempFloat * 10)) / 10;
}
public float getTemperatureC() {
return getFloatOne(temperatureC);
}
public void setTemperatureC(float temperatureC) {
this.temperatureC=temperatureC;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_thermometer);
meter=((LinearLayout) findViewById(R.id.meter));
alcohol=((LinearLayout) findViewById(R.id.alcohol));
thermo_c=(TextView) findViewById(R.id.thermo_c);
thermo_f=(TextView) findViewById(R.id.thermo_f);
}
@Override
protected void onResume() {
super.onResume();
mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
temperatureSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
mSensorManager.registerListener(this, temperatureSensor, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public final void onSensorChanged(SensorEvent event) {
float temperaturevalue=event.values[0]; // 得到溫度
setTemperatureC(temperaturevalue);// 設(shè)置溫度
mUpdateUi();// 更新UI
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
private void mUpdateUi() {
ScaleAnimation localScaleAnimation1=new ScaleAnimation(1.0F, 1.0F, this.staratemp, this.temp, 1, 0.5F, 1,
1.0F);
localScaleAnimation1.setDuration(2000L);
localScaleAnimation1.setFillEnabled(true);
localScaleAnimation1.setFillAfter(true);
this.alcohol.startAnimation(localScaleAnimation1);
this.staratemp=this.temp;
ScaleAnimation localScaleAnimation2=new ScaleAnimation(1.0F, 1.0F, 1.0F, 1.0F, 1, 0.5F, 1, 0.5F);
localScaleAnimation2.setDuration(10L);
localScaleAnimation2.setFillEnabled(true);
localScaleAnimation2.setFillAfter(true);
this.meter.startAnimation(localScaleAnimation2);
// 把刻度表看出總共700份,如何計(jì)算縮放比例。從-20°到50°。
// 例如,現(xiàn)在溫度是30°的話,應(yīng)該占(30+20)*10=500份 其中20是0到-20°所占有的份
this.temp=(float) ((20.0F + getTemperatureC()) * 10) / (70.0F * 10);
thermo_c.setText(getTemperatureC() + "");
thermo_f.setText(getTemperatureF() + "");
}
}
三、運(yùn)行效果
1、運(yùn)行,右鍵項(xiàng)目:Run as -》Android Application
2、如上圖所示,也就是這樣子:
四、其他補(bǔ)充
暫時(shí)沒
代碼下載:
注:本文著作權(quán)歸作者,由demo大師發(fā)表,拒絕轉(zhuǎn)載,轉(zhuǎn)載需要作者授權(quán)
大致總結(jié)下,理解不深入,隨便說說
測(cè)人體溫度的工程,需要對(duì)測(cè)溫?cái)?shù)據(jù)進(jìn)行分析,取到有效的溫度值;這是一個(gè)非傳統(tǒng)的DS18B20那種單點(diǎn)溫度傳感器,而是多點(diǎn)測(cè)溫,從底層傳來的溫度數(shù)據(jù)有768個(gè),但應(yīng)用場(chǎng)景是需要一個(gè)溫度值,這個(gè)就比較折騰了;
這部分雖然之前做了許多類似的項(xiàng)目,一開始還是比較混亂,最好在AS里面新建一個(gè)C++的Android Studio的項(xiàng)目,這樣簡(jiǎn)省很多不必要的操作;
大致項(xiàng)目結(jié)構(gòu)如下:
cpp路徑下放.c .h文件,這部分溫度傳感器供應(yīng)商那邊提供,系統(tǒng)工程師修改后給到應(yīng)用層開發(fā),這里不多贅述,起始我也說不清,就知道是那么回事而已啦;之后理解了再去細(xì)談;
assets路徑下放html和js文件
這里主要新建的C++項(xiàng)目會(huì)自動(dòng)生成CMakeLists文件,之前新建的Android項(xiàng)目這部分就的需要自己加進(jìn)去,之后修改也比較麻煩,也會(huì)遇到很多問題,我之前就是按照網(wǎng)上的說法自己加的,加完了之后編譯是有問題的;編譯之后會(huì)生成so文件,生成的so文件可拷貝到其他項(xiàng)目使用;
接著是Java文件加載native-lib本地庫(kù),在這里寫一些Java調(diào)用的方法,比如溫度傳感器的open,close及讀溫度readData等方法;
對(duì)應(yīng)在.cpp文件下生成對(duì)應(yīng)的調(diào)用的函數(shù)
以上完成沒問題的話,接下來就是Android的activity文件中調(diào)用相關(guān)的方法獲取溫度值;獲取的溫度數(shù)據(jù)進(jìn)行統(tǒng)計(jì),畫圖表,這部分采用的前端的js圖表庫(kù);
html顯示圖表數(shù)據(jù),當(dāng)然這里是用的webView進(jìn)行顯示沒有其他的高大上的跨平臺(tái)開發(fā)啦,中間就是些數(shù)據(jù)處理的問題了
最后就是做的一些數(shù)據(jù)圖表,有前端的也有通過Android框架實(shí)現(xiàn)的:
此刻正在看的你請(qǐng)諒解,很抱歉浪費(fèi)你的時(shí)間
亂七八糟的說了一堆,不知道要表達(dá)什么,就是想自說自話,就想隨便打會(huì)兒字,打字的感覺很舒服。
越來越清晰的感覺到我只是路過這里,不該貪戀這里的一切,還有很長(zhǎng)很長(zhǎng)很長(zhǎng)一段路程要走。。。。。。
下一篇: PLC、DCS、FCS三大控
上一篇: 電氣控制線路圖控制原