旨在将之前博客获取的经纬度上传至数据库,传送门:移动GIS开发之获取手机GPS经纬度并在地图上加载点和路线。
目录
一、安装XAMPP
XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,可以快速建站。很快,傻瓜式,简单的一批,自己百度装去,谁用谁知道。
二、新建SQL数据库
配好Apache和MySQL后,打开服务。
打开链接localhost:80在SQL数据库中新建数据库,名为androiddemo。新建表latitude_longitude用于存储数据。新建三列,一列自增的id,一列为latitude一列为longitude,如下图所示:
三、后台PHP脚本连接数据库
在XAMPP的htdocs,新建记事本txt文档,输入以下内容,然后后缀名改为.php。
<?php
//$代表新建一个变量
//服务器连接串
$connect = mysqli_connect("127.0.0.1","root","","androiddemo",3306);
//
$latitude1 = $_GET[latitude];
$longitude1 = $_GET[longitude];
$sql = "INSERT INTO `latitude_longitude` (`id`, `latitude`, `longitude`) VALUES (NULL, '$latitude1', '$longitude1')";
mysqli_query($connect, $sql);
?>
四、前端上传
(1)添加上传按钮
<Button
android:id="@+id/uploadBT"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_marginTop="100dp"
android:background="@color/colorAccent"
android:text="上传"
/>
(2)定义变量并与页面控件绑定
private Button uploadBT
uploadBT = findViewById(R.id.uploadBT);
(3)添加点击响应事件
注意localhost应替换为服务器所在的ip,即电脑的ip,可使用ipconfig命令查看ipv4地址。
et_longitude.getText().toString()为要上传的经度值,et_latitude.getText().toString()为要上传的纬度值。
uploadBT.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection conn;
try {
conn = (HttpURLConnection) new URL("http://localhost/uploadService_latitude_longitude.php?latitude=" + et_latitude.getText().toString() + "&longitude=" + et_longitude.getText().toString()).openConnection();
conn.setRequestMethod("GET");
conn.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
});