首页

安卓传感器使用例子源码(指南针/重力感应/温度感应/压力感应/磁力/光传感器)

java

2020-8-10

非常强大的11种安卓传感器使用例子集合源码,包括加速度传感器、磁力传感器、方向传感器、陀螺仪传感器、光线感应压力传感器、温度传感器、接近,近距离传感器、重力传感器、线性加速度传感器、旋转矢量传感器等11种安卓手机传感器的使用。

涉及模块&技术
传感器

非常强大的11种安卓传感器使用例子集合源码,包括加速度传感器、磁力传感器、方向传感器、陀螺仪传感器、光线感应压力传感器、温度传感器、接近,近距离传感器、重力传感器、线性加速度传感器、旋转矢量传感器等11种安卓手机传感器的使用。
涉及模块&技术
传感器

1、传感器入门 
自从苹果公司在2007年发布第一代iPhone以来,以前看似和手机挨不着边的传感器也逐渐成为手机硬件的重要组成部分。如果读者使用过iPhone、HTC Dream、HTC Magic、HTC Hero以及其他的Android手机,会发现通过将手机横向或纵向放置,屏幕会随着手机位置的不同而改变方向。这种功能就需要通过重力传感器来实现,除了重力传感器,还有很多其他类型的传感器被应用到手机中,例如磁阻传感器就是最重要的一种传感器。虽然手机可以通过GPS来判断方向,但在GPS信号不好或根本没有GPS信号的情况下,GPS就形同虚设。这时通过磁阻传感器就可以很容易判断方向(东、南、西、北)。有了磁阻传感器,也使罗盘(俗称指向针)的电子化成为可能。 
在Android应用程序中使用传感器要依赖于android.hardware.SensorEventListener接口。通过该接口可以监听传感器的各种事件。SensorEventListener接口的代码如下: 
Java代码  收藏代码
package android.hardware;  
  
public interface SensorEventListener   
  
{  
  
    public void onSensorChanged(SensorEvent event);  
  
    public void onAccuracyChanged(Sensor sensor, int accuracy);      
  
}  
在SensorEventListener接口中定义了两个方法:onSensorChanged和onAccuracyChanged。当传感器的值发生变化时,例如磁阻传感器的方向改变时会调用onSensorChanged方法。当传感器的精度变化时会调用onAccuracyChanged方法。 
onSensorChanged方法只有一个SensorEvent类型的参数event,其中SensorEvent类有一个values变量非常重要,该变量的类型是float[]。但该变量最多只有3个元素,而且根据传感器的不同,values变量中元素所代表的含义也不同。 

在解释values变量中元素的含义之前,先来介绍一下Android的坐标系统是如何定义X、Y、Z轴的。 
X轴的方向是沿着屏幕的水平方向从左向右。如果手机不是正方形的话,较短的边需要水平放置,较长的边需要垂直放置。 
Y轴的方向是从屏幕的左下角开始沿着屏幕的垂直方向指向屏幕的顶端。 
将手机平放在桌子上,Z轴的方向是从手机里指向天空。 
下面是values变量的元素在主要的传感器中所代表的含义。 

1.1方向传感器 
在方向传感器中values变量的3个值都表示度数,它们的含义如下: 
values[0]:该值表示方位,也就是手机绕着Z轴旋转的角度。0表示北(North);90表示东(East);180表示南(South);270表示西(West)。如果values[0]的值正好是这4个值,并且手机是水平放置,表示手机的正前方就是这4个方向。可以利用这个特性来实现电子罗盘,实例76将详细介绍电子罗盘的实现过程。 

values[1]:该值表示倾斜度,或手机翘起的程度。当手机绕着X轴倾斜时该值发生变化。values[1]的取值范围是-180≤values[1] 
≤180。假设将手机屏幕朝上水平放在桌子上,这时如果桌子是完全水平的,values[1]的值应该是0(由于很少有桌子是绝对水平的,因此,该值很可能不为0,但一般都是-5和5之间的某个值)。这时从手机顶部开始抬起,直到将手机沿X轴旋转180度(屏幕向下水平放在桌面上)。在这个旋转过程中,values[1]会在0到-180之间变化,也就是说,从手机顶部抬起时,values[1]的值会逐渐变小,直到等于-180。如果从手机底部开始抬起,直到将手机沿X轴旋转180度,这时values[1]会在0到180之间变化。也就是values[1]的值会逐渐增大,直到等于180。可以利用values[1]和下面要介绍的values[2]来测量桌子等物体的倾斜度。 

