代码改变世界

Android Studio做登陆注册

  默默不语  阅读(1986)  评论(0编辑  收藏  举报

1.报错:Caused by: android.os.NetworkOnMainThreadException

  原因:在Android 4.0以上,网络连接不能放在主线程上,不然就会报错android.os.NetworkOnMainThreadException。但是4.0下版本可以不会报错。

  解决方法:

  ①可以再Activity的onCreate()方法中加入这样一段代码,适用于网络请求数据量很小的话,如下

 

if (android.os.Build.VERSION.SDK_INT > 9) {

    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

    StrictMode.setThreadPolicy(policy);

}

  ②启动一条子线程进行你的网络请求,推荐使用这种

复制代码
// Android 4.0 之后不能在主线程中请求HTTP请求

            new Thread(new Runnable(){

                @Override

                public void run() {

                    cachedImage = asyncImageLoader.loadDrawable(imageUrl, position);

                    imageView.setImageDrawable(cachedImage);

                }

            }).start();
复制代码

转自:https://blog.csdn.net/qq_29477223/article/details/81027716?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

 

2.报错: Caused by: java.net.ConnectException: Connection refused

  解决方法:

源代码:

String url = "jdbc:mysql://localhost:3306/bishe_shoes";

修改:

//模拟器默认把localhost或者127.0.0.1当做本身,在模拟器上可以用10.0.2.2代替127.0.0.1和localhost
String url = "jdbc:mysql://10.0.2.2:3306/bishe_shoes";

 

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示