# Android精准计步开发
亲测在小米.魅族.华为上可用
<div align="center">
<img src="screenshots/主页.jpg" width="30%" height="30%"/>
<img src="screenshots/锻炼计划.jpg" width="30%" height="30%"/>
<img src="screenshots/历史记录.jpg" width="30%" height="30%"/>
</div>
#### 下载体验
![](screenshots/dylanstep.png)
# 万分感谢项目中使用两位大神的算法
* [xbase](http://www.jianshu.com/p/5d57f7fd84fa)
* [finnfu](https://github.com/finnfu/stepcount/tree/master/demo%E4%BB%A5%E5%8F%8A%E7%AE%97%E6%B3%95%E6%96%87%E6%A1%A3)
# 1.需要在AndroidManifest.xml中添加权限
```xml
<!--计歩需要的权限-->
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-feature android:name="android.hardware.sensor.accelerometer" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-feature
android:name="android.hardware.sensor.stepcounter"
android:required="true" />
<uses-feature
android:name="android.hardware.sensor.stepdetector"
android:required="true" />
```
# 2.检测手机是否支持计歩
```java
/**
* 判断该设备是否支持计歩
*
* @param context
* @return
*/
@TargetApi(Build.VERSION_CODES.KITKAT)
public static boolean isSupportStepCountSensor(Context context) {
// 获取传感器管理器的实例
SensorManager sensorManager = (SensorManager) context
.getSystemService(context.SENSOR_SERVICE);
Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
Sensor detectorSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
return countSensor != null || detectorSensor != null;
}
```
# 3.功能使用
```java
private boolean isBind = false;
private Messenger mGetReplyMessenger = new Messenger(new Handler(this));
private Messenger messenger;
/**
* 开启计步服务
*/
private void setupService() {
Intent intent = new Intent(this, StepService.class);
isBind = bindService(intent, conn, Context.BIND_AUTO_CREATE);
startService(intent);
}
/**
* 从service服务中拿到步数
*
* @param msg
* @return
*/
@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
case Constant.MSG_FROM_SERVER:
cc.setCurrentCount(10000, msg.getData().getInt("step"));
break;
}
return false;
}
/**
* 用于查询应用服务(application Service)的状态的一种interface,
* 更详细的信息可以参考Service 和 context.bindService()中的描述,
* 和许多来自系统的回调方式一样,ServiceConnection的方法都是进程的主线程中调用的。
*/
ServiceConnection conn = new ServiceConnection() {
/**
* 在建立起于Service的连接时会调用该方法,目前Android是通过IBind机制实现与服务的连接。
* @param name 实际所连接到的Service组件名称
* @param service 服务的通信信道的IBind,可以通过Service访问对应服务
*/
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
try {
messenger = new Messenger(service);
Message msg = Message.obtain(null, Constant.MSG_FROM_CLIENT);
msg.replyTo = mGetReplyMessenger;
messenger.send(msg);
} catch (RemoteException e) {
e.printStackTrace();
}
}
/**
* 当与Service之间的连接丢失的时候会调用该方法,
* 这种情况经常发生在Service所在的进程崩溃或者被Kill的时候调用,
* 此方法不会移除与Service的连接,当服务重新启动的时候仍然会调用 onServiceConnected()。
* @param name 丢失连接的组件名称
*/
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
```
没有合适的资源?快使用搜索试试~ 我知道了~
基于Android Studio的安卓运动计步app.zip
共79个文件
java:22个
xml:19个
png:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 144 浏览量
2024-03-04
23:21:05
上传
评论 1
收藏 3.01MB ZIP 举报
温馨提示
实现简单的计步功能, 在小米.魅族.华为上可用。适用于源码参考学习使用。
资源推荐
资源详情
资源评论
收起资源包目录
基于Android Studio的安卓运动计步app.zip (79个子文件)
DylanStepCount-master
gradle.properties 730B
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 232B
screenshots
step.gif 120KB
锻炼计划.jpg 175KB
所有截图.txt 0B
stepAll.gif 724KB
主页.jpg 112KB
dylanstep.png 4KB
历史记录.jpg 88KB
LICENSE.md 935B
app
src
main
java
cn
bluemobi
dylan
step
adapter
CommonViewHolder.java 1018B
CommonAdapter.java 1KB
step
utils
DbUtils.java 3KB
CountDownTimer.java 3KB
SharedPreferencesUtils.java 3KB
StepCountModeDispatcher.java 1KB
accelerometer
StepDetector.java 6KB
StepCountListener.java 153B
StepCount.java 2KB
StepValuePassListener.java 168B
service
StepService.java 21KB
UpdateUiCallBack.java 248B
config
Constant.java 259B
bean
StepData.java 1KB
app
MyApplication.java 241B
activity
HistoryActivity.java 3KB
SetPlanActivity.java 5KB
MainActivity.java 5KB
view
StepArcView.java 10KB
pedometer
StepsDetectService.java 2KB
StepDetector.java 4KB
StepListener.java 101B
res
mipmap-xxhdpi
home_statistical.png 3KB
home_question_mark.png 3KB
bg_create_group.png 263KB
sport.jpeg 47KB
settle_accounts_bt_bg.png 1KB
btn_submit_bg.png 4KB
logo.png 9KB
btn_bg_short.png 3KB
arrow_back_white.png 1KB
cb_selected_plan.png 6KB
cb_normal_plan.png 5KB
ic_launcher.png 8KB
mipmap-hdpi
ic_launcher.png 3KB
mipmap-mdpi
ic_launcher.png 2KB
mipmap-xxxhdpi
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher.png 5KB
values-w820dp
dimens.xml 358B
values
dimens.xml 211B
colors.xml 500B
strings.xml 74B
styles.xml 363B
layout
ac_history.xml 2KB
ac_exercise_plan.xml 7KB
item.xml 905B
activity_main.xml 3KB
drawable
cb_plan_selector.xml 291B
AndroidManifest.xml 3KB
proguard-rules.pro 653B
libs
lite-orm-1.7.0.jar 120KB
build.gradle 730B
.gitignore 7B
app-debug.apk 1.57MB
gradlew.bat 2KB
build.gradle 532B
.idea
jarRepositories.xml 1KB
vcs.xml 180B
misc.xml 3KB
compiler.xml 170B
modules.xml 968B
gradle.xml 749B
encodings.xml 159B
copyright
profiles_settings.xml 74B
settings.gradle 15B
gradlew 5KB
.gitignore 118B
README.md 4KB
共 79 条
- 1
资源评论
等天晴i
- 粉丝: 5498
- 资源: 10万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SSM开发的旅游信息管理系统程序.zip
- 医学图像分割数据:covid-19肺部感染区域分割【包含3个切面的切片数据、标签文件、可视化代码】
- 基于jsp+servlet实现的图书管理系统(源码+数据库 )
- 大河网servlet+jsp+jdbc的java原生小项目,包含了servlet过滤器和监听器的简单应用
- 链表-基于Java的单链表基本操作之链表相交.zip
- 链表-基于Java的单链表基本操作之删除操作.zip
- 链表-基于Java的单链表基本操作之逆向输出.zip
- 链表-基于Java的单链表基本操作之链表排序.zip
- 链表-基于Java的单链表基本操作之回文链表判断.zip
- 链表-基于Java的单链表基本操作之查找操作.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功