values[2]:表示手机沿着Y轴的滚动角度。取值范围是-90≤values[2]≤90。假设将手机屏幕朝上水平放在桌面上,这时如果桌面是平的,values[2]的值应为0。将手机左侧逐渐抬起时,values[2]的值逐渐变小,直到手机垂直于桌面放置,这时values[2]的值是-90。将手机右侧逐渐抬起时,values[2]的值逐渐增大,直到手机垂直于桌面放置,这时values[2]的值是90。在垂直位置时继续向右或向左滚动,values[2]的值会继续在-90至90之间变化。 
1.2加速传感器 
    该传感器的values变量的3个元素值分别表示X、Y、Z轴的加速值。例如,水平放在桌面上的手机从左侧向右侧移动,values[0]为负值;从右向左移动,values[0]为正值。读者可以通过本节的例子来体会加速传感器中的值的变化。要想使用相应的传感器,仅实现SensorEventListener接口是不够的,还需要使用下面的代码来注册相应的传感器。 
Java代码  收藏代码
//  获得传感器管理器  
  
SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE);  
  
//  注册方向传感器  
  
sm.registerListener(this,  
  
sm.getDefaultSensor(Sensor.TYPE_ORIENTATION),  
  
SensorManager.SENSOR_DELAY_FASTEST);  
如果想注册其他的传感器,可以改变getDefaultSensor方法的第1个参数值,例如,注册加速传感器可以使用Sensor.TYPE_ACCELEROMETER。在Sensor类中还定义了很多传感器常量,但要根据手机中实际的硬件配置来注册传感器。如果手机中没有相应的传感器硬件,就算注册了相应的传感器也不起任何作用。getDefaultSensor方法的第2个参数表示获得传感器数据的速度。SensorManager.SENSOR_DELAY_ FASTEST表示尽可能快地获得传感器数据。除了该值以外,还可以设置3个获得传感器数据的速度值,这些值如下: 
SensorManager.SENSOR_DELAY_NORMAL:默认的获得传感器数据的速度。 
SensorManager.SENSOR_DELAY_GAME:如果利用传感器开发游戏,建议使用该值。 
SensorManager.SENSOR_DELAY_UI:如果使用传感器更新UI中的数据,建议使用该值。 
1.3重力感应器 
加速度传感器的类型常量是Sensor.TYPE_GRAVITY。重力传感器与加速度传感器使用同一套坐标系。values数组中三个元素分别表示了X、Y、Z轴的重力大小。Android SDK定义了一些常量,用于表示星系中行星、卫星和太阳表面的重力。下面就来温习一下天文知识,将来如果在地球以外用Android手机,也许会用得上。 
Java代码  收藏代码
public static final float GRAVITY_SUN= 275.0f;  
  
public static final float GRAVITY_MERCURY= 3.70f;  
  
public static final float GRAVITY_VENUS= 8.87f;  
  
public static final float GRAVITY_EARTH= 9.80665f;  
  
public static final float GRAVITY_MOON= 1.6f;  
  
public static final float GRAVITY_MARS= 3.71f;  
  
public static final float GRAVITY_JUPITER= 23.12f;  
  
public static final float GRAVITY_SATURN= 8.96f;  
  
public static final float GRAVITY_URANUS= 8.69f;  
  
public static final float GRAVITY_NEPTUNE= 11.0f;  
  
public static final float GRAVITY_PLUTO= 0.6f;  
  
public static final float GRAVITY_DEATH_STAR_I= 0.000000353036145f;  
  
public static final float GRAVITY_THE_ISLAND= 4.815162342f;  

1.4 光线传感器 
光线传感器的类型常量是Sensor.TYPE_LIGHT。values数组只有第一个元素(values[0])有意义。表示光线的强度。最大的值是120000.0f。Android SDK将光线强度分为不同的等级,每一个等级的最大值由一个常量表示,这些常量都定义在SensorManager类中,代码如下: 
Java代码  收藏代码
public static final float LIGHT_SUNLIGHT_MAX =120000.0f;  
  
public static final float LIGHT_SUNLIGHT=110000.0f;  
  
public static final float LIGHT_SHADE=20000.0f;  
  
