JSoup 不适用于 AsyncTask

2024-03-16

我注意到我的应用程序发生了一件有趣的事情(我在 AsyncTask 中使用 Jsoup)

之后我的应用程序崩溃了。 LogCat 是:

 12-15 11:16:43.023: I/dalvikvm(371): Could not find method org.jsoup.Jsoup.connect, referenced from method com.example.myexample.MainActivity$MyTask.doInBackground
12-15 11:16:43.033: W/dalvikvm(371): VFY: unable to resolve static method 3462: Lorg/jsoup/Jsoup;.connect (Ljava/lang/String;)Lorg/jsoup/Connection;
12-15 11:16:43.033: D/dalvikvm(371): VFY: replacing opcode 0x71 at 0x0003
12-15 11:16:43.033: D/dalvikvm(371): VFY: dead code 0x0006-000d in Lcom/example/myexample/MainActivity$MyTask;.doInBackground ([Ljava/lang/String;)Ljava/lang/String;
12-15 11:16:43.113: W/dalvikvm(371): threadid=9: thread exiting with uncaught exception (group=0x40015560)
12-15 11:16:43.133: E/AndroidRuntime(371): FATAL EXCEPTION: AsyncTask #1
12-15 11:16:43.133: E/AndroidRuntime(371): java.lang.RuntimeException: An error occured while executing doInBackground()
12-15 11:16:43.133: E/AndroidRuntime(371):  at android.os.AsyncTask$3.done(AsyncTask.java:200)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-15 11:16:43.133: E/AndroidRuntime(371):  at java.lang.Thread.run(Thread.java:1019)

与异步相关的致命异常!但我不明白为什么 我的应用程序:

public class MainActivity extends Activity {
MyTask mt;
  TextView tvInfo;
  String URL="http://en.wikipedia.org/";
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tvInfo = (TextView) findViewById(R.id.tvInfo);
  }

  public void onclick(View v) {
    mt = new MyTask();
    mt.execute(URL);
  }

  class MyTask extends AsyncTask<String, Void, String> {
      Document doc;
      String title=null;
      String what1=null;
    @Override
    protected void onPreExecute() {
      super.onPreExecute();
      tvInfo.setText("Please wait...");
    }

    protected String doInBackground(String... params) {
      // TimeUnit.SECONDS.sleep(2);
       String url=params[0];
       Document doc;

    try {
        doc = Jsoup.connect(url).get();
        String what1=doc.title();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


      return what1;
    }

    protected void onPostExecute(String result) {
      super.onPostExecute(result);
      tvInfo.setText(result);
    }
  }
}

如果我更改代码(没有 JSoup),异步效果很好:

public class MainActivity extends Activity {
MyTask mt;
  TextView tvInfo;
  String URL="http://en.wikipedia.org/";
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tvInfo = (TextView) findViewById(R.id.tvInfo);
  }

  public void onclick(View v) {
    mt = new MyTask();
    mt.execute(URL);
  }

  class MyTask extends AsyncTask<String, Void, String> {
      Document doc;
      String title=null;
    @Override
    protected void onPreExecute() {
      super.onPreExecute();
      tvInfo.setText("Please wait");
    }

    protected String doInBackground(String... params) {
      // TimeUnit.SECONDS.sleep(2);
       String url=params[0];
       //doc = Jsoup.connect(url).get();
       //String title = doc.title();
      // Log.d("AsyncTask doInBackground","URL: " + params[0]);
      return url;
    }

    protected void onPostExecute(String result) {
      super.onPostExecute(result);
      tvInfo.setText(result);
    }
  }
}

在 TextView 中我得到了 Wiki 的 URL。 拜托,任何人都可以帮我解决这个问题吗? 谢谢你!

P.S 我在清单文件中添加了互联网的权限 P.P.S 我使用 JSoup 版本 1.7.1(作为外部 jar 文件添加)


我这样做是右键单击项目 - >构建路径 - >添加外部档案

