android中的http连接出错
我得到这个错误。我不知道怎么了。有人能帮我吗?搜索了一点,但不知道如何解决它。。。有点紧急 这是我的代码:android中的http连接出错,android,json,http,Android,Json,Http,我得到这个错误。我不知道怎么了。有人能帮我吗?搜索了一点,但不知道如何解决它。。。有点紧急 这是我的代码: package nearest.moskee.almawada; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; import java.uti
package nearest.moskee.almawada;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
import java.util.Locale;
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.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.location.Address;
import android.location.Geocoder;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.google.android.maps.GeoPoint;
public class MoskeeJSON extends Activity {
private Handler mHandler = new Handler(Looper.getMainLooper());
String url;
HttpClient httpclient;
InputStream is = null;
private class MyAsyncTask extends AsyncTask<Void, Void, Void> {
ProgressDialog mProgressDialog;
@Override
protected void onPostExecute(Void result) {
mProgressDialog.dismiss();
}
@Override
protected void onPreExecute() {
mProgressDialog = ProgressDialog.show(MoskeeJSON.this,
"Loading...", "Data is Loading...");
}
@Override
protected Void doInBackground(Void... params) {
try {
HttpPost httppost = new HttpPost(url);
//HttpGet httppost = new HttpGet(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
Log.e("url", url);
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
return null;
}
}
public JSONArray getCloseMosquesInJSON(float lat, float lng, float radius) {
String result = "";
try {
httpclient = new DefaultHttpClient();
url = "http://www.moskee.org/finder/getCloseDataInJSON.php?lat="
+ lat + "&lng=" + lng + "&radius=" + radius;
new MyAsyncTask().execute();
Log.v("URL =>", url);
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
Log.e("result", result);
Log.e("resultLength", result.length() + "");
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
// parse json data
if (result.length() == 5) {
Log.i("result is ", "LEEG");
return null;
} else {
JSONArray jArray = null;
try {
jArray = new JSONArray(result);
} catch (JSONException e) {
Log.e("log_tag", "Error parrsing data " + e.toString());
}
return jArray;
}
}
JSONObject jsonObject;
StringBuilder stringBuilder;
}
package.moskee.almawada;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.util.List;
导入java.util.Locale;
导入org.apache.http.HttpEntity;
导入org.apache.http.HttpResponse;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.HttpClient;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.location.Address;
导入android.location.Geocoder;
导入android.os.AsyncTask;
导入android.os.Handler;
导入android.os.Looper;
导入android.util.Log;
导入com.google.android.maps.GeoPoint;
公共类MoskeeJSON扩展活动{
私有处理程序mHandler=新处理程序(Looper.getMainLooper());
字符串url;
HttpClient-HttpClient;
InputStream=null;
私有类MyAsyncTask扩展了AsyncTask{
进程对话框;
@凌驾
受保护的void onPostExecute(void结果){
mProgressDialog.disclose();
}
@凌驾
受保护的void onPreExecute(){
mProgressDialog=ProgressDialog.show(MoskeeJSON.this,
“正在加载…”,“数据正在加载…”);
}
@凌驾
受保护的Void doInBackground(Void…参数){
试一试{
HttpPost HttpPost=新的HttpPost(url);
//HttpGet httppost=新的HttpGet(url);
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
is=entity.getContent();
Log.e(“url”,url);
}捕获(例外e){
e(“Log_标记”,“http连接错误”+e.toString());
}
返回null;
}
}
公共JSONArray getCloseMosquesInJSON(浮子纬度、浮子液化天然气、浮子半径){
字符串结果=”;
试一试{
httpclient=新的DefaultHttpClient();
url=”http://www.moskee.org/finder/getCloseDataInJSON.php?lat="
+纬度+”&lng=“+lng+”&radius=“+radius;
新建MyAsyncTask().execute();
Log.v(“URL=>”,URL);
}捕获(例外e){
e(“Log_标记”,“http连接错误”+e.toString());
}
//将响应转换为字符串
试一试{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(
is,“iso-8859-1”),8);
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
结果=sb.toString();
Log.e(“结果”,结果);
Log.e(“resultLength”,result.length()+”);
}捕获(例外e){
Log.e(“Log_标记”,“错误转换结果”+e.toString());
}
//解析json数据
if(result.length()==5){
Log.i(“结果是”、“LEEG”);
返回null;
}否则{
JSONArray-jArray=null;
试一试{
jArray=新的JSONArray(结果);
}捕获(JSONException e){
Log.e(“Log_标记”,“错误鹦鹉学舌数据”+e.toString());
}
返回jArray;
}
}
JSONObject JSONObject;
StringBuilder StringBuilder;
}
错误
06-07 15:04:07.329:I/dalvikvm(1643):线程ID=3:对信号3作出反应
06-07 15:04:07.370:I/dalvikvm(1643):将堆栈跟踪写入
“/data/anr/traces.txt”06-07 15:04:07.828:I/dalvikvm(1643):
threadid=3:对信号3 06-07 15:04:07.898:I/dalvikvm(1643)作出反应:
将堆栈跟踪写入“/data/anr/traces.txt”06-07 15:04:07.988:
D/gralloc_goldfish(1643):未检测到GPU仿真的仿真器。
06-07 15:04:24.098:D/InputEventConsistencyVerifier(1643):按键事件:
动作向上,但键未按下。06-07 15:04:24.098:
D/InputEventConsistencyVerifier(1643):在
android.widget。EditText@412aa7f0 06-07 15:04:24.098:
D/InputEventConsistencyVerifier(1643):0:发送至169074760000,
KeyEvent{action=action\u UP,keyCode=keyCode\u选项卡,扫描码=15,
metaState=0,flags=0x8,repeatCount=0,eventTime=16907476,
停机时间=16907424,设备ID=0,源=0x301}06-07 15:04:24.098:
D/InputEventConsistencyVerifier(1643):--最近的事件--06-07
15:04:24.098:D/InputEventConsistencyVerifier(1643):1:sent at
1690254620800,MotionEvent{action=action\u UP,id[0]=0,x[0]=229.0,
y[0]=2.0,工具类型[0]=TOOL_-TYPE_-FINGER,buttonState=0,metaState=0,
flags=0x0,edgeFlags=0x0,pointerCount=1,historySize=0,
eventTime=16902546,宕机时间=16902470,设备ID=0,源代码=0x1002}
06-07 15:04:24.098:D/InputEventConsistencyVerifier(1643):2:sent
在16902470916000,MotionEvent{action=action_DOWN,id[0]=0,
x[0]=229.0,y[0]=2.0,工具类型[0]=TOOL\u TYPE\u FINGER,按钮状态=0,
metaState=0,flags=0x0,edgeFlags=0x0,pointerCount=1,historySize=0,
eventTime=16902470,停机时间=16902470,设备ID=0,源代码=0x1002}
06-07 15:04:27.649:V/Adres=>(1643):安特卫普皮伦伯格斯特拉特
06-07 15:04:27.649:V/IL地球点纬度=>(1643):51.18809127807617
06-07 15:04:27.669:V/IL地球点经度=>(1643):
4.380319118499756 06-07 15:04:27.679:E/GA(1643):GA 06-07 15:04:28.219:I/dalvikvm(1643):线程ID=3:对信号3作出反应06-07
15:04:28.339:I/dalvikvm(1643):将堆栈跟踪写入
“/data/anr/traces.txt”06-07 15:04:28.419:D
package nearest.moskee.almawada;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.AlertDialog;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
public class MoskeeResults extends MapActivity {
MapView mapView;
MapController mc;
GeoPoint p;
@SuppressWarnings("unused")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.myMap);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(
R.drawable.iconmoskee);
OverlayItems itemizedoverlay = new OverlayItems(drawable,this);
try {
MoskeeJSON m = new MoskeeJSON();
Bundle extras = getIntent().getExtras();
float lat = 0;
float lng = 0;
float radius = 1;
lat = (float) extras.getDouble("lat");
lng = (float) extras.getDouble("lng");
JSONArray arrMosques = m.getCloseMosquesInJSON(lat, lng, radius);
if (arrMosques != null) {
Log.i("Array aangemaakt", "Array is aangemaakt, het bevat "
+ arrMosques.length() + " moskeëen");
for (int i = 0; i < arrMosques.length(); i++) {
JSONObject row;
row = arrMosques.getJSONObject(i);
double jlat = row.getDouble("Latitude");
double jlng = row.getDouble("Longitude");
OverlayItem overlayitem = new OverlayItem(new GeoPoint(
(int) (jlat * 1e6), (int) (jlng * 1e6)),
row.getString("Naam"), row.getString("Straat"));
itemizedoverlay.addOverlay(overlayitem);
Log.i("=>", "Another mosque is added to the map");
}
Log.i("Array aangemaakt", "Array is aangemaakt, het bevat "
+ arrMosques.length() + " moskeëen");
AlertDialog alert = new AlertDialog.Builder(this)
.setTitle("Aantal gevonden moskeëen")
.setMessage(
"Er zijn " + arrMosques.length()
+ " moskeëen gevonden in deze straal")
.create();
alert.show();
} else {
AlertDialog alert = new AlertDialog.Builder(this)
.setTitle("Aantal gevonden moskeëen")
.setMessage(
"Er zijn geen moskeëen gevonden in deze straal.\nProbeer opnieuw te zoeken met een groter bereik")
.create();
alert.show();
}
mapOverlays.add(itemizedoverlay);
mc = mapView.getController();
GeoPoint center = new GeoPoint((int) (lat * 1e6), (int) (lng * 1e6));
Log.i("Center map?", "" + (int) (lat * 1e6) + ","
+ (int) (lng * 1e6));
mc.setCenter(center);
Log.i("Center map?", "Toegepast zonder erreurs");
mc.setZoom(17);
} catch ( JSONException e) {
// TODO Auto-generated catch block
Log.i("JASOEN EXCEPTIOEN",
"I have absolutely no idea what's going on..."
+ e.getMessage());
e.printStackTrace();
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
JSONArray arrMosques = m.getCloseMosquesInJSON(lat, lng, radius);
Log.i("Array aangemaakt", "Array is aangemaakt, het bevat " + arrMosques.length() + " moskeëen");
if (result.length() == 5) {
Log.i("result is ", "LEEG");
return null; // HERE
} else {
JSONArray jArray = null;
try {
jArray = new JSONArray(result);
} catch (JSONException e) {
Log.e("log_tag", "Error parrsing data " + e.toString());
}
return jArray; // HERE! might be null when JSONException was thrown
}