java - 通过 Android/Java 同步 API 调用

标签 java android

有谁知道如何通过android进行同步调用?我基本上不想继续下去,直到我从服务器返回 y/n 响应。

这是我拥有的最简单的代码版本

URL url = new URL("http://google.com");
HttpURLConnection connection = (HttpURLConnection) 
url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int code = connection.getResponseCode();

但是它给了我这个错误,因为它是在主线程上创建的。

NetworkOnMainThreadException

非常感谢任何帮助,谢谢

最佳答案

基本上,您可以在MainThread 上进行HTTP 调用。

有很多方法,例如创建可运行线程或 AsyncTask 等。尝试以下代码 fragment :

new Thread(new Runnable()
    {
        public void run()
        {
            try
            {
              //your HTTP request code..      
            }
            catch (IOException e)
            {
                //Handle exceptions
                e.printStackTrace();
            }
        }
    }).start();

要进一步阅读多线程,请参阅 Android 开发人员 documentation .

关于java - 通过 Android/Java 同步 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45932036/

相关文章:

java - Jooq - 使用 UpdatableRecord 对 select 的结果进行排序

android - 返回 fragment 和嵌套 fragment

java - 在 Android 应用程序中匹配联系人号码

java - 如何将json字符串反序列化为对象

java - 使用 XmlSerializer 将纯文本添加到 xml

android - 重复构建失败 "To use Coroutine features, you must add ` ktx`......"

javascript - 如何在类文件中创建检查 NetworkConnectionStatus 并在 mainactivity 中使用

Java:从文件扫描到数组列表,然后最小/最大/平均值/标准偏差

java - 如何使 J2ME 应用程序在后台运行?

java - Log4j2:仅记录到文件,没有控制台?