android http请求报错 联网操作只能运行在工作线程中,你起一个Thread 或者使用AsyncTask都可以的。登录完成后,你可以使用Handler发消息给主线程去更新UI。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if(validate()){ if(login()){ Intent intent = new Intent(MainActivity.this, MainOhterActivity.class); startActivity(intent); }else{ showDialog("用户名称或者密码错误,请重新输入!"); }Login()方法里面的 String result = query(username, pwd);这里的问题,建议:1,使用开源的网络访问框架,如:afinal , volley 等2,自己封装一个网络访问机制的类3,若只为解决当前问题,创建子线程,将访问网络的这块放入其中便可 在你的activity的oncreate中,加入以下代码:int SDK_INT = android.os.Build.VERSION.SDK_INT; if (SDK_INT >= 11) { StrictMode .setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites() .detectNetwork() // 这里可以替换为detectAll() // 就包括了磁盘读写和网络I/O .penaltyLog() // 打印logcat,当然也可以定位到dropbox,通过文件保存相应的log .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() // 探测SQLite数据库操作 .penaltyLog() // 打印logcat .penaltyDeath().build()); }当然,我还是不赞成用主线程做网络访问的。因为会导致UI界面卡死。 4.0以后不能在主线程访问网络,在一个新线程中访问new Thread(){ public void run() { //访问网络 }}.star(); 我用了你说的volley框架,JsonObjectRequest这个东西是异步的啊,为什么要请求两次我的url地址呢 我用了你说的volley框架,JsonObjectRequest这个东西是异步的啊,为什么要请求两次我的url地址呢我的博客,你可以借鉴下:http://blog.csdn.net/gao_chun/article/details/34117083 要做android上的推送,android push notification / mqtt 这类开源方案怎么样? 我想限制返回键返回某个界面,请问这个可以时间吗 关于UNITY3D添加汉字的问题 android2.3编译遇到错误,求教! android:layout_x标签实效的问题,又很诡异 Android 2.2 源码下的demo Camera(原版)的Video运行会挂掉.求解 android 多分辨率问题 Android无法创建虚拟机 Android实时录像中如何添加时间戳? Android 传递 数据 intent 怎么将两个字的string中间加个空格 移动卡 显示R的信号标志
if(login()){
Intent intent = new Intent(MainActivity.this, MainOhterActivity.class);
startActivity(intent);
}else{
showDialog("用户名称或者密码错误,请重新输入!");
}Login()方法里面的 String result = query(username, pwd);这里的问题,
建议:
1,使用开源的网络访问框架,如:afinal , volley 等
2,自己封装一个网络访问机制的类
3,若只为解决当前问题,创建子线程,将访问网络的这块放入其中便可
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT >= 11) {
StrictMode
.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites()
.detectNetwork() // 这里可以替换为detectAll()
// 就包括了磁盘读写和网络I/O
.penaltyLog() // 打印logcat,当然也可以定位到dropbox,通过文件保存相应的log
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects() // 探测SQLite数据库操作
.penaltyLog() // 打印logcat
.penaltyDeath().build());
}当然,我还是不赞成用主线程做网络访问的。因为会导致UI界面卡死。
new Thread()
{
public void run()
{
//访问网络
}}.star();
我用了你说的volley框架,JsonObjectRequest这个东西是异步的啊,为什么要请求两次我的url地址呢
我用了你说的volley框架,JsonObjectRequest这个东西是异步的啊,为什么要请求两次我的url地址呢
我的博客,你可以借鉴下:
http://blog.csdn.net/gao_chun/article/details/34117083