Android GPS使用php在Mysql中保存当前位置
Posted
技术标签:
【中文标题】Android GPS使用php在Mysql中保存当前位置【英文标题】:Android GPS saving current location in Mysql with php 【发布时间】:2017-04-17 13:51:20 【问题描述】:我有这段代码,它向我显示了Toast
在一个时间间隔内用户的**纬度**和**经度**,但我需要将此信息保存在mysql
中每次系统更新位置。我真的需要这段代码来完成一项工作。
MainActivity.java
package com.example.quantide.gps_teste;
import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.provider.Settings;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements LocationListener
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
return;
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
2000, 1, this);
@Override
public void onLocationChanged(Location location)
String msg = "New Latitude: " + location.getLatitude()
+ "New Longitude: " + location.getLongitude();
Toast.makeText(getBaseContext(), msg, Toast.LENGTH_LONG).show();
@Override
public void onProviderDisabled(String provider)
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
Toast.makeText(getBaseContext(), "Gps is turned off!! ",
Toast.LENGTH_SHORT).show();
@Override
public void onProviderEnabled(String provider)
Toast.makeText(getBaseContext(), "Gps is turned on!! ",
Toast.LENGTH_SHORT).show();
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
// TODO Auto-generated method stub
上传.php
<?php
$latitude = $_POST['lati'];
$longitude= $_POST['longi'];
$up = mysql_query("UPDATE gps SET lati = $latitude, longi = $longitude");
?>
【问题讨论】:
欢迎来到 Stack Overflow。我们不是来为你做你的工作,我们是来帮忙的。请发布您在 PHP 中尝试过的代码,我们将尝试为您指明正确的方向。 MySQL Workbench 可以为您提供 PHP 所需的 MySQL 命令。然后,您只需要发布这些值并使用它们。 好的,我按照你的建议添加了我的 php 代码。 @apmartin1991 我最大的困难在java部分。 @apmartin1991 发布将其发送到服务器的android代码 警告:如果您只是学习 PHP,请不要使用mysql_query
接口。它是如此可怕和危险,以至于它在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。你的用户参数不是properly escaped,有SQL injection bugs可以被利用。
【参考方案1】:
创建一个后端并使用您的 android 应用将值发布到它。然后,使用 MySQL 命令,您可以将其保存到数据库中。
更新
单击here 以逐步了解如何创建后端。您还将找到有关如何将数据发布到服务器的信息。如果您需要一些额外的参考,您可以访问this site。 然后,您可以访问this site 获取有关如何使用 java 直接使用 mySQL 数据库的教程。
如果您还需要什么,请随时询问。如果您对答案感到满意,请将其标记为已接受。希望我有所帮助:D
【讨论】:
我需要一些代码示例来说明如何从共同签名发送到我的 Web 服务器。这就是问题,我不知道如何执行这部分代码,我尝试了一些但没有成功。 @Rippr以上是关于Android GPS使用php在Mysql中保存当前位置的主要内容,如果未能解决你的问题,请参考以下文章
使用 json/php 的 Android Studio 简单通知
将数据发送到 php 脚本并通过 android 保存在 mysql 表中时,加上符号更改为空格
Android / PHP:将输入数据从android保存到MySQL后显示“数据成功保存”