北京邮电大学世纪学院毕业设计(论文)
参考文献
[1] 李刚.疯狂的Android讲义[M].北京:电子工业出版社.2011.7.
[2] 吴亚峰,苏亚光.Android2.0游戏开发实战宝典[M].北京:人民邮电出版 社.2010.7.
[3] 李宁.Android开发完全讲义[M].北京:中国水利水电出版社.2012.4. [4] 严蔚敏,吴伟民.数据结构 [M].北京:清华大学出版社.2007.3. [5] 李刚.疯狂Java讲义[M].北京:电子工业出版社.2008.10.
[6] Bruce Eckel著.Java编程思想(陈昊鹏)[M].北京:机械工业出版
社.2007.6:23-35
[7] 苏亚光;吴亚峰;索依娜.Android平台下传感器技术开发计步器应用[J].电脑编程技巧与维护.2010(23):3-6.
[8] 熊刚.基于Android的智能手机的设计与实现[D].武汉理工大学.2010:34一60. [9] Sandeep Kumar. Location Based Services using Android[C]. Android
Application Fundamentals, 2009 IEEE International Conference: P1-5 [10] 姚昱旻,刘卫国.Android 与J2ME 平台间即时通信的研究与实现[J].计算机系
统应用.2008(12):118-120
[11] 公磊,周聪.基于Android 的移动终端应用程序开发与研究[J].计算机与现代
化.2008(8):86-89.
[12] 差沙,地狱男爵.用Android 开发手机应用[J].程序员.2008(1):25-27 [13] Narayan Babu.Android application development skills[J].IT TIME WEEKLY,
2012。6(8):55-58.
[14] Konrad Adenauer.Android structural design guidelines[J].Journal of
Computer and Software Engineering,2012.3(6):69-72.
26
北京邮电大学世纪学院毕业设计(论文)
附录
Activity
package edu.bupt.comm.liangwenshu.pedometer; import android.app.Activity;
import android.app.backup.RestoreObserver; import android.content.ComponentName; import android.content.Context; import android.content.Intent;
import android.content.ServiceConnection; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message;
import android.preference.PreferenceManager; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button;
import android.widget.LinearLayout; import android.widget.TextView; /**
* @author Liangwenshu */
public class WalkingActivity extends Activity {
private static final String TAG = \ private SharedPreferences mSettings;
private PedometerSettings mPedometerSettings; private Utils mUtils;
private TextView mStepValueView; // 步数 private TextView mPaceValueView; //
private TextView mDistanceValueView; // 距离 private TextView mSpeedValueView; // 速度
private TextView mCaloriesValueView; // 卡路里消耗显示框 TextView mDesiredPaceView;
private int mStepValue;// mStepValueView的值 private int mPaceValue;// mPaceValueView的值
private float mDistanceValue;// mDistanceValueView的值 private float mSpeedValue;// mSpeedValueView的值
27
北京邮电大学世纪学院毕业设计(论文)
private int mCaloriesValue;// mCaloriesValueView的值 private float mDesiredPaceOrSpeed;// private int mMaintain;// is爬山
private boolean mIsMetric=true;// 公制和米制切换标志 private float mMaintainInc;//
private boolean mQuitting = false; // private Button resetButton;
private Button start_pause_button;
// Set when user selected Quit from menu, can be used by onPause, onStop, // onDestroy /**
* True, when service is running. */
private boolean mIsRunning;// 程序是否运行的标志位 /** Called when the activity is first created. */ @Override
// 开始函数,重写该函数,加入日志。 @Override
protected void onStart() {
Log.i(TAG, \ super.onStart(); }
// 重写回复函数 @Override
protected void onResume() {
Log.i(TAG, \ super.onResume();
mSettings = PreferenceManager.getDefaultSharedPreferences(this); mPedometerSettings = new PedometerSettings(mSettings); mUtils.setSpeak(mSettings.getBoolean(\
// Read from preferences if the service was running on the last onPause mIsRunning = mPedometerSettings.isServiceRunning();
// Start the service if this is considered to be an application start // (last onPause was long ago)
mPedometerSettings.clearServiceRunning();
mStepValueView = (TextView) findViewById(R.id.step_value); mPaceValueView = (TextView) findViewById(R.id.pace_value);
mDistanceValueView = (TextView) findViewById(R.id.distance_value); mSpeedValueView = (TextView) findViewById(R.id.speed_value);
28
北京邮电大学世纪学院毕业设计(论文)
mCaloriesValueView = (TextView) findViewById(R.id.calories_value); mDesiredPaceView = (TextView) findViewById(R.id.desired_pace_value); // 重设按钮
resetButton = (Button) findViewById(R.id.reset_button); resetButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
resetValues(true); } });
// 开始/暂停按钮 start_pause_button = (Button) findViewById(R.id.start_pause_button);
start_pause_button.setText(mIsRunning ? R.string.pause : R.string.resume);
start_pause_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if
(start_pause_button.getText().equals(getResources().getString(R.string.pause)))
{
start_pause_button.setText(R.string.resume); unbindStepService(); stopStepService(); } else if (start_pause_button.getText().equals(getResources().getString(R.string.resume)))
{
start_pause_button.setText(R.string.pause); startStepService(); bindStepService(); } } });
mIsMetric = mPedometerSettings.isMetric(); ((TextView) findViewById(R.id.distance_units))
.setText(getString(mIsMetric ? R.string.kilometers
29
北京邮电大学世纪学院毕业设计(论文)
: R.string.miles));
((TextView) findViewById(R.id.speed_units))
.setText(getString(mIsMetric ? R.string.kilometers_per_hour : R.string.miles_per_hour));
mMaintain = mPedometerSettings.getMaintainOption(); if (mMaintain == PedometerSettings.M_PACE) {
mMaintainInc = 5f; mDesiredPaceOrSpeed = (float) mPedometerSettings.getDesiredPace(); }
else if (mMaintain == PedometerSettings.M_SPEED) {
mDesiredPaceOrSpeed = mPedometerSettings.getDesiredSpeed(); mMaintainInc = 0.1f; }
Button button1 = (Button) findViewById(R.id.button_desired_pace_lower);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mDesiredPaceOrSpeed -= mMaintainInc;
mDesiredPaceOrSpeed = Math.round(mDesiredPaceOrSpeed * 10) / 10f;
displayDesiredPaceOrSpeed();
setDesiredPaceOrSpeed(mDesiredPaceOrSpeed); } }); Button button2 = (Button) findViewById(R.id.button_desired_pace_raise);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mDesiredPaceOrSpeed += mMaintainInc;
mDesiredPaceOrSpeed = Math.round(mDesiredPaceOrSpeed * 10) / 10f;
displayDesiredPaceOrSpeed();
setDesiredPaceOrSpeed(mDesiredPaceOrSpeed); } });
30