package com.android.andtriplog;
import java.util.Date;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.PowerManager;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.AdapterContextMenuInfo;
public class AndTripLog extends Activity implements LocationListener {
static final String DATABASE_NAME = "andtriplog.db";
static final int DATABASE_VERSION = 7;
public DatabaseHelper mAndTripLogDB;
private TextView gpsstateTextView;
protected LocationManager myLocationManager = null;
private int current_trip = 0;
private int current_point = 0;
private ListView listview_trace;
private SimpleCursorAdapter sc_adapter;
private Location last_loc;
private float total_distance;
private long first_timestamp = 0;
private long last_timestamp = 0;
private ExportThread mExportThread;
private static final int MENU_COPY = 1;
private static final int MENU_START = 2;
private static final int MENU_STOP = 3;
private static final int MENU_DELETE_ALL = 4;
private static final int MENU_EXPORT_ALL = 5;
private static final int MENU_EXPORT_SEND_ALL = 6;
private MenuItem start_menu;
private MenuItem stop_menu;
private MenuItem delete_all_menu;
private MenuItem export_all_menu;
private MenuItem export_send_all_menu;
private ProgressDialog mProgressDialog;
private AlertDialog mDeleteDialog;
protected PowerManager.WakeLock wlatp;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
Log.w("AndTripLog","1");
listview_trace = (ListView)findViewById(R.id.traceView);
registerForContextMenu(listview_trace);
gpsstateTextView = (TextView)findViewById(R.id.gpsstate);
gpsstateTextView.setText(R.string.tips_not_running);
mAndTripLogDB = new DatabaseHelper(this);
mAndTripLogDB.startDatabase();
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wlatp = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "AndTripLog tag");
fillList();
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
menu.setHeaderTitle(R.string.c_menu_title);
menu.setHeaderIcon(R.drawable.satellite);
menu.add(Menu.NONE,0,0,R.string.c_menu_send);
menu.add(Menu.NONE,1,1,R.string.c_menu_save);
menu.add(Menu.NONE,2,2,R.string.c_menu_delete);
}
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
long id = sc_adapter.getItemId(info.position);
switch(item.getItemId()) {
case 0: //Send
exportTrip(id,true);
break;
case 1: //Save
exportTrip(id,false);
break;
case 2: //Delete
// exportTrip(id,false);
deleteTrip(id);
fillList();
break;
}
return true;
}
@Override
protected void onPause() {
super.onPause();
Log.w("AndTripLog","onpause");
}
@Override
protected void onResume() {
super.onResume();
Log.w("AndTripLog","onresume");
}
public boolean isFinishing() {
return false;
}
@Override
protected void onStop() {
super.onStop();
Log.w("AndTripLog","onstop");
}
@Override
protected void onStart() {
super.onStart();
Log.w("AndTripLog","onstart");
}
@Override
protected void onDestroy() {
super.onDestroy();
if (wlatp.isHeld()) {
wlatp.release();
}
myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
myLocationManager.removeUpdates(this);
mAndTripLogDB.end();
Log.w("AndTripLog","ondestroy");
}
@Override
protected void onRestart() {
super.onRestart();
Log.w("AndTripLog","onrestart");
}
/**
*
*
*/
private void startAnewTrip() {
current_trip = mAndTripLogDB.startAnewTrip();
current_point = 0;
total_distance = 0;
last_loc = null;
first_timestamp = 0;
last_timestamp = 0;
}
private void newPointDB(double longitude,double latitude,double altitude,long gps_time) {
mAndTripLogDB.newPointDB(longitude, latitude, altitude, gps_time, current_trip);
current_point++;
}
private void stopTrip(){
myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
myLocationManager.removeUpdates(this);
mAndTripLogDB.stopTrip(last_timestamp, first_timestamp, total_distance, current_trip);
current_trip = 0;
current_point = 0;
}
private void fillList(){
gpsstateTextView.setText(R.string.tips_not_running);
Cursor lst = mAndTripLogDB.getListing();
startManagingCursor(lst);
Log.w("AndTripLog","4");
listview_trace.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
sc_adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, lst,new String[] {"cmt","descr"},
new int[] {android.R.id.text1, android.R.id.text2});
listview_trace.setAdapter(sc_adapter);
}
private void setupForGPSAutoRefreshing() {
final long MINIMUM_DISTANCECHANGE_FOR_UPDATE = 0; // in Meters
final long MINIMUM_TIME_BETWEEN_UPDATE = 1000; // in Milliseconds
// Get the first provider available
myLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Log.w("AndTripLog","40 gps");
myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MINIMUM_TIME_BETWEEN_UPDATE, MINIMUM_DISTANCECHANGE_FOR_UPDATE, this);
Log.w("AndTripLog","50 gps");
}
public void onProviderDisabled(String provider) {
Log.w("AndTripLog","OnProviderDisabled " + provider);
gpsstateTextView.setText(R.string.gps_inactive);
}
public void onProviderEnabled(String provider) {
Log.w("AndTripLog","OnProviderEnabled " + provider);
// gpsstateTextView.setText("OnProviderEnabled " + provider);
}
public void onStatusChanged(String provider, int status, Bundle extras){
Log.w("AndTripLog","onStatusChanged "+provider+":"+status);
// gpsstateTextView.setText("onStatusChanged "+provider+":"+status);
}
private String formatMilliSeconds(long s) {
String ret = new String();
if (s < 0) {
ret += s+"ms";
} else if (s < 60000) {
ret += (s/1000)+"s";
} else if (s < 1000 * 3600) {
long min = s/(1000*60);
long sec = (s- (min*60*1000))/ 1000;
ret += min+"m,";
ret += sec+"s";
} else {
long min = s/(1000*60);
long hour = min/60;
min -= hour*60;
long sec = (s- (min*60*1000))/ 1000;
ret += hour+"h,";
ret += min+"m,";
ret += sec+"s";
}
return ret;
}
@Override
public void onLocationChanged(Location location) {
Log.w("AndTripLog","136 write");
Date d = new Date(location.getTime());
if (last_loc != null) {
total_di
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android Gps日志记录程序源码.zip项目安卓应用源码下载Android Gps日志记录程序源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
资源推荐
资源详情
资源评论
收起资源包目录
Android Gps日志记录程序源码.zip项目安卓应用源码下载 (120个子文件)
all-wcprops 1KB
all-wcprops 640B
all-wcprops 640B
all-wcprops 430B
all-wcprops 298B
all-wcprops 212B
all-wcprops 190B
all-wcprops 184B
all-wcprops 88B
all-wcprops 88B
all-wcprops 88B
all-wcprops 80B
all-wcprops 80B
all-wcprops 80B
all-wcprops 76B
all-wcprops 76B
all-wcprops 76B
all-wcprops 76B
resources.ap_ 12KB
AndTripLog.apk 25KB
AndTripLog-1.0.1.apk 25KB
AndTripLog.apk 25KB
AndTripLog-1.0.0.apk 25KB
AndTripLog.class 14KB
DatabaseHelper.class 5KB
GpxFileWriter.class 4KB
ExportThread.class 4KB
AndTripLog$1.class 1KB
AndTripLog$2.class 1KB
AndTripLog$4.class 1KB
AndTripLog$5.class 1KB
AndTripLog$3.class 1KB
R$string.class 1016B
AndTripLog$6.class 874B
R.class 559B
R$id.class 540B
R$drawable.class 445B
R$layout.class 406B
R$attr.class 352B
.classpath 273B
classes.dex 24KB
entries 2KB
entries 880B
entries 880B
entries 735B
entries 553B
entries 397B
entries 386B
entries 382B
entries 269B
entries 257B
entries 257B
entries 257B
entries 246B
entries 246B
entries 246B
entries 238B
entries 238B
entries 238B
AndTripLog.java 15KB
DatabaseHelper.java 4KB
GpxFileWriter.java 3KB
ExportThread.java 2KB
R.java 2KB
onTrip.png 35KB
confirmDeleteAllTrip.png 34KB
exportAll.png 29KB
menu.png 23KB
send.png 20KB
confirmDeleteOneTrip.png 19KB
ActionOnTrip.png 17KB
List.png 13KB
empty.png 8KB
satellite.png 4KB
icon.png 3KB
.project 813B
default.properties 961B
onTrip.png.svn-base 35KB
confirmDeleteAllTrip.png.svn-base 34KB
exportAll.png.svn-base 29KB
AndTripLog-1.0.1.apk.svn-base 25KB
AndTripLog-1.0.0.apk.svn-base 25KB
AndTripLog.apk.svn-base 25KB
menu.png.svn-base 23KB
send.png.svn-base 20KB
confirmDeleteOneTrip.png.svn-base 19KB
ActionOnTrip.png.svn-base 17KB
AndTripLog.java.svn-base 15KB
AndTripLog.java.svn-base 15KB
List.png.svn-base 13KB
empty.png.svn-base 8KB
satellite.png.svn-base 4KB
DatabaseHelper.java.svn-base 4KB
DatabaseHelper.java.svn-base 4KB
icon.png.svn-base 3KB
GpxFileWriter.java.svn-base 3KB
GpxFileWriter.java.svn-base 3KB
ExportThread.java.svn-base 2KB
ExportThread.java.svn-base 2KB
R.java.svn-base 2KB
共 120 条
- 1
- 2
资源评论
yxkfw
- 粉丝: 76
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 原生微信小程序源码 - -滴滴公交-查公交
- 人工智能实验四 感知器算法的设计实现
- java小项目多线程多线程 复制文件 冒泡排序 群聊
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功