java - (Java) 线程不会执行

标签 java android multithreading

我主要使用 C# 并开始使用 Java 进行开发。我无法启动线程 :(

public class GetLocationInfo implements Runnable{

String address;
double latitude;
double longitude;

public void run() {
    HttpGet httpGet = new HttpGet("http://maps.google.com/maps/api/geocode/json?latlng=42.993504,-79.239167&sensor=false");
    //HttpGet httpGet = new HttpGet("http://maps.google.com/maps/api/geocode/json?latlng="+latitude+","+longitude+"&sensor=false");
    HttpClient client = new DefaultHttpClient();
    HttpResponse response;


    try {
        response = client.execute(httpGet);
        HttpEntity entity = response.getEntity();
        InputStream stream = entity.getContent();

        JsonReader reader = new JsonReader(new InputStreamReader(stream, "UTF-8"));

        reader.beginObject();
        while (reader.hasNext()) {
            String name = reader.nextName();
            if (name.equals("formatted_address")) {
                address = reader.nextString();
            } else
                reader.skipValue();
        }
        reader.endObject();
    } catch (ClientProtocolException e) {
    } catch (IOException e) {
    }
}


public String GetAddress(double lat, double lng) {

    latitude = lat;
    longitude = lng;

    Thread thread = new Thread(this);

    thread.start();
    return address;
}
}

我在覆盖的 run() 方法中设置了断点,但似乎没有在此方法中执行任何内容。如果你们能帮我解决这个问题,我将不胜感激。

干杯

最佳答案

不建议使用这种获取位置的方式,我会用谷歌服务在这里做一个很好的例子。

http://www.tutorialspoint.com/android/android_location_based_services.htm

如果您确定要使用该代码,我建议您使用 AsyncTask http://developer.android.com/reference/android/os/AsyncTask.html

关于java - (Java) 线程不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27449985/

相关文章:

java - 我如何检查所有复选框,甚至是分页隐藏的复选框?

java - Hadoop 多节点集群设置

java - 允许某些字符不受 ESAPI 编码器的影响吗?

android - 找不到通过 Flutter Module 构建的本地 aar

c++ - 从导致AccessViolationException的线程访问文件缓冲区

java - HttpClient 卡住了,没有任何异常

java - JSONException : Value of type java. lang.String 无法转换为 JSONObject

android - 登录屏幕 Activity 中带有后退按钮的不良行为

java - 我应该将 boolean 字段设置为易变的吗?

java 生产者-消费者多线程基准测试。为什么会停下来?