安卓程序无法获取位置信息的问题

半岛铁盒里的猫 2014-12-01 10:26:41
写了个安卓程序来获取网页位置信息:
MainActivity.java:
package com.example.location03;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
//import android.content.DialogInterface;
//import android.content.DialogInterface.OnClickListener;

public class MainActivity extends Activity {

private Button geocoding = null;
private Button reverseGeocoding = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
geocoding = (Button)findViewById(R.id.geocoding);
geocoding.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {

new Thread(){
public void run(){
Log.d("yinan", "run");/////////
String url = "http://maps.google.com/maps/api/geocode/json?address=SFO&sensor=false";
String responseData = "" ;
Log.d("yinan", "url");/////////
HttpClient httpClient = new DefaultHttpClient();
Log.d("yinan", "DefaultHttpClient");/////////
try {
Log.d("yinan", "#############");/////////
HttpResponse httpResponse = httpClient.execute(new HttpGet(url));
Log.d("yinan", "httpResponse");/////////
HttpEntity entity = httpResponse.getEntity();
Log.d("yinan", "Entity!!!");/////////
BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent()));
String str;
Log.d("yinan", "OnClickListener");/////////
while((str = br.readLine()) != null){
Log.d("yinan", str);
}

} catch (ClientProtocolException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}
}

}.start();

}

});




}
}

后面带有“/////////////”的语句是调试用的。运行程序点按下按钮输出到Log.d("yinan", "#############");/////////结束,说明没有执行
HttpResponse httpResponse = httpClient.execute(new HttpGet(url));语句,为什么,求帮助~~~!
...全文
339 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 tiantang198707 的回复:
你这个应该不是说明没执行,是在execute被block了,设置一下time out或者访问一下国内的url试一下什么情况
阻塞的话是修改time out么?怎么改?
heaven_wsh 2014-12-02
  • 打赏
  • 举报
回复
引用 2 楼 sinat_23092639 的回复:
[quote=引用 1 楼 tiantang198707 的回复:] 你这个应该不是说明没执行,是在execute被block了,设置一下time out或者访问一下国内的url试一下什么情况
怎么看得出不是没执行?[/quote] 你描述里说“运行程序点按下按钮输出到Log.d("yinan", "#############");/////////结束”,如果是我的话,只会考虑两种情况 1. 下面一句程序抛出了异常 2. 下面一句程序block了,程序走不下去了 其它的,想不出什么理由程序执行到这里不继续执行。
  • 打赏
  • 举报
回复
引用 1 楼 tiantang198707 的回复:
你这个应该不是说明没执行,是在execute被block了,设置一下time out或者访问一下国内的url试一下什么情况
怎么看得出不是没执行?
  • 打赏
  • 举报
回复
急,求高人指点~~~~~
heaven_wsh 2014-12-01
  • 打赏
  • 举报
回复
你这个应该不是说明没执行,是在execute被block了,设置一下time out或者访问一下国内的url试一下什么情况

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