public class Test extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bb=(Button)findViewById(R.id.button);
//EditText tt=(EditText)findViewById(R.id.view);
bb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
run();
}
});
}
void run()
{
try {
// 创建一个默认的HttpClient
HttpClient httpclient = new DefaultHttpClient();
// 创建一个GET请求
HttpGet request = new HttpGet("http://www.baidu.com/");
HttpResponse response = httpclient.execute(request);
openOptionsDialog();
Log.v("response text", response.getEntity().toString() );
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void openOptionsDialog() {
// TODO Auto-generated method stub
new AlertDialog.Builder(this).setTitle( "aaa")
.setMessage("aaa")
.show();
}
}
红色,那句HttpResponse response = httpclient.execute(request); 就抛出异常了,请问是哪里错了。
能给我一个可以运行的 httpget 的例子吗?
解决方案 »
- TabActivity 中的dispatchKeyEvent事件响应
- 奇怪的问题!拍照得不到数据!
- 怎么样通过3G网络在电脑上看到手机摄像头拍的内容。
- .so 放到android真机的什么地方才可以运行呢?
- 为什么我进入android版块老出现这样的文字,我在别人电脑上就正常
- 如何查看Android模拟器的System分区空间
- app打开操作正常,home键后操作其他的或者过了一会再打开就报异常了
- 关于ListView的适配问题
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.exa
- JSONArray中带双引号问题
- 微云引擎的Chipmunk的shape无法绑定动画!!
- 100分求问,tablelayout中删除tablerow
WARN/System.err(285): java.net.UnknownHostException: www.baidu.com
WARN/System.err(285): at java.net.InetAddress.lookupHostByName(InetAddress.java:513)
WARN/System.err(285): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:278)
WARN/System.err(285): at java.net.InetAddress.getAllByName(InetAddress.java:242)
WARN/System.err(285): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
WARN/System.err(285): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
WARN/System.err(285): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
WARN/System.err(285): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
WARN/System.err(285): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
WARN/System.err(285): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
WARN/System.err(285): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
WARN/System.err(285): at dome.android.Test.run(Test.java:69)
WARN/System.err(285): at dome.android.Test$1.onClick(Test.java:53)
WARN/System.err(285): at android.view.View.performClick(View.java:2408)
WARN/System.err(285): at android.view.View$PerformClick.run(View.java:8816)
WARN/System.err(285): at android.os.Handler.handleCallback(Handler.java:587)
WARN/System.err(285): at android.os.Handler.dispatchMessage(Handler.java:92)
WARN/System.err(285): at android.os.Looper.loop(Looper.java:123)
WARN/System.err(285): at android.app.ActivityThread.main(ActivityThread.java:4627)
WARN/System.err(285): at java.lang.reflect.Method.invokeNative(Native Method)
WARN/System.err(285): at java.lang.reflect.Method.invoke(Method.java:521)
WARN/System.err(285): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
WARN/System.err(285): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
WARN/System.err(285): at dalvik.system.NativeStart.main(Native Method)
2、2.2的虚拟机, 2.2的开发包(API).
3、<uses-permission android:name="android.permission.INTERNET"></uses-permission> 我也注册了,
4、httpclient的包,只是程序提示引入,我才引入。
5、虚拟机能可以上网。
我只做了这些,还要其他的配置吗?import java.io.IOException;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.app.AlertDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
但是我以前做这个用例的时候,URL后面总被莫名其妙的多加一个斜杠导致无法访问。
你观察一下最终发送的URL是什么
String url = "http://10.1.49.137:8080/Good/TestServlet";
HttpConnect httpConnect = new HttpConnect(url, context);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("meetid", str1));
params.add(new BasicNameValuePair("name", str2));
params.add(new BasicNameValuePair("username", LoginActivity.username));
String result = httpConnect.getDataAsString(params);
return result;
}public String getDataAsString(List<NameValuePair> params) {
String result = null;
try {
httpRequest = new HttpPost(url);
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
httpResponse = httpClient.execute(httpRequest);
if (200 == httpResponse.getStatusLine().getStatusCode()) {
result = EntityUtils.toString(httpResponse.getEntity());
System.out.println("取得返回值" + result);
if (result.equals(YES)) {
return YES;
} else if (result.equals(NO)) {
return NO;
}
}
} catch (IOException e) {
return "error";
}
return NO;
}
输出是 :http://www.baidu.com/
你有类似的用例吗? 能给我一个get的简单一些的用例?
。。那个类是我写的啊,你看关键代码就可以了哦。
public HttpConnect(String url, Context context) {
this.url = url;
httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 15000);
HttpConnectionParams.setSoTimeout(httpParams, 15000);
httpClient = new DefaultHttpClient(httpParams);
}
getDataAsString也是HttpConnect里面我自己封装的方法。
不是吧。。我也觉得可以运行的,我是学了一点java上的httpclient在来看android的。
请问,你的虚拟机是什么版本的,需要什么设置吗?
HttpResponse response = httpclient.execute(request);io就抛出了异常。唉,痛苦啊。
2. 4.0以上就不允许在UI线程里面进行网络,是涉及到url操作的时候,访问网络不能在主程序中运行.