加速感測器 靜宜大學資管系 楊子青.

Slides:



Advertisements
Similar presentations
新約研讀 彼得前書複習 讀經組
Advertisements

第13章 繪圖與多媒體 13-1 顯示圖檔-行動相簿 13-2 音樂播放-音樂播放器 13-3 影片播放-視訊播放器
™ 全球,唯一支持第三方自动部署的交易系统 中国产权交易所有限公司 二〇一四年十月 超级交易系统V1.0
四資二甲 第三週作業 物件導向程式設計.
實驗五:多媒體播放器選單介面.
Part 2 開發Android應用程式的流程
广东省教育厅教研室 黄志红 ,     研究改进行动     反思促使成长 广东省教育厅教研室  黄志红 ,
位置與地圖應用 此投影片為講解Android如何取得定位經緯度和使用Google Map地圖.
類別與物件 Class & Object.
Android + Web Service 建國科技大學 資管系 饒瑞佶 2017/3 V1.
ArrayAdapter & Spinner
Ch2 初探Android程式開發.
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
Services of the Mobile and Use of Communication Network
實驗四:單位轉換程式.
Chapter 13 Android 實戰演練.
Android + JUnit 單元測試 建國科技大學資管系 饒瑞佶 2012/8/19V4.
實驗十三:顯示目前經緯度位置.
Ch06 再談選單元件 物件導向系統實務.
使用Android控制Arduino 史先强
第10章 App微信分享的实现 倚动实验室.
第9章 位置服务与地图应用.
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
第8章 Android内容提供者(ContentProvider)应用
Chapter 6 Advanced UI Design.
Ch5 Android應用程式的主要組成.
Chapter 7 Android應用元件 Android應用元件可以幫助我們獲得系統資源訊息(ActivityManager)、提供系統服務(Service)、搜尋系統服務(SearchManager)、監聽Intent訊息(Broadcast Receiver)以及資料共享(ContentProvider和ContentResolver)。
Android Intent 建國科技大學 資管系 饒瑞佶 2011/1.
Chapter 6 進階UI設計.
第4章 Android生命周期.
第9章 使用意圖啟動活動與內建應用程式 9-1 意圖的基礎 9-2 使用意圖啟動活動
ANDROID PROGRAMMING2.
CH7 佈局、按鈕與文字編輯元件.
Android + Service 建國科技大學 資管系 饒瑞佶.
實驗十四:顯示與控制地圖.
第2讲 移动应用开发基础知识(二) 宋婕
二十四、感測器.
建立Android新專案 Android智慧型手機程式設計 程式設計與應用班 建國科技大學 資管系 饒瑞佶 2012/4 V1
第6章 建立Android使用介面 6-1 介面元件的基礎 6-2 Android的事件處理 6-3 按鈕元件 6-4 文字元件
手機的頁面轉換與資料傳遞.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
實驗十一:待辦事項程式 (儲存在手機上).
主编:钟元生 赵圣鲁.
Android 开发入门.
Android Application Component
JAVA 编 程 技 术 主编 贾振华 2010年1月.
Chapter 5 Basic UI Design.
實驗九:延續實驗八, 製作一個完整音樂播放器
Location Based Services - LBS
藝術大師-達利.
補間動畫 (Tween Animation) 靜宜大學資管系 楊子青
王豐緒 銘傳大學資訊工程學系 問題:判斷是否為長方形.
第二章 Java语法基础.
螢幕觸控及手勢辨別 靜宜大學資管系 楊子青.
方向及加速感測器 靜宜大學資管系 楊子青.
加速及方向感測器 靜宜大學資管系 楊子青.
CustomView(自定義視圖) 、 畫布、顏色及多點觸控 靜宜大學資管系 楊子青
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
第二章 Java基本语法 讲师:复凡.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
RecyclerView and CardView
打Mole不打Ladybug (IV): 讓使用者控制Ladybug移動 靜宜大學資管系 楊子青
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
Android Speech To Text(STT)
Activity的生命週期: 播放音樂與影片 靜宜大學資管系 楊子青
用Intent啟動程式中的其他Activity、運用WebView顯示網頁 靜宜大學資管系 楊子青
第9章 BroadcastReceiver的使用
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
SQLite資料庫 靜宜大學資管系 楊子青.
Part 8 Broadcast Receiver、Service和App Widget
Presentation transcript:

加速感測器 靜宜大學資管系 楊子青

1.認識加速感測器

手機傾斜

2.取得系統的感測器物件

讀取感測器的加速度值

註冊/解除監聽事件

3.建立Sensor專案,讀取加速度值 原本的TextView id: @+id/txv textSize: 20sp public class MainActivity extends AppCompatActivity implements SensorEventListener { SensorManager sm; Sensor sr; TextView txv; …

設定SensorManager與Sensor @Override protected void onCreate(Bundle savedInstanceState) { … sm = (SensorManager) getSystemService(SENSOR_SERVICE); sr = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); txv = (TextView) findViewById(R.id.txv); }

註冊/解除監聽 @Override public void onResume(){ super.onResume(); sm.registerListener(this, sr, SensorManager.SENSOR_DELAY_NORMAL); } public void onPause(){ super.onPause(); sm.unregisterListener(this);

讀取x、y、z軸加速度之值 @Override public void onSensorChanged(SensorEvent event){ float x, y, z; x = event.values[0]; y = event.values[1]; z = event.values[2]; txv.setText(String.format("x軸: %1.2f \ny軸: %1.2f \nz軸: %1.2f", x, y, z)); } public void onAccuracyChanged(Sensor sensor, int accuracy){

螢幕強制為直向 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="tw.edu.pu.csim.tcyang.sensor"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

4.利用加速感測器來做體感控制 偵測手機面朝下平放的狀態 偵測手機搖晃的狀態 if (Math.abs(x)<1 && Math.abs(y)<1 && z<-9) { txv.setText("朝下平放"); } 偵測手機搖晃的狀態 if (Math.abs(x) + Math.abs(y) + Math.abs(z) > 32) { txv.setText(“手機搖晃");

修改專案程式碼 public void onSensorChanged(SensorEvent event){ float x, y, z; x = event.values[0]; y = event.values[1]; z = event.values[2]; //txv.setText(String.format("x軸: %1.2f, y軸: %1.2f, z軸: %1.2f", x, y, z)); if (Math.abs(x)<1 && Math.abs(y)<1 && z<-9) { txv.setText("朝下平放"); } else if (Math.abs(x) + Math.abs(y) + Math.abs(z) > 32){ txv.setText("手機搖晃");