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 开机密码是如何实现的? 关于接口文档 enum文件处理问题 Android 在锁屏的时候屏蔽各种按键 Android调用系统相机问题,返回没有图像。G14测试未通过??? ERROR/AndroidRuntime 为何报错? 请教!android怎样自定义Spinner的菜单模式,只需要.xml文件就行 遇到个AlertDialog.Builder多选问题 安卓 绘制图表的问题 android如何在加载图片的时候再ImageView里边给一个加载中的提示 怎么将两个字的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