Java 修复NetworkOnMainThreadException而不使用异步代码
我希望应用程序在其主线程上使用网络操作,而不引发NetworkOnMainThreadException。我不想用异步代码来解决这个问题。我听说,您可以通过使用以下代码来绕过NetworkOnMainThreadException,而无需使用异步代码,答案链接如下: 答案说明您可以在类中使用此代码,它将忽略NetworkOnMainThreadException,代码将毫无问题地执行,但当我在类中尝试此代码时,我得到了“标识符预期”错误。我做错了什么Java 修复NetworkOnMainThreadException而不使用异步代码,java,exception,networking,jsoup,networkonmainthread,Java,Exception,Networking,Jsoup,Networkonmainthread,我希望应用程序在其主线程上使用网络操作,而不引发NetworkOnMainThreadException。我不想用异步代码来解决这个问题。我听说,您可以通过使用以下代码来绕过NetworkOnMainThreadException,而无需使用异步代码,答案链接如下: 答案说明您可以在类中使用此代码,它将忽略NetworkOnMainThreadException,代码将毫无问题地执行,但当我在类中尝试此代码时,我得到了“标识符预期”错误。我做错了什么 package com.example.my
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.View;
import android.widget.EditText;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public class myClass {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
public void connect(View v) throws IOException {
Document doc = Jsoup.connect("http://www.google.com//").get();
}
}
}
为什么?正如几十条评论所说,这是一项非常糟糕的技术。使用公认的答案。为什么?正如几十条评论所说,这是一项非常糟糕的技术。使用公认的答案。
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.View;
import android.widget.EditText;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public class myClass {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
public void connect(View v) throws IOException {
Document doc = Jsoup.connect("http://www.google.com//").get();
}
}
}