gpt4 book ai didi

java - 创建新线程 - Android

转载 作者:行者123 更新时间:2023-12-01 17:32:42 26 4
gpt4 key购买 nike

我正在尝试实现一个循环程序,以便我可以创建一个线程来将 GPS 坐标发送到数据库。我是 Java 新手,这真的很令人困惑,但也许你可以提供帮助。当按下按钮时,主 Activity 将调用以下类方法。该方法找到 GPS 位置,然后将其发送到不同类的方法,该方法将纬度和经度(以及用户 ID)发送到数据库。我的应用程序有时会减慢速度并卡住,因此我似乎需要实现某种方法来为此过程创建一个新线程。有任何想法吗。我是菜鸟,所以要温柔。这是我的代码:

    public class LocationActivity extends Thread{

private LocationManager locManager;
private LocationListener locListener;

public void startLocation(Context context, String usr_id2)
{
final String usr = usr_id2;

//get a reference to the LocationManager
locManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);


//checked to receive updates from the position
locListener = new LocationListener() {
public void onLocationChanged(Location location) {
SendActivity.send(location, usr);
}
public void onProviderDisabled(String provider){
//labelState.setText("Provider OFF");
}
public void onProviderEnabled(String provider){
//labelState.setText("Provider ON ");
}
public void onStatusChanged(String provider, int status, Bundle extras){
//Log.i("", "Provider Status: " + status);
}
};

Looper looper = null;
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener, looper);
}
}

还有一个问题,我会在此处添加循环程序还是在实际将信息发送到数据库的类中添加循环程序吗?它使用 HTTP Post 发送到 PHP 程序,该程序将信息添加到 MySQL 数据库。

最佳答案

我很想在这里尝试不同的策略。 Android 有一个名为 AsynTask 的类编写它是为了减轻开发人员在线程上完成的卸载工作的负担。

AsyncTask enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.

在写入数据库并将数据发送回服务器方面,我会考虑使用 Service ,但请记住,唯一不在 UI 线程上 native 运行的服务是 IntentService

关于java - 创建新线程 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483692/

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