传感器与LBS

传感器

通过手机硬件获知光感应、加速度感应等。

1、主要使用在哪些方面?

摇一摇:摆动的加速度;狂野飙车

2、常用传感器有哪些?

3、如何使用这些传感器?

代码举例(图标根据手机旋转进行反向旋转):

/* 实现SensorEventListener,重写2个方法 */
public class MainActivity extends AppCompatActivity implements SensorEventListener {

    private ImageView mSensorImageView;
    private Sensor mSensor;
    private SensorManager mSensorManager;
    private float mStartDegree = 0f;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mSensorImageView = (ImageView) findViewById(R.id.sensor_imageView);

        /* 获取SensorManager对象 */
        mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
       /* 获取Sensor对象,参数决定是哪一种类型的传感器*/
        mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
    }

    /* onResume方法里注册Sensor对象 */
    @Override
    protected void onResume() {
        super.onResume();
        mSensorManager.registerListener(this,mSensor,SensorManager.SENSOR_DELAY_UI);
    }

    /* onPause方法里注销Sensor对象 */
    @Override
    protected void onPause() {
        super.onPause();
        mSensorManager.unregisterListener(this);
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_ORIENTATION){
            float degree = - event.values[0];
            RotateAnimation rotateAnimation = new RotateAnimation(
                    mStartDegree,degree, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
            rotateAnimation.setDuration(300);
            mSensorImageView.startAnimation(rotateAnimation);
            mStartDegree = degree;
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
}

使用传感器的注意事项:

针对是否有传感功能优化:

方法一

 if (mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION)!= null){
            //success
        }else{//传感器不存在}

方法二

在android市场过滤器来限定目标设备必须带有指定的传感器配置(如果手机没有传感器,则不能下载安装该app)

使用注意事项:

传感器项目:


LBS

1、什么是LBS定位功能?

LBS基于位置服务;

微信(附近的人、我的位置、发送我的位置)

大众点评(基于位置的餐厅)

2、主要使用在哪些方面?

签到

定位

导航

路线图

周边生活服务的搜索

社交

附近的人

附近的好吃的

与旅游的结合

3、地图定位

android是Google的,故提供Google Map。

系统提供的服务是基于Google Map的。

但有很多局限性。

如何接百度地图SDK(接第三方SDK)

1、在百度地图开放平台;(谷歌百度地图开放平台http://lbsyun.baidu.com/index.php?title=androidsdk

2、申请秘钥

3、根据说明集成代码(查找SDK、查找知识库、联系开发人员)

时间: 2024-11-13 10:23:59

传感器与LBS的相关文章

Android学习第十周_传感器和LBS

1.传感器的基本介绍 通过硬件的物理特性获取压力,重力,光感应,加速度等信息.主要应用于摇一摇等手机应用上面. 2.Android手机上常用的传感器 在android2.3 gingerbread系统中,google提供了传感器供应用层使用 SENSOR_TYPE_ACCELEROMETER 1 //加速度 SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力 SENSOR_TYPE_ORIENTATION 3 //方向 SENSOR_TYPE_GYROSCOPE 4 //陀螺仪

AppCan 移动应用引擎开源说明 + 下载地址

亲爱的广大开发者: AppCan于12月23日下午15点,全面开源服务平台应用引擎   AppCan 源码托管地址: https://github.com/AppCanOpenSource iOS引擎: https://github.com/AppCanOpenSource/appcan-ios Android引擎: https://github.com/AppCanOpenSource/appcan-android 关于AppCan引擎开源协议AppCan引擎开源遵循LGPL宽通用公共许 可

AppCan 移动应用引擎开源说明和下载地址

AppCan 源码托管地址: https://github.com/AppCanOpenSource iOS引擎: https://github.com/AppCanOpenSource/appcan-ios Android引擎: https://github.com/AppCanOpenSource/appcan-android 关于AppCan引擎开源协议AppCan引擎开源遵循LGPL宽通用公共许 可 证协议第三版:英文版 [应用引擎的技术原理] 通过对各大手机操作系统(如iOS.Andr

【高德LBS开源组件大赛】Android目的地雷达

开源组件名称 目的地雷达 开元组件说明及使用场景 使用高德地图查找目的地,获得经纬度后,计算自身与这些位置之间的距离,并显示在屏幕上.适用于需要得到自身与目的地之间距离的直观信息的场景. 开源组件所使用的技术 1,高德地图. 2,Camera预览. 3,地理位置与距离的换算. 4,方向传感器的使用. Git代码托管地址 https://git.oschina.net/greatleghair/walker/tree/master/Walkers 开源组件截图以及安装二维码 注:其实第三张图片的背

传感器到底需要什么样的电路板

传感器,英文名称transducer,是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输.处理.存储.显示.记录和控制等要求. 按照制造工艺来分类的话: 集成传感器是用标准的生产硅基半导体集成电路的工艺技术制造的.通常还将用于初步处理被测信号的部分电路也集成在同一芯片上,例如现在大力发展的MEMS传感器. 薄膜传感器则是通过沉积在介质衬底(基板)上的,相应敏感材料的薄膜形成的.使用混合工艺时,同样可将部分电路制造在此基板上

进阶篇-安卓系统:4.安卓手机动作传感器

动作传感器对于监测设备的移动非常有用,例如:倾斜.震动.旋转和摆动都属于动作传感器的监测范围.设备的移动通常是对用户输入的直接反应. 所有动作传感器都会返回三个浮点数的值,对于不同的传感器,这三个值的意义不同.例如,对于加速度传感器,会返回三个坐标轴的加速数据.对于陀螺仪传感器,会返回三个坐标周的旋转角速度. 动作传感器的使用与数据返回:加速度传感器 如果单纯的使用加速度传感器传回的数据,会发现Z轴的的加速度是9.8多.所以看来安卓是把静止的手机竖直加速度默认为重力加速度,并且XY轴的数据也不是

Android12_播放器_surfaceVIew_照相机_传感器

编程的时间与空间的概念,两者不可兼得(技术固定),时间换空间,空间换时间 sufaceView占用比较大的空间但是效率高 1,音乐播放器 MediaPlayer ①同步的 大致流程按下图走即可,播放最好写在服务里,因为要在后台播放 1.1 new出来的mediaplayer 默认处于Idie(空闲),reset()也可以让其处于初始状态 1.2 setDataSource()设置好文件之后就处于Initialized()初始化状态 1.3 可以通过setOnErrorListener方法查看播放

传感器网络的路由

1.传感器网络的路由特点 传感器网络作为一种自组织的动态网络,当节点失效.新节点加入导致网络拓扑结构动态变化时需要网络能够自动愈合.传感器网络中路由的关键技术就是多跳自组织的网络路由协议,另外传感器网络中的路由机制还需要与数据融合技术联系在一起.根据不同的传感器网络应用,一共有四种思想的路由协议.能量感知路由是高效利用网络能量的路由协议,它侧重点是最少能量消耗和最长网络生存期等问题:基于查询的路由比较适合环境检测方面的应用,在这类应用中需要不断地的查询传感器节点采集的数据,通信流量集中在汇聚节点

Android基础入门教程——10.12 传感器专题(3)——加速度-陀螺仪传感器

Android基础入门教程--10.12 传感器专题(3)--加速度/陀螺仪传感器 标签(空格分隔): Android基础入门教程 本节引言: 本节继续来扣Android中的传感器,本节带来的是加速度传感器(Accelerometer sensor)以及 陀螺仪传感器(Gyroscope sensor),和上一节的方向传感器一样有着x,y,z 三个轴, 还是要说一点:x,y轴的坐标要和绘图那里的x,y轴区分开来!传感器的是以左下角 为原点的!x向右,y向上!好的,带着我们的套路来学本节的传感器吧