请撤消该操作,然后创建一个libs/项目中的目录(作为同级src/, res/等)(如果您还没有)。然后,将 JSoup JAR 放入libs/目录。这都会将其添加到您的构建路径中and将其内容包含在您的 APK 文件中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSoup 不适用于 AsyncTask 的相关文章

  • 如何使用 WifiEnterpriseConfig 设置“使用系统证书”

    我想为我的应用程序的用户配置企业 WiFi 网络 因此 用户必须输入用户名和密码 其余的由应用程序处理 身份验证由 RADIUS 服务器 FreeRadius 3 处理 该服务器使用 LetsEncrypt 颁发的证书 因此无需导入我自己的
  • 如何在Android 4.2中更改Action Bar选项菜单的背景颜色?

    我想更改 Android 4 2 中选项 溢出 菜单的背景颜色 我已经尝试了所有方法 但它仍然显示主题设置的默认颜色 我使用了以下代码和 XML 配置 MainActivity java public class MainActivity
  • PopupWindow onitemclick 中的 Android Listview 在某些设备上不起作用

    我的 ListView 在 PopupWindow 内 当我显示 PopupWindow 并单击设备 ASUS K00z 中的 Listview 行时 fonepad 工作得很好 但在 HTC Z715e 中不起作用 项目单击事件未触发 1
  • 将JSON数据解析到Android ListView中

    我已经潜伏这个网站很长一段时间了 幸运的是 到目前为止我所有的问题都得到了解答 我希望你们中的一些人能够阐明我的问题 我可以成功地让 ListView 来显示字符串数组 但是当我尝试将 JSON 数据解析为数组时 我的程序只是强制关闭 而
  • 当前版本的Android Gradle插件不支持按需配置

    升级到 Android Studio 3 1 2 后 出现以下错误 当前版本的 Android Gradle 插件不支持按需配置 因为您使用的是 Gradle 4 6 或更高版本 建议 通过在 gradle properties 文件中设置
  • 如何在 Jetpack compose 中制作 FlipCard 动画

    我有一个现有的应用程序 我在其中使用 XML 中的 Objectanimator 实现了 FlipCard 动画 如下所示 如果我点击一张卡片 它会水平翻转 但现在我想将其迁移到 jetpack compose 那么jetpack comp
  • Firebase Messaging FCM 在可配置的时间间隔内分发

    当您使用 FCM 向给定应用程序的所有设备发送推送时 这可能会导致许多用户同时打开他们的应用程序 从而导致大量服务器轮询 从而导致负载峰值 有没有一种方便的方法可以在给定的时间间隔内分发消息以进行计划推送 最后 我们找到了一种可能的方法 通
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 该项目可能使用的 Gradle 版本不包含“compileSdkVersion()”方法

    当我尝试运行最初在 Eclipse ADT 上创建的项目时 我遇到了这个问题 Error 17 0 Gradle DSL method not found compileSdkVersion Possible causes ul li Th
  • java.net.ProtocolException:流意外结束

    我面临一个奇怪的问题 并且无法调试它 我已经实现了上传数据流的逻辑 并使用 Volley 来实现相同的功能 我在HurlStack addBodyIfExistsapi 以便可以处理 application octet stream 类型的
  • Android volley使用RequestFuture.get()时出现超时异常

    在我的片段中 我尝试使用 TMDB 的开放电影数据库来获取有关 正在播放 电影的详细信息 如果我使用 RequestFuture get time TimeUnit 方法来执行此齐射请求 我总是会收到超时错误 如果我在 Safari 中手动
  • 垂直从上到下线手势检测器

    我用的是 手势工具 注意到对于垂直从上到下的线无法检测 因为我在代码中使用生成的手势文件 如下所示 但无法检测垂直从上到下的线手势检测 import java util ArrayList import android app Activi
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • Android 10 请求 ACTIVITY_RECOGNITION 权限

    我试图遵守 Google 的要求 为 Android 10 请求 ACTIVITY RECOGNITION 权限 但我似乎不明白为什么没有显示权限弹出窗口 就像其他权限 即位置 存储等 一样 我的代码是 if ContextCompat c
  • 如何获取小区广播消息?

    我尝试像模拟人生一样获取小区广播消息的文本 但它不起作用 public class SMSReceiver extends BroadcastReceiver Override public void onReceive Context c
  • 可用屏幕的尺寸

    我使用的是 Nexus 7 1280x800 android 4 2 2 API 17 我想获取屏幕的大小 将其划分为相同高度和宽度的正方形部分 我正在使用 FrameLayout 我的方块是 ImageView 的子类 我这样做 cont
  • 在循环中按名称访问变量

    我正在开发一个 Android 项目 并且有很多可绘制对象 这些绘图的名称都类似于icon 0 png icon 1 png icon 100 png 我想将这些可绘制对象的所有资源 ID 添加到整数 ArrayList 中 对于那些不了解
  • 按“重置应用程序首选项”后,我的应用程序的所有权限都被撤销

    我开发了一个应用程序 支持Android 6 0 当我在 设置 gt 应用程序 gt 重置应用程序首选项 中重置应用程序首选项时 我的应用程序的所有权限都将被撤销 并且应用程序不会重新启动 撤销权限后未能重新启动应用程序可能会导致许多意外崩
  • Android Studio 中自动打开“运行设备”选项卡

    在 Android Studio Flamingo 中有一个名为跑步设备并且它会在每次之后自动打开运行应用程序 有办法禁止这个自动打开吗 我尝试禁用启用物理 Android 设备的镜像选项 但选项卡仍然自动打开 基于此issue https
  • Android Volley - 发布请求 - 无法在线工作

    我试图通过 Volley 发出 POST 请求 它在我的本地主机中工作得很好 但是当我将它移动到网络服务器时 响应为空 Java代码 RequestQueue queue Volley newRequestQueue this String

随机推荐

  • 使用支持向量回归进行时间序列预测

    我一直在尝试使用Python语言中的支持向量回归来实现时间序列预测工具 我使用 scikit learn 中的 SVR 模块进行非线性支持向量回归 但我对未来事件的预测有严重的问题 回归线非常适合原始函数 根据已知数据 但一旦我想预测未来的
  • 使用 C++/STL 存储二进制数据的“正确”方式

    一般来说 在 C 中存储二进制数据的最佳方式是什么 据我所知 这些选项几乎可以归结为使用字符串或向量 我将省略 char 和 malloc 的可能性 因为我特指 C 通常我只使用一个字符串 但是我不确定是否缺少一些开销 或者 STL 内部进
  • 在 Django 中从基本模型实例转换为派生代理模型?

    我想为 Django 的默认 User 类定义一个代理模型 如下所示 class MyUser User def pretty username self if self first name return self first name
  • 非本地人()在哪里?

    如何获取当前作用域的非局部变量 功能vars locals and globals存在 但是有没有一个函数可以获取nonlocals 为什么打电话时没有列出外地人vars Update 我的问题是 无法枚举当前作用域中可用的变量 因为两者都
  • 如何在Delphi中调用WinAPI函数SetDllDirectory()?

    我想防止通过访问当前工作目录来加载恶意 DLL 如中所述http msdn microsoft com en us library ff919712 VS 85 aspx http msdn microsoft com en us libr
  • XEP - 0055 与 iOS 和 ejabberd?

    我正在尝试实现 ejabbed 支持的 XEP 0055 如下所示支持的 xep https www ejabberd im protocols 这是我的要求 XMPPIQ iq XMPPIQ alloc init iq addAttrib
  • Javascript 闭包 - 变量与参数

    我正在尝试学习 Javascript 闭包 我很难理解这样一个事实 当您在循环中创建多个闭包时 所有闭包仅保存变量的最后状态 通过这个例子 var links document getElementsByTagName a for var
  • Azure 搜索是否提供 Etag 来管理添加、更新或删除文档的并发性?

    如何管理 Azure 搜索中的并发 https learn microsoft com en us azure search search howto concurrency 这里据说Azure Search提供了乐观并发模型 资源上没有锁
  • 与绘制单独的线条相比,绘制图形更快的方法有哪些?

    截至目前 我正在使用拉伸到必要高度的 1px 矩形来绘制调试性能图 但以这种方式绘制大量数据会导致显着的性能损失 目前的逻辑是 收集当前帧的所有时序 将它们放入Queue
  • 选择分组数据的最小数据 - 保留所有列[重复]

    这个问题在这里已经有答案了 我在这里碰壁了 我有一个dataframe 很多行 这是示意性示例 myDf ID c1 c2 myDate A 1 1 01 01 2015 A 2 2 02 02 2014 A 3 3 03 01 2014
  • Scala 中的类型擦除

    我对这里发生的事情感到很困惑 import scala collection immutable object Main extends App sealed trait Node sealed trait Group case class
  • 注册新 net_device 的正确方法是什么?

    我正在尝试注册一个新的net device在linux中 我可以正确分配和注册它并且ifconfig显示它 当我尝试打开界面时 问题出现了 ifconfig my dev up 发生内核冻结 问题仅出现在 x86 计算机上 我无法找出原因
  • 在Factory Boy中,如何连接Faker创建的字符串?

    我想用工厂男孩 http factoryboy readthedocs io en latest index html and 它的支持 http factoryboy readthedocs io en latest realistic
  • jquery 使用智能投票插件进行轮询

    我一生都在努力让这个插件正常工作 但我不理解状态函数 因此重试不会触发 poll 10000 function retry get willfail function response status if status success Do
  • 从字典中查找 n 个最大值

    我正在 Python 项目中工作 我遇到了一个问题 正如我在下面解释的那样 但涉及其他数据 例如 如果我有这个字典 fruitsCount apple 24 orange 20 banana 18 grape 13 kiwi 13 如何返回
  • Java整数超出范围[重复]

    这个问题在这里已经有答案了 我正在学习 Java 正在尝试一些小程序 我对这个有一个问题 Compute the number of cubic inches in 1 cubic mile class Inches public stat
  • 新的 Chrome 更新取消了 wmode=transparent

    最新版本的 Chrome 似乎已经取消了我的 SWF 上的透明背景 在网站上 我使用 Flash 在元素顶部添加透明视频 然而 在最新版本的 Chrome 下 背景现在是黑色的 这个问题已经被问过几次了 但没有得到任何答案 这是我的代码
  • 当 PHP 是您的主要语言时,在 SQL Server 数据库中存储日期/时间的首选格式是什么?

    我正在计划一个需要在 MSSQL 数据库中存储日期 时间的 PHP 应用程序 出于好奇 它是一个日历应用程序 存储此信息的首选格式是什么 MSSQL 有自己的日期时间数据类型 它在数据库本身中运行良好并且可读性很强 然而 没有任何 MSSQ
  • 在 MATLAB 中动态命名结构体变量

    我有几个文件 2011 01 01 txt 2013 01 02 txt 2015 02 01 txt 等 我希望为每个文件创建一个结构变量 以便 值是组成的 machine20110101 size 1 2 3 machine201101
  • JSoup 不适用于 AsyncTask

    我注意到我的应用程序发生了一件有趣的事情 我在 AsyncTask 中使用 Jsoup 之后我的应用程序崩溃了 LogCat 是 12 15 11 16 43 023 I dalvikvm 371 Could not find method