日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

Android應(yīng)用開發(fā)簡(jiǎn)單幾步實(shí)現(xiàn)搖一搖功能

來源: 責(zé)編: 時(shí)間:2024-01-15 09:19:35 208觀看
導(dǎo)讀微信搖一搖,抖音搖一搖面對(duì)面搖骰子等,手機(jī)APP搖一搖功能隨處可見,下面我們來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的搖一搖功能。基本原理利用加速度傳感器檢測(cè)設(shè)備的物理運(yùn)動(dòng)監(jiān)聽傳感器的數(shù)據(jù)用作搖一搖動(dòng)作判定根據(jù)設(shè)定的條件觸發(fā)搖一搖事件

微信搖一搖,抖音搖一搖面對(duì)面搖骰子等,手機(jī)APP搖一搖功能隨處可見,下面我們來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的搖一搖功能。pie28資訊網(wǎng)——每日最新資訊28at.com

基本原理

  1. 利用加速度傳感器檢測(cè)設(shè)備的物理運(yùn)動(dòng)
  2. 監(jiān)聽傳感器的數(shù)據(jù)用作搖一搖動(dòng)作判定
  3. 根據(jù)設(shè)定的條件觸發(fā)搖一搖事件

常見應(yīng)用場(chǎng)景:pie28資訊網(wǎng)——每日最新資訊28at.com

  1. 「音樂和視頻控制」:許多音樂和視頻應(yīng)用利用搖一搖功能來控制播放、暫停、下一曲等操作。用戶只需搖動(dòng)手機(jī),即可實(shí)現(xiàn)快速切換歌曲或視頻的功能。
  2. 「拍照」:一些相機(jī)應(yīng)用使用搖一搖功能來快速拍照或切換前后攝像頭。通過搖動(dòng)手機(jī),用戶可以快速完成拍照過程,無需多余的操作步驟。
  3. 「啟動(dòng)應(yīng)用或功能」:搖一搖功能也可以用于啟動(dòng)特定的應(yīng)用或功能。例如,健康追蹤應(yīng)用可能允許用戶通過搖動(dòng)手機(jī)來快速查看計(jì)步器或運(yùn)動(dòng)數(shù)據(jù)。
  4. 「游戲控制」:在某些游戲中,搖一搖功能可以作為游戲控制方式之一。玩家可以通過搖動(dòng)手機(jī)來控制角色的移動(dòng)或執(zhí)行特定動(dòng)作,提供更直觀的控制方式。
  5. 「社交分享」:一些社交應(yīng)用利用搖一搖功能來快速分享內(nèi)容到其他平臺(tái)。用戶只需搖動(dòng)手機(jī),即可將內(nèi)容自動(dòng)分享到指定的社交媒體平臺(tái)。
  6. 「觸發(fā)緊急通知」:在某些緊急情況下,搖一搖功能可以作為一種快速提醒方式。例如,在遇到危險(xiǎn)或緊急狀況時(shí),用戶可以快速搖動(dòng)手機(jī)來觸發(fā)警報(bào)或發(fā)送求救信號(hào)。

代碼示例

「實(shí)現(xiàn)效果」:在1.5s內(nèi)出現(xiàn)兩次加速度達(dá)到15則觸發(fā)搖一搖pie28資訊網(wǎng)——每日最新資訊28at.com

class ShakeManager : SensorEventListener {    private var mContext: Context    /**     * 時(shí)間范圍     */    private var mIntervalTimeMillis: Long = 15000    /**     * 要換次數(shù)閾值     */    private var mThresholdCount: Int = 2    /**     * 加速度閾值     */    private var mShakeThreshold: Int = 15    private var mSensorManager: SensorManager? = null    private var mVibrator: Vibrator? = null    private var mOnShakeListener: OnShakeListener? = null    /**     * 上一次搖晃時(shí)間     */    private var mLastShakeTimeMillis: Long = 0    /**     * 搖晃次數(shù)     */    private var mShakeCount = 0    constructor(        context: Context,        intervalTimeMillis: Long,        thresholdCount: Int,        shakeThreshold: Int,        onShakeListener: OnShakeListener    ) {        this.mContext = context        this.mIntervalTimeMillis = intervalTimeMillis        this.mThresholdCount = thresholdCount        this.mShakeThreshold = shakeThreshold        this.mOnShakeListener = onShakeListener        mSensorManager = mContext.getSystemService(Context.SENSOR_SERVICE) as SensorManager        mVibrator = mContext.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator        mSensorManager?.registerListener(            this,            mSensorManager?.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),            SensorManager.SENSOR_DELAY_NORMAL        )    }    override fun onSensorChanged(event: SensorEvent) {        //加速度變化        if (event.sensor.type == Sensor.TYPE_ACCELEROMETER) {            val currentTimeMillis = System.currentTimeMillis()            //搖晃時(shí)間大于1500            if (currentTimeMillis - mLastShakeTimeMillis > mIntervalTimeMillis) {                mShakeCount = 0            }            val values = event.values            if (abs(values[0]) > mShakeThreshold || abs(values[1]) > mShakeThreshold || abs(values[2]) > mShakeThreshold) {                mLastShakeTimeMillis = currentTimeMillis                mShakeCount += 1                if (mShakeCount > mThresholdCount) {                    mVibrator?.vibrate(100)                    mShakeCount = 0                    mLastShakeTimeMillis = 0                    mOnShakeListener?.onShaked()                }            }        }    }    override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {    }    interface OnShakeListener {        fun onShaked()    }}

圖片圖片pie28資訊網(wǎng)——每日最新資訊28at.com

接下來?yè)u晃手機(jī),觸發(fā)搖一搖機(jī)制,字體變紅pie28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片pie28資訊網(wǎng)——每日最新資訊28at.com