public static final float LIGHT_OVERCAST= 10000.0f;  
  
public static final float LIGHT_SUNRISE= 400.0f;  
  
public static final float LIGHT_CLOUDY= 100.0f;  
  
public static final float LIGHT_FULLMOON= 0.25f;  
  
public static final float LIGHT_NO_MOON= 0.001f;  
上面的八个常量只是临界值。读者在实际使用光线传感器时要根据实际情况确定一个范围。例如,当太阳逐渐升起时,values[0]的值很可能会超过LIGHT_SUNRISE,当values[0]的值逐渐增大时,就会逐渐越过LIGHT_OVERCAST,而达到LIGHT_SHADE,当然,如果天特别好的话,也可能会达到LIGHT_SUNLIGHT,甚至更高。 
1.5陀螺仪传感器 
   陀螺仪传感器的类型常量是Sensor.TYPE_GYROSCOPE。values数组的三个元素表示的含义如下:values[0]:延X轴旋转的角速度。 
values[1]:延Y轴旋转的角速度。 
values[2]:延Z轴旋转的角速度。 
当手机逆时针旋转时,角速度为正值,顺时针旋转时,角速度为负值。陀螺仪传感器经常被用来计算手机已转动的角度,代码如下:private static final float NS2S = 1.0f / 1000000000.0f; 
Java代码  收藏代码
private float timestamp;  
  
public void onSensorChanged(SensorEvent event)  
  
{  
  
    if (timestamp != 0)   
  
    {  
  
    //  event.timesamp表示当前的时间,单位是纳秒(1百万分之一毫秒)  
  
              final float dT = (event.timestamp – timestamp) * NS2S;  
  
              angle[0] = event.values[0] * dT;  
  
              angle[1] = event.values[1] * dT;  
  
              angle[2] = event.values[2] * dT;  
  
     }  
  
     timestamp = event.timestamp;  
  
}  
上面代码中通过陀螺仪传感器相邻两次获得数据的时间差(dT)来分别计算在这段时间内手机延X、 Y、Z轴旋转的角度,并将值分别累加到angle数组的不同元素上。 

1.6其他传感器 
其他传感器在前面几节介绍了加速度传感器、重力传感器、光线传感器、陀螺仪传感器以及方向传感器。除了这些传感器外,Android SDK还支持如下的几种传感器。关于这些传感器的使用方法以及与这些传感器相关的常量、方法,读者可以参阅官方文档。 
近程传感器(Sensor.TYPE_PROXIMITY) 
线性加速度传感器(Sensor.TYPE_LINEAR_ACCELERATION) 
旋转向量传感器(Sensor.TYPE_ROTATION_VECTOR) 
磁场传感器(Sensor.TYPE_MAGNETIC_FIELD) 
压力传感器(Sensor.TYPE_PRESSURE) 
温度传感器(Sensor.TYPE_TEMPERATURE) 
虽然AndroidSDK定义了十多种传感器,但并不是每一部手机都完全支持这些传感器。例如,Google Nexus S支持其中的9种传感器(不支持压力和温度传感器),而HTC G7只支持其中的5种传感器。如果使用了手机不支持的传感器,一般不会抛出异常,但也无法获得传感器传回的数据。读者在使用传感器时最好先判断当前的手机是否支持所使用的传感器。 

2. 测试手机中有哪些传感器(作者:银河使者) 
我们可以通过如下三步使用传感器。 
(1)编写一个截获传感器事件的类。该类必须实现android.hardware.SensorEventListener接口。 
(2)获得传感器管理对象(SensorManager对象)。 
(3)使用SensorManager.registerListener方法注册指定的传感器。 
通过上面三步已经搭建了传感器应用程序的框架。而具体的工作需要在SensorEventListener接口的onSensorChanged和onAccuracyChanged方法中完成。SensorEventListener接口的定义如下:packageandroid.hardware; 
Java代码  收藏代码
public interfaceSensorEventListener   
  
{  
  
//传感器数据变化时调用  
  
public void onSensorChanged(SensorEventevent);  
  
//传感器精确度变化时调用  
  
public void onAccuracyChanged(Sensorsensor, int accuracy);  
  
}  

SensorManager对象通过getSystemService方法获得,代码如下:SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
复制代码通常手机中包含了若干个传感器模块(如方向传感器、光线传感器等),因此,注册传感器需要指定传感器的类型,如下面的代码注册了光线传感器。
Java代码  收藏代码
sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT),  
  
