gpt4 book ai didi

mysql - 每30秒通过JDBC向mysql发送纬度、经度

转载 作者:行者123 更新时间:2023-11-30 22:43:21 33 4
gpt4 key购买 nike

目前我想通过JDBC将我的GPS经纬度发送到MYSQL。为了检索 GPS 纬度,我使用了下面的代码,并且在 GPSTracker 类中有 GPS 跟踪器代码。这将在任何时候按下按钮来 toast 纬度和经度。

public class MainActivity extends Activity {
Button btnShowLocation;
GPSTracker gps;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//testDB();

btnShowLocation = (Button) findViewById(R.id.show_location);
btnShowLocation.setOnClickListener(new View.OnClickListener() {
// txtv = (TextView) findViewById(R.id.txtv);

// btnShowLocation.setOnClickListener(this);
// txtv.setOnClickListener(new View.OnClickListener(){

@Override
public void onClick(View v) {
gps = new GPSTracker(MainActivity.this);
// txtv = getText().getApplicationContext(this);
if (gps.canGetLocation()) {
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
Toast.makeText(getApplicationContext(), "Your Location is: \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();
} else {
gps.showSettingsAlert();
}
}
});
}
}

为了将 JDBC 数据发送到 MYSQL,我使用了下面的代码,它只能发送我在括号中给它的值:

public class MainActivity extends Activity {

static final String USER = "root";
static final String PASS = "root";
GPSTracker gps;
double tmplat = 0;
double tmplong = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
appDB();
}

public void appDB() {
// TextView tv = (TextView) this.findViewById(R.id.txtv);
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
//connection to data base.
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.1.6:3306/k_sql1", USER, PASS);

//create a statement
// String result = "Database connection successfull !\n";
Statement statement = con.createStatement();

// execute sql query
String sql = ("INSERT INTO `gps-data2`(`ID`,`Latitude`,`Longitude`) VALUES (1,123.45678, 345.678901);");

// String sql = (" CREATE TABLE IF NOT EXISTS GPS_data ( ID int, Latitude Double, Longitude Double ); INSERT INTO GPS_data (`ID`,`Latitude`,`Longitude`) VALUES (1,1234.5678,56789.123456); ");

statement.executeUpdate(sql);

// System.out.println("Inserted records into the table...");

} catch (SQLException se) {
//Handle errors for JDBC
se.printStackTrace();
} catch (Exception e) {
//Handle errors for Class.forName
e.printStackTrace();
}
}
}
enter code here

请告诉我如何结合这两个系统并使用 JDBC 方法将 GPS 数据(纬度、经度)发送到 mysql。我知道使用 PHP 可能更好,但对于这个项目,我希望使用 JDBC。如果能给我一个简单适用的解决方案,我将不胜感激。

最佳答案

这就是我寻找以编程方式检索 GPS 参数并使用 onClickListener 将其直接发送到数据库的答案。 static final String USER = "根"; 静态最终字符串 PASS = "root"; 字符串 sql = null; 全局定位系统追踪器; 双 tmplat = 0; 双 tmplong = 0; 按钮 btnShowLocation; 双纬度; 双经度; TextView 电视;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btnShowLocation = (Button) findViewById(R.id.show_location);
btnShowLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gps = new GPSTracker(MainActivity.this);
if (gps.canGetLocation()) {
latitude = gps.getLatitude();
longitude = gps.getLongitude();
Toast.makeText(getApplicationContext(), "Your Location is: \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();
appDB();
} else {
gps.showSettingsAlert();
}
}
});
}
protected void appDB() {

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/k_sql1", USER, PASS);

String result = "Database connection successfull !\n";
Statement statement = con.createStatement();

String sql = ("INSERT INTO `gps-data2`(`Latitude`,`Longitude`) VALUES (" + latitude + ", " + longitude + ");");

statement.executeUpdate(sql);


} catch (SQLException se) {

se.printStackTrace();
} catch (Exception e) {
//Handle errors for Class.forName
e.printStackTrace();
}
}

} f

关于mysql - 每30秒通过JDBC向mysql发送纬度、经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431186/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com