首页服务器android上传文件到服务器,怎么把android gps坐标位置上传到服务器

android上传文件到服务器,怎么把android gps坐标位置上传到服务器

编程之家2023-10-24129次浏览

很多朋友对于android上传文件到服务器和怎么把android gps坐标位置上传到服务器不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

android上传文件到服务器,怎么把android gps坐标位置上传到服务器

android的自带的httpClient 怎么上传文件

在Android开发中,Android SDK附带了Apache的HttpClient,它是一个完善的客户端。它提供了对HTTP协议的全面支持,可以使用HttpClient的对象来执行HTTP GET和HTTP POST调用。

HTTP工作原理:

1.客户端(一般是指浏览器,这里是指自己写的程序)与服务器建立连接

2.建立连接后,客户端向服务器发送请求

3.服务器接收到请求后,向客户端发送响应信息

4.客户端与服务器断开连接

android上传文件到服务器,怎么把android gps坐标位置上传到服务器

HttpClient的一般使用步骤:

1.使用DefaultHttpClient类实例化HttpClient对象

2.创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。

3.调用execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。

4.通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。

最后记得要在AndroidManifest.xml文件添加网络权限

android上传文件到服务器,怎么把android gps坐标位置上传到服务器

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

附件中包含了一个拍照上传的源代码

Android开发访问FTP服务器

commons-net.jar里面有ftp相关的接口,这个是我自己封装的一个类

import java.io.FileInputStream;

import java.io.IOException;

import java.net.Socket;

import java.util.ArrayList;

import java.util.List;

import org.apache.commons.net.ftp.FTP;

import org.apache.commons.net.ftp.FTPClient;

import org.apache.commons.net.ftp.FTPReply;

import android.app.Activity;

import android.content.Context;

import android.content.SharedPreferences;

public class FTPUtils{

/**

*通过ftp上传文件

*

*@param fileNamePath

*要上传的文件路径,以'结'尾

*@param fileName

*要上传的文件名

*@return如果成功返回"",否则返回错误结果

*/

public static String ftpUpload(String sdcardFullFileName, String fileName, String ftpPath){

FTPClient ftpClient= new FTPClient();

FileInputStream fis= null;

String returnMessage="";

try{

ftpClient.connect(ConnectConfig.ftpIP, ConnectConfig.ftpPort);

boolean loginResult= ftpClient.login(ConnectConfig.ftpUserName, ConnectConfig.ftpPassWord);

int returnCode= ftpClient.getReplyCode();

if(loginResult&& FTPReply.isPositiveCompletion(returnCode)){//如果登录成功

String[] splits= ftpPath.split("/");

String temps= splits[0];

ftpClient.makeDirectory(temps);

for(int i=1;i<splits.length;i++){

temps+="/"+ splits[i];

ftpClient.makeDirectory(temps);

}

// ftpClient.makeDirectory(ftpPath);

//设置上传目录

ftpClient.changeWorkingDirectory(ftpPath);

ftpClient.setBufferSize(1024);

ftpClient.setControlEncoding("UTF-8");

ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

ftpClient.enterLocalPassiveMode();

fis= new FileInputStream(sdcardFullFileName);

// boolean result= ftpClient.(fileName, fis);

boolean result= ftpClient.storeFile(fileName, fis);

if(result){

returnMessage="";//上传成功

}else{

returnMessage="上传失败";

}

} else{//如果登录失败

returnMessage="登录FTP时失败,FTP用户名或者密码错误!";

}

} catch(IOException e){

// ftp发送出现异常

e.printStackTrace();

returnMessage="FTP客户端出错!"+ e;

} finally{

try{

ftpClient.disconnect();

} catch(IOException e){

e.printStackTrace();

}

}

return returnMessage;

}

}

怎么把android gps坐标位置上传到服务器

在配备Android系统的手机中,一般都配备了GPS设备。Android为我们获取GPS数据提供了很好的接口。本文来说一下如何使用Android获取GPS的经纬度。

1从Service继承一个类。

2创建startService()方法。

3创建endService()方法重载onCreate方法和onDestroy方法,并在这两个方法里面来调用startService以及endService。