SensorManager.SENSOR_DELAY_FASTEST);  
registerListener方法有三个参数。第1个参数是实现SensorEventListener接口的对象。第2个参数用于指定传感器的类型。AndroidSDK预先定义了表示各种传感器的常量,这些常量都被放在Sensor类中。例如,上面代码中的Sensor.TYPE_LIGHT。第3个参数表示传感器获得数据的速度。该参数可设置的常量如下: 
SENSOR_DELAY_FASTEST:以最快的速度获得传感器数据。 
SENSOR_DELAY_GAME:适合于在游戏中获得传感器数据。 
SENSOR_DELAY_UI:适合于在UI控件中获得传感器数据。 
SENSOR_DELAY_NORMAL:以一般的速度获得传感器的数据。 
上面四种类型获得传感器数据的速度依次递减。从理论上说,获得传感器数据的速度越快,消耗的系统资源越大。因此建议读者根本实际情况选择适当的速度获得传感器的数据。 
如果想停止获得传感器数据,可以使用unregisterSensor方法注销传感器事件对象。
Java代码  收藏代码
unregisterSensor方法的定义如下:  
public voidunregisterListener(SensorEventListener listener)  
  
public voidunregisterListener(SensorEventListener listener, Sensor sensor)  
unregisterSensor方法有两个重载形式。第一个重载形式用于注销所有的传感器对象。第二个重载形式用于注销指定传感器的事件对象。其中Sensor对象通过SensorManager.getDefaultSensor方法获得。getDefaultSensor方法只有一个int类型的参数,表示传感器的类型。如Sensor.TYPE_LIGHT表示光线传感器。 
注意:一个传感器对像可以处理多个传感器。也就是说,一个实现SensorEventListener接口的类可以接收多个传感器传回的数据。为了区分不同的传感器,需要使用Sensor.getType方法来获得传感器的类型。getType方法的将在本节的例子中详细介绍。 
通过SensorManager.getSensorList方法可以获得指定传感器的信息,也可以获得手机支持的所有传感器的信息,代码如下 
Java代码  收藏代码
//获得光线传感器  
  
List<Sensor>sensors = sensorManager.getSensorList(Sensor.TYPE_LIGHT);  
  
//获得手机支持的所有传感器  
  
List<Sensor>sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);  
下面给出一个完整的例子来演示如何获得传感器传回的数据。本例从如下4个传感器获得数据,同时输出了测试手机中支持的所有传感器名称。 
加速度传感器(Sensor.TYPE_ACCELEROMETER) 
磁场传感器(Sensor.TYPE_MAGNETIC_FIELD) 
光线传感器(Sensor.TYPE_LIGHT) 
方向传感器(TYPE_ORIENTATION) 
本例需要在真机上运行。由于不同的手机可能支持的传感器不同(有的手机并不支持Android SDK中定义的所有传感器),因此,如果运行程序后,无法显示某个传感器的数据,说明当前的手机并不支持这个传感器。笔者已使用Google Nexus S测试了本例。如果读者使用的也是GoogleNexus S,则会输出如图1类似的信息。 

图1 获得传感器传回的数据 

