geekband android #5 第十周分享

1.传感器的几个概念:

什么是传感器?

通过手机来感受温度,湿度,重力,方向,光线等传感方式。

手机上那些地方运用了传感器?

传感器在手机上广泛的应用,如游戏,微信摇一摇,心率计,计步器等等。

常用的传感器有那些?

SENSOR_TYPE_ACCELEROMETER                 //加速度

SENSOR_TYPE_MAGNETIC_FIRLD                 //磁力

SENSOR_TYPE_ORIENTATION                         //方向

SENSOR_TYPE_GYROSCOPE                         //陀螺仪

SENSOR_TYPE_LIGHT                                         //光线感应

SENSOR_TYPE_PRESSURE                                 //压力

SENSOR_TYPE_TEMPERATURE                         //温度

SENSOR_TYPE_PROXIMITY                                 //接近

SENSOR_TYPE_GRAVITY                                 //重力

SENSOR_TYPE_LINEAR_ACCELERATION         //线性加速度

SENSOR_TYPE_ROTATION_VECTOR                 //旋转矢量

2.如何使用传感器:

//第一步,获取SensorManager对象
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

//第二部,获取传感器对象
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);

@Override
//第三步,在onResume时注册
protected void onResume() {
    super.onResume();
    mSensorManager.registerListener(this , mSensor ,SensorManager.SENSOR_DELAY_UI);
}

//第四步,重写onSensorChanged,onAccuracyChanged两个方法
@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_ORIENTATION){    //判断使用哪一种传感方式
        float degree = - event.values[0];

        RotateAnimation rotateAnimation = new RotateAnimation(    //使用一个旋转动画RotateAnimation
                mStartDegree, degree , Animation.RELATIVE_TO_SELF, 0.5f , Animation.RELATIVE_TO_SELF , 0.5f
        );
        rotateAnimation.setDuration(300);    //给一个旋转持续时间
        mImageView.startAnimation(rotateAnimation);
        mStartDegree = degree;
    }
}

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

}
@Override
//第五步,在onPause时注销
protected void onPause() {
    super.onPause();
    mSensorManager.unregisterListener(this);
}

3.关于LBS的几个概念:

什么是LBS?

它是一种基于位置的服务。

那些地方用到了LBS?

微信,QQ,陌陌,饿了吗,美团,携程,去哪儿网等等。

主要使用在那些方面?

签到,定位,导航,周边的生活服务,社交等等。

4.LBS使用方法:

a、到百度地图申请新版本的key,老版本的也可以使用。



http://developer.baidu.com/map/geosdk-android-key.htm

b、在manifes中添加权限,具体参考

<!-- 使用定位所需权限 -->

<permission Android:name="android.permission.BAIDU_LOCATION_SERVICE" >

</permission>

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.READ_LOGS" />

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

在manifest中添加定位所需要的service

<service

android:name="com.baidu.location.f"

android:enabled="true"

android:process=":remote" >

</service>

在application标签中添加你锁申请的key

<meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="15xihyx7BjNPAuvrAgade2Wo" />

c、在Activity中代码的实现,具体参考

http://blog.csdn.net/xiaanming/article/details/11380619

时间: 2024-08-06 12:58:20

geekband android #5 第十周分享的相关文章

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 //陀螺仪

Android学习 第十周

SharedPreferences保存用户偏好参数 使用SharedPreferences(保存用户偏好参数)保存数据, 当我们的应用想要保存用户的一些偏好参数,比如是否自动登陆,是否记住账号密码,是否在Wifi下才能 联网等相关信息,如果使用数据库的话,显得有点大材小用了!我们把上面这些配置信息称为用户的偏好 设置,就是用户偏好的设置,而这些配置信息通常是保存在特定的文件中!比如windows使用ini文件, 而J2SE中使用properties属性文件与xml文件来保存软件的配置信息;而在A

Android进阶(二十八)上下文菜单ContextMenu使用案例

上下文菜单ContextMenu使用案例 前言 回顾之前的应用程序,发现之前创建的选项菜单无法显示了.按照正常逻辑来说,左图中在"商品信息"一栏中应该存在选项菜单,用户可进行分享等操作,但是现在此操作莫名其妙的消失了.写了个测试Demo,如中图所示,一切按照逻辑显示正常.怪就怪在项目中无法显示,起初设想是因为Android系统版本太高问题,但是在别的手机上测试之后发现问题依旧存在.难道是因为顶部Tab标题栏遮挡住了选项菜单的显示?继续测试,通过在别的没有Tab标题栏的页面测试选项菜单,

有史来最大改变 Android 5.0十大新特性

有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 ) 距离Android系统上一次重大更新不到一年的时间,谷歌再一次从KitKat升级到了Lollipop,而两次都使用糖果来命名,营销的目的显露无 遗.当我们首次看到Android 5.0 Lollipop这个名字的时候,就已经意识到这将是Android系统有史以来变化最大的一次升级. 首先,在感官界面设计上,我们彻底迎来了Android系统的扁平化时代,新的系

ARTS第十周

ARTS第十周 ARTS是什么? Algorithm:每周至少做一个leetcode的算法题: Review:阅读并点评至少一篇英文技术文章: Tip/Techni:学习至少一个技术技巧: Share:分享一篇有观点和思考的技术文章. Algorithm 题目:20. Valid Parentheses 解题思路 1.根据题意需要进行括号配对,当遇到左括号的时候需要存起来,以便遇到右括号的时候去取出来进行配对:当遇到右括号的时候就直接去和保存的左括号进行配对. 2.根据配对的特性我们采用栈这种数

2019-2020-1学期20192423《网络空间安全专业导论》第十周学习总结

2019-2020-1学期20192423<网络空间安全专业导论>第十周学习总结 一.内容总结 第四章 信息安全 (一)操作系统概述 计算机操作系统功能主要包括: 进程管理:主要负责对中央处理器的时间进行合理分配.对处理器的运行进行有效的管理. 内存管理:主要负责对计算机内存空间进行合理分配.保护和扩充,用于解决多道进程共享内存资源时的冲突,并通过有效的管理方式提高计算机内存空间利用率. 设备管理:根据一定的分配原则对计算机的硬件设备进行调度和分配,使设备与计算机能够并行工作,为用户提供良好的

第十周周总结

周数 专业学习目标 专业学习时间 新增代码量 人文方面的学习 知识技能总结 第 十 周 数据结构: 树,二叉树 5h 400左右 <只有偏执狂才能生存> 区分树的各种表示法以及树的三种遍历 WEB:事件处理的相关事件 5h 400左右 完成事件处理的键盘鼠标相关事件

Android应用中实现系统“分享”接口

在android下各种文件管理器中,我们选择一个文件,点击分享可以看到弹出一些app供我们选择,这个是android系统分享功能,我们做的app也可以出现在这个列表中.   第一步:在Manifest.xml进行配置,比普通的activity中多增加一个Intent过滤器 <activity android:name="com.example.share.MainActivity" android:label="@string/app_name" > &

20155335俞昆《java程序设计》第十周总结

学号 2016-2017-2 <Java程序设计>第十周学习总结 ## 事实上网络编程,我们可以简单的理解为两台计算机相互通讯数据而已,对于程序员而言,掌握一种编程接口并使用一种编程模型相对而言就简单多了,javaSDK提供了一些相对简单的Api来完成12这些工作,Socket就是其中之一,对于java而言,Api的存在和java.net包里面.因此只要导入这个包就可以准备网络编程了. 客户机到服务机的模型就是网络编程的基本模型,简单的说就是引进这两个进程之间的相互通信,其中一个必须提供固定的