完整代碼:pie28資訊網(wǎng)——每日最新資訊28at.com

<?xml versinotallow="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".activity.TestActivity">        <TextView        android:id="@+id/tv_shake"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:gravity="center"        android:text="請(qǐng)搖晃手機(jī)"        android:textColor="@color/black"        android:textSize="20sp" /></LinearLayout>
class TestActivity : AppCompatActivity() {    private val TAG = TestActivity::class.java.simpleName    private lateinit var mBinding: ActivityTestBinding    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        mBinding = ActivityTestBinding.inflate(layoutInflater)        setContentView(mBinding.root)        ShakeManager(this, 1500, 2, 15, object : ShakeManager.OnShakeListener {            override fun onShaked() {                mBinding.tvShake.text = "觸發(fā)了搖一搖"                mBinding.tvShake.setTextColor(0xFFFF0000.toInt())            }        })    }}

隨著技術(shù)發(fā)展,結(jié)合設(shè)備傳感器,可以開發(fā)出更多有趣和實(shí)用的應(yīng)用。pie28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-60917-0.htmlAndroid應(yīng)用開發(fā)簡(jiǎn)單幾步實(shí)現(xiàn)搖一搖功能

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Java、Spring和Dubbo三種SPI機(jī)制,到底誰(shuí)更好?

下一篇: 現(xiàn)學(xué)現(xiàn)用,寫個(gè)Maven插件用下

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 2023年Q2用戶偏好榜:12+256G版本成新主流

    3月份的性能榜、性價(jià)比榜和好評(píng)榜之后,就要輪到2023年的第二季度偏好榜了,上半年的新機(jī)潮已經(jīng)過去,最明顯的肯定就是大內(nèi)存和存儲(chǔ)的機(jī)型了,另外部分中端機(jī)也取消了屏幕塑料支架
  • 三分鐘白話RocketMQ系列—— 如何發(fā)送消息

    我們知道RocketMQ主要分為消息 生產(chǎn)、存儲(chǔ)(消息堆積)、消費(fèi) 三大塊領(lǐng)域。那接下來,我們白話一下,RocketMQ是如何發(fā)送消息的,揭秘消息生產(chǎn)全過程。注意,如果白話中不小心提到相關(guān)代
  • 新電商三兄弟,“抖快紅”成團(tuán)!

    來源:價(jià)值研究所作 者:Hernanderz 隨著內(nèi)容電商的概念興起,抖音、快手、小紅書組成的&ldquo;新電商三兄弟&rdquo;成為業(yè)內(nèi)一股不可忽視的勢(shì)力,給阿里、京東、拼多多帶去了巨大壓
  • 大廠卷向扁平化

    來源:新熵作者丨南枝 編輯丨月見大廠職級(jí)不香了。俗話說,兵無常勢(shì),水無常形,互聯(lián)網(wǎng)企業(yè)調(diào)整職級(jí)體系并不稀奇。7月13日,淘寶天貓集團(tuán)啟動(dòng)了近年來最大的人力制度改革,目前已形成一
  • 華為HarmonyOS 4升級(jí)計(jì)劃公布:首批34款機(jī)型今日開啟公測(cè)

    8月4日消息,今天下午華為正式發(fā)布了HarmonyOS 4系統(tǒng),在更流暢的前提下,還帶來了不少新功能,UI設(shè)計(jì)也有變化,會(huì)讓手機(jī)煥然一新。華為宣布,首批機(jī)型將會(huì)在
  • 華為Mate60標(biāo)準(zhǔn)版細(xì)節(jié)曝光:經(jīng)典星環(huán)相機(jī)模組回歸

    這段時(shí)間以來,關(guān)于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復(fù)一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • iQOO Neo8 Pro搶先上架:首發(fā)天璣9200+ 安卓性能之王

    經(jīng)過了一段時(shí)間的密集爆料,昨日iQOO官方如期對(duì)外宣布:將于5月23日推出全新的iQOO Neo8系列新品,官方稱這是一款擁有旗艦級(jí)性能調(diào)校的作品。隨著發(fā)布時(shí)
  • “買真退假” 這種“羊毛”不能薅

    □ 法治日?qǐng)?bào) 記者 王春   □ 本報(bào)通訊員 胡佳麗  2020年初,還在上大學(xué)的小東加入了一個(gè)大學(xué)生兼職QQ群。群主&ldquo;七王&rdquo;在群里介紹一些刷單賺
  • Meta盲目擴(kuò)張致超萬(wàn)人被裁,重金押注元宇宙而前景未明

    圖片來源:圖蟲創(chuàng)意日前,Meta創(chuàng)始人兼CEO 馬克&middot;扎克伯發(fā)布公開信,宣布Meta計(jì)劃裁員超11000人,占其員工總數(shù)13%。他公開承認(rèn)了自己的預(yù)判失誤:&ldquo;不僅
Top 主站蜘蛛池模板: 常熟市| 龙里县| 长宁区| 惠东县| 永清县| 樟树市| 周宁县| 射洪县| 澄城县| 南召县| 河西区| 遂宁市| 卫辉市| 乌审旗| 兴城市| 靖远县| 福清市| 义马市| 北京市| 嘉峪关市| 阜阳市| 太湖县| 西吉县| 五华县| 马龙县| 景德镇市| 塔城市| 石渠县| 平湖市| 武隆县| 五原县| 潜山县| 新田县| 芮城县| 霍城县| 乡城县| 保亭| 石首市| 万全县| 荣昌县| 中卫市|