资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
FriendlyReminder/.classpath , 712
FriendlyReminder/.project , 852
FriendlyReminder/.settings/org.eclipse.jdt.core.prefs , 177
FriendlyReminder/.svn/entries , 3
FriendlyReminder/.svn/format , 3
FriendlyReminder/.svn/pristine/07/07d0fb2d28686076c1ee67884ae032d63ae8b599.svn-base , 4108
FriendlyReminder/.svn/pristine/09/091b2e5aee6fca3f12984f8a8e402ab5eea5cbfc.svn-base , 2682
FriendlyReminder/.svn/pristine/0b/0b7aee00398acfb5a97348271e9e3b666f067f66.svn-base , 1490
FriendlyReminder/.svn/pristine/10/1084cbc796ad09615779190b28fb82bf61a33c1f.svn-base , 502
FriendlyReminder/.svn/pristine/10/10dbd1d716e490431be0e0bb33522a48c43ce62f.svn-base , 364
FriendlyReminder/.svn/pristine/10/10e6e2e4786dc34083c47b574d164731f1fd9db0.svn-base , 51394
FriendlyReminder/.svn/pristine/14/14bbf901619e107711b3b7d7efb0b8ab905c0619.svn-base , 13584
FriendlyReminder/.svn/pristine/17/173ac97d303a47e1bef548594447c73ab5310180.svn-base , 4172
FriendlyReminder/.svn/pristine/18/183690305a9a1b5b8956af78745b40076c0d2441.svn-base , 655
FriendlyReminder/.svn/pristine/19/1952605b1dc7cef91c4e1f95bd5858d2ad77e664.svn-base , 518
FriendlyReminder/.svn/pristine/1e/1ef15bffe8e288a2fbe807adeee592fc94e431a4.svn-base , 3543
FriendlyReminder/.svn/pristine/20/20762bf658c56525fbe15111fd517ff40232e578.svn-base , 1415
FriendlyReminder/.svn/pristine/22/22c5888a80b6221ae4ac795919403493ca4caa6c.svn-base , 2818
FriendlyReminder/.svn/pristine/26/2669873f891113a8f45506e825d0215306e95405.svn-base , 781
FriendlyReminder/.svn/pristine/28/2881f530265b01963542bec541ed1d9f78609b45.svn-base , 450
FriendlyReminder/.svn/pristine/28/28f01c89e24f28eb6b896363586a35697354b144.svn-base , 168
FriendlyReminder/.svn/pristine/30/309fec65e9adfa5b2a5f8a87b9c924140f4bbf70.svn-base , 2080
FriendlyReminder/.svn/pristine/34/34bbc7f2fe1973b68b2029d4fadc9194f40a2317.svn-base , 3600
FriendlyReminder/.svn/pristine/37/374ce63ff1d6d11121bbf1a485862bf01a3266ad.svn-base , 361
FriendlyReminder/.svn/pristine/43/434c834abf1838e75dfe326f3edf2afae8eb09b6.svn-base , 1640
FriendlyReminder/.svn/pristine/46/460d40a215444f3bed86426d7ba8abfda568dc04.svn-base , 1309
FriendlyReminder/.svn/pristine/49/4918fa10a9935a7e32d7770b49c433560c8b978b.svn-base , 496
FriendlyReminder/.svn/pristine/49/4940528b35c10030153acef28ba796925a941ac8.svn-base , 2044
FriendlyReminder/.svn/pristine/4a/4a6c40c8862cd97463d9c0cd5170ac9fb8b87467.svn-base , 2047
FriendlyReminder/.svn/pristine/4a/4abeb2d118aa91aa00006f74d375ad07fffcbfdc.svn-base , 3823
FriendlyReminder/.svn/pristine/4a/4aec4421ac87ab1faf82831aa2506acd072bd80f.svn-base , 3867
FriendlyReminder/.svn/pristine/4c/4c909ee06785845a1895904d42fe444d782bbd49.svn-base , 1770
FriendlyReminder/.svn/pristine/4c/4cd74d837b3ab3513d271c214080e4b16ffc2ef0.svn-base , 150
FriendlyReminder/.svn/pristine/51/5170d09a96c468071c1ffbc890a6b988614d4df8.svn-base , 2041
FriendlyReminder/.svn/pristine/54/5444d53d7b598601f221810c3f2f0345eee736b9.svn-base , 2059
FriendlyReminder/.svn/pristine/55/55e4bb7c0dabda4e6701ca6421599476cdb1ae12.svn-base , 15839
FriendlyReminder/.svn/pristine/56/5691ab61d395ba80337342127e8c04ddac1150a2.svn-base , 203
FriendlyReminder/.svn/pristine/5b/5b4ca1ab2d2f727d0732d29fc6f3c0084e0b2de2.svn-base , 785
FriendlyReminder/.svn/pristine/5f/5fcf651d13714fc9efcfcab9faacf656df38abea.svn-base , 563
FriendlyReminder/.svn/pristine/60/6081f083b85b2f099d097ba61eb4a8e4152ad09c.svn-base , 350426
FriendlyReminder/.svn/pristine/64/64fd16cf5359ee7aee4d88da270722c1bc0ac5ec.svn-base , 3026
FriendlyReminder/.svn/pristine/66/66ecb19d7fcc0da3e47294e8772fd876c0a61372.svn-base , 2880
FriendlyReminder/.svn/pristine/67/6717610abbabbb4421f723d6d363af9c3718db4d.svn-base , 852
FriendlyReminder/.svn/pristine/69/690cde5707c5c0ba98d5983de4b9d7a552d2b906.svn-base , 1653572
FriendlyReminder/.svn/pristine/6a/6a2ee9ee2d44f69d61b69245f5690a49a46982ed.svn-base , 3934
FriendlyReminder/.svn/pristine/6a/6a4fbe3b503672aa621a1febbb9c0a5ac5984f22.svn-base , 2994
FriendlyReminder/.svn/pristine/6c/6cbc2a73bf4dd13a36834ab55cc1d24fe502dafa.svn-base , 3092
FriendlyReminder/.svn/pristine/6e/6ef9e1b470aa064a583e58cd9ed3eb1d34111fc2.svn-base , 289
FriendlyReminder/.svn/pristine/75/7590c348d57fd54a6877187df280b6df447acdfa.svn-base , 1646
FriendlyReminder/.svn/pristine/75/759349c0bca4da29044e5d8ef385b470b92b4eba.svn-base , 2823
FriendlyReminder/.svn/pristine/79/79122cab83d94501adb144ce01b04c29cfe1efb6.svn-base , 4285
FriendlyReminder/.svn/pristine/7b/7b3a02a6a97481973fde4f625091fa95a859c18e.svn-base , 1282
FriendlyReminder/.svn/pristine/7c/7cbb0a80689da95c9758ccbb9b8632edc6630476.svn-base , 2574
FriendlyReminder/.svn/pristine/7e/7e78158089be3457bd94de5a99744d2f3f61bd57.svn-base , 2870
FriendlyReminder/.svn/pristine/7e/7e93dde0e42dac50bf1de8d81d1132d164f9fe5c.svn-base , 1758
FriendlyReminder/.svn/pristine/7e/7ea1256f8d4b5bf200a2bf512408bd224faf02c9.svn-base , 342
FriendlyReminder/.svn/pristine/82/82b35720079112abfc099ae92ec4a4f35d190211.svn-base , 391
FriendlyReminder/.svn/pristine/83/83ded14cdff196da97a2e0fa16d9415228191fa7.svn-base , 24777
FriendlyReminder/.svn/pristine/84/84af9ddfa96fc83c91f99648c61931a508b85353.svn-base , 412
FriendlyReminder/.svn/pristine/85/85a076871ddeb67469a93ef2bd6b86567b412b15.svn-base , 327
FriendlyReminder/.svn/pristine/88/88d444bc4245c53a5de1f1bee77c5bda3a09b202.svn-base , 3053
FriendlyReminder/.svn/pristine/8f/8fcbd6375e2dd1996cedaaf7e3a8950364b886a0.svn-base , 7658
FriendlyReminder/.svn/pristine/92/92180b4b0db894517d6c00a34aeffb231fb6c1dc.svn-base , 475
FriendlyReminder/.svn/pristine/92/92d3728152e56a520dc23daad51a778ce35448aa.svn-base , 7154
FriendlyReminder/.svn/pristine/93/93bcab17a32d17746da3b4f3e06ccc7708e21973.svn-base , 1900
FriendlyReminder/.svn/pristine/94/942edc365cf8910379351f1df4c345b3785a50de.svn-base , 1760
FriendlyReminder/.svn/pristine/96/96563ab83d3973ce5b6e76e4790e8928eb94b299.svn-base , 2562
FriendlyReminder/.svn/pristine/98/98b66fdda8255fcf8ded6b705517aa48216218d6.svn-base , 12516
FriendlyReminder/.svn/pristine/9e/9e233c098cedb8cea857036d5cbc492fe349914b.svn-base , 4080
FriendlyReminder/.svn/pristine/a4/a42b1962eab24106ba2ce8afbc15dad10d429fd0.svn-base , 1456
FriendlyReminder/.svn/pristine/a5/a5c6a9e768c3898a88dc4a63c7cd25ca956f6e1e.svn-base , 1161
FriendlyReminder/.svn/pristine/a6/a69be6b7399acfafe715daaad0190c26feb40b81.svn-base , 476
FriendlyReminder/.svn/pristine/aa/aa41b81abc955d40b2fe1a1af5becee8eeaffae3.svn-base , 277
FriendlyReminder/.svn/pristine/ad/ad151492c2bee8ab4a21dff9e3b91b1dc0f81f95.svn-base , 2840
FriendlyReminder/.svn/pristine/b2/b215c89b9044bf83c72bb2aa95897bb0dcfc4cd4.svn-base , 220
FriendlyReminder/.svn/pristine/b3/b3aad6f8779d5c5b1cad40c6ae95bc4ca28799ed.svn-base , 1636
FriendlyReminder/.svn/pristine/b5/b5614261bbdcd99ea745a94717caf369b547edab.svn-base , 77600
FriendlyReminder/.svn/pristine/b6/b65f4c81576f9655ab500c13fa6aca45737456d7.svn-base , 1025
FriendlyReminder/.svn/pristine/b6/b6d19965c61b44948bee25f535fb9f747ae73ba3.svn-base , 2003
FriendlyReminder/.svn/pristine/ba/ba602d3b41defd77e4aedbc75d46059fc9f43916.svn-base , 3008
FriendlyReminder/.svn/pristine/bd/bd6479f5dd592790607e0504e66e0f31c2b4d308.svn-base , 484258
FriendlyReminder/.svn/pristine/bd/bd831a24c22650657c7ccb2053398c4efa297f1e.svn-base , 3236
FriendlyReminder/.svn/pristine/be/be21fbe9cb87f64dd2dcfd00f965b4062402dedc.svn-base , 2646
FriendlyReminder/.svn/pristine/c1/c1f03780a926fac8a9019cbce9cd4d26ed9000e3.svn-base , 48829
FriendlyReminder/.svn/pristine/c2/c2bfa11c7dcca4e4d1224c6333efba0b02e4937f.svn-base , 714
FriendlyReminder/.svn/pristine/c5/c589fcf9b74252c331dcc39715203f6594e8b833.svn-base , 628
FriendlyReminder/.svn/pristine/c8/c85e1ad56f71a68d7e4ec9df0a42cf45828d9201.svn-base , 1625
FriendlyReminder/.svn/pristine/ce/ceb9ef989b118ce51ae27a493f5849d33af00ac8.svn-base , 334
FriendlyReminder/.svn/pristine/cf/cf978ebc1866b0ef6961731a2085400bfe643c41.svn-base , 2050
FriendlyReminder/.svn/pristine/d4/d4482e1a66536ebf24fdc011c9f6887a861d0193.svn-base , 2596
FriendlyReminder/.svn/pristine/d4/d4c1e778e25f94e8ae9b446ef137a7cc1ac8d630.svn-base , 7248
FriendlyReminder/.svn/pristine/d7/d7fbecbf4eb3923248582dadcd61a536a0625d7b.svn-base , 263
FriendlyReminder/.svn/pristine/d8/d833c53675a95054b07e57d27832bef6a5028474.svn-base , 809
FriendlyReminder/.svn/pristine/d8/d84510ba894993b03dfc2c50f8a9be4712530c23.svn-base , 229
FriendlyReminder/.svn/pristine/dc/dc90f43c3bbac68dde6137d8e07a73235d38ed60.svn-base , 2811
FriendlyReminder/.svn/pristine/df/df57dea83b2f30ff406f5438e0a4e388bcbbcc59.svn-base , 571
FriendlyReminder/.svn/pristine/df/df8dca1dcc9d0a24a7328a392164bb356aa30f5e.svn-base , 485
FriendlyReminder/.svn/pristine/e6/e6fd2f4e3cf7830aa14cab08669173ef419941d1.svn-base , 3286
FriendlyReminder/.svn/pristine/e7/e735ce76a7c95d231ef9cd5de781cab3c02c3cbd.svn-base , 4177
FriendlyReminder/.svn/pristine/ea/ea3f0db5beb4aa6d48b9eebd0edf2f66bb446f31.svn-base , 30572
FriendlyReminder/.svn/pristine/ef/efc9689541d5fb26c8980df82bfddd91ca8a8d1b.svn-base , 3785
FriendlyReminder/.svn/pristine/f1/f165be52881961b212784808d6c848546c8b461b.svn-base , 4507
FriendlyReminder/.svn/pristine/f6/f6dc06f6d3b8a705920e30d9f1089f7e5c7461ff.svn-base , 3260
FriendlyReminder/.svn/pristine/f7/f75f337d64dd217073a7ed694b42d7751e08d079.svn-base , 492
FriendlyReminder/.svn/pristine/f8/f8cbe1b82ece1fbd3ca3693a0f6ebc75c3358ec2.svn-base , 3777
FriendlyReminder/.svn/pristine/fa/fa63f40600e4eaf0dccaa7004e463d0e3ac31b87.svn-base , 593
FriendlyReminder/.svn/pristine/fe/fe659974a898f25945e3aad6fbae30c85628fa5c.svn-base , 3183
FriendlyReminder/.svn/pristine/fe/fea65ec69dabad4f649af7c3a4473a6d7b9f4ce3.svn-base , 309
FriendlyReminder/.svn/wc.db , 102400
FriendlyReminder/AndroidManifest.xml , 4177
FriendlyReminder/bin/AndroidManifest.xml , 4177
FriendlyReminder/bin/classes.dex , 2602500
FriendlyReminder/bin/classes/com/along/friendlyreminder/AccelerometerActivity$1.class , 1068
FriendlyReminder/bin/classes/com/along/friendlyreminder/AccelerometerActivity.class , 3273
FriendlyReminder/bin/classes/com/along/friendlyreminder/AmbientActivity$1.class , 834
FriendlyReminder/bin/classes/com/along/friendlyreminder/AmbientActivity$2.class , 1025
FriendlyReminder/bin/classes/com/along/friendlyreminder/AmbientActivity$3.class , 1034
FriendlyReminder/bin/classes/com/along/friendlyreminder/AmbientActivity.class , 4096
FriendlyReminder/bin/classes/com/along/friendlyreminder/BuildConfig.class , 361
FriendlyReminder/bin/classes/com/along/friendlyreminder/GravityActivity$ScreenOFFReceiver$1.class , 2667
FriendlyReminder/bin/classes/com/along/friendlyreminder/GravityActivity$ScreenOFFReceiver.class , 1510
FriendlyReminder/bin/classes/com/along/friendlyreminder/GravityActivity$ScreenONReceiver.class , 974
FriendlyReminder/bin/classes/com/along/friendlyreminder/GravityActivity.class , 9949
FriendlyReminder/bin/classes/com/along/friendlyreminder/GyroscopeActivity.class , 3097
FriendlyReminder/bin/classes/com/along/friendlyreminder/heart/HeartRateMonitorActivity$1.class , 1212
FriendlyReminder/bin/classes/com/along/friendlyreminder/heart/HeartRateMonitorActivity.class , 1264
FriendlyReminder/bin/classes/com/along/friendlyreminder/LightActivity.class , 2838
FriendlyReminder/bin/classes/com/along/friendlyreminder/LinearActivity.class , 2501
FriendlyReminder/bin/classes/com/along/friendlyreminder/MagneticFieldActivity.class , 2512
FriendlyReminder/bin/classes/com/along/friendlyreminder/MainActivity.class , 4210
FriendlyReminder/bin/classes/com/along/friendlyreminder/my/MyAdmin.class , 327
FriendlyReminder/bin/classes/com/along/friendlyreminder/my/MyAmbientActivity.class , 785
FriendlyReminder/bin/classes/com/along/friendlyreminder/my/MyNewAmbientActivity$1.class , 1025
FriendlyReminder/bin/classes/com/along/friendlyreminder/my/MyNewAmbientActivity$GetDataForHardware.class , 309
FriendlyReminder/bin/classes/com/along/friendlyreminder/my/MyNewAmbientActivity.class , 4507
FriendlyReminder/bin/classes/com/along/friendlyreminder/my/MyOrientationActivity.class , 3286
FriendlyReminder/bin/classes/com/along/friendlyreminder/OrientationActivity.class , 3177
FriendlyReminder/bin/classes/com/along/friendlyreminder/PressureActivity.class , 2800
FriendlyReminder/bin/classes/com/along/friendlyreminder/ProximityActivity$ScreenOFFReceiver.class , 1198
FriendlyReminder/bin/classes/com/along/friendlyreminder/ProximityActivity.class , 4900
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$attr.class , 364
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$color.class , 571
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$dimen.class , 485
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$drawable.class , 594
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$id.class , 794
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$layout.class , 656
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$menu.class , 412
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$raw.class , 421
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$string.class , 496
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$style.class , 492
FriendlyReminder/bin/classes/com/along/friendlyreminder/R$xml.class , 413
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录