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