4在startService中,通过getSystemService方法获取Context.LOCATION_SERVICE。

5基于LocationListener实现一个新类。默认将重载四个方法onLocationChanged、onProviderDisabled、onProviderEnabled、onStatusChanged。对于onLocationChanged方法是我们更新最新的GPS数据的方法。一般我们的操作都只需要在这里进行处理。

6调用LocationManager的requestLocationUpdates方法,来定期触发获取GPS数据即可。在onLocationChanged函数里面可以实现我们对得到的经纬度的最终操作。

7最后在我们的Activity里面通过按钮来启动Service,停止Service。

示意代码如下:

package com.offbye.gpsservice;

import android.app.Service;

import android.content.Context;

import android.content.Intent;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Binder;

import android.os.IBinder;

import android.util.Log;

public class GPSService extends Service{

// 2000ms

private static final long minTime= 2000;

//最小变更距离10m

private static final float minDistance= 10;

String tag= this.toString();

private LocationManager locationManager;

private LocationListener locationListener;

private final IBinder mBinder= new GPSServiceBinder();

public void startService(){

locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);

locationListener= new GPSServiceListener();

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minDistance,

locationListener);

}

public void endService(){

if(locationManager!= null&& locationListener!= null){

locationManager.removeUpdates(locationListener);

}

}

@Override

public IBinder onBind(Intent arg0){

// TODO Auto-generated method stub

return mBinder;

}

@Override

public void onCreate(){

//

startService();

Log.v(tag,"GPSService Started.");

}

@Override

public void onDestroy(){

endService();

Log.v(tag,"GPSService Ended.");

}

public class GPSServiceBinder extends Binder{

GPSService getService(){

return GPSService.this;

}

}

}

GPSServiceListener的实现

package com.offbye.gpsservice;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.GregorianCalendar;

import java.util.TimeZone;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationProvider;

import android.os.Bundle;

import android.util.Log;

import android.widget.Toast;

public class GPSServiceListener implements LocationListener{

private static final String tag="GPSServiceListener";

private static final float minAccuracyMeters= 35;

private static final String hostUrl="http://doandroid.info/gpsservice/position.php?";

private static final String user="huzhangyou";

private static final String pass="123456";

private static final int duration= 10;

private final DateFormat timestampFormat= new SimpleDateFormat("yyyyMMddHHmmss");

public int GPSCurrentStatus;

@Override

public void onLocationChanged(Location location){

// TODO Auto-generated method stub

if(location!= null){

if(location.hasAccuracy()&& location.getAccuracy()<= minAccuracyMeters){

//获取时间参数,将时间一并Post到服务器端

GregorianCalendar greg= new GregorianCalendar();

TimeZone tz= greg.getTimeZone();

int ffset= tz.getOffset(System.currentTimeMillis());

greg.add(Calendar.SECOND,(offset/ 1000)*-1);

StringBuffer strBuffer= new StringBuffer();

strBuffer.append(hostUrl);

strBuffer.append("user=");

strBuffer.append(user);

strBuffer.append("&pass=");

strBuffer.append(pass);

strBuffer.append("&Latitude=");

strBuffer.append(location.getLatitude());

strBuffer.append("&Longitude=");

strBuffer.append(location.getLongitude());

strBuffer.append("&Time=");

strBuffer.append(timestampFormat.format(greg.getTime()));

strBuffer.append("&Speed=");

strBuffer.append(location.hasSpeed());

doGet(strBuffer.toString());

Log.v(tag, strBuffer.toString());

}

}

}

//将数据通过get的方式发送到服务器,服务器可以根据这个数据进行跟踪用户的行走状态

private void doGet(String string){

// TODO Auto-generated method stub

//

}

@Override

public void onProviderDisabled(String provider){

// TODO Auto-generated method stub

}

@Override

public void onProviderEnabled(String provider){

// TODO Auto-generated method stub

}

@Override

public void onStatusChanged(String provider, int status, Bundle extras){

// TODO Auto-generated method stub

GPSCurrentStatus= status;

}

}

摘自 offbye的技术博客

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

服务器 测速,如何测试web服务器的网速哪一家云服务器便宜?云服务器 谁家的便宜