问题标签 [asynctaskloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4544 浏览

java - AsyncTaskLoader 用于 http 请求处理方向变化,使用泛型,继承

目前我正在使用异步 http 库对我们的服务器执行 http 请求。然而,这带来了一个问题,如果在屏幕旋转期间正在进行 http 调用,我们将在调用完成时引用旧上下文。我通过保持对 onCreate 中捕获的最新实例的静态引用来解决这个问题,并使用该引用调用方法(并在 onDestroy 中将其设为空)。它工作正常,但看起来像一个黑客。我见过有人推荐使用片段来处理这个问题,比如这里:

http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html

这似乎是个好主意,但我想我可以通过简单地让我的 Activity 扩展 FragmentActivity 并使用专门用于我正在做的事情的 AsyncTaskLoader 子类来实现这一点。

这是我的想法:实现一个带有 ApiRequest 并返回 ApiResponse 的 AsyncTaskLoader。但是,我希望能够继承 HttpAsyncTask 并覆盖解析响应的方法,以便我可以解析响应并将其转换为另一种扩展 ApiResponse 的对象。我不确定如何指定类型参数来实现这一点。

这是我的代码:

任何人都知道我该如何做到这一点?我不确定如何指定类型参数?我希望这个类能够按原样使用,并且能够对其进行子类化。关键是我不想在上面的 loadInBackground 方法中重新实现功能。我确定我可以只使用 ApiResponse 作为我的通用参数,然后将 onLoadFinished 中返回的 ApiResponse 对象转换为我期望的特定基类,但我宁愿以更类型安全的方式执行此操作。此外,我对完成基本相同但以另一种方式完成的想法持开放态度。

0 投票
0 回答
130 浏览

java - 升级我的 RSS 提要阅读器应用程序时遇到问题,从 AsycTask 到 AsyncTaskLoader 行为

您好,我使用 AsyncTask 实现了一个简单的 RSS Feed 阅读器,它运行良好。我正在尝试升级我的小 APP 以使用 ASYNCTASKLOADER,以学习如何使用 Loaders。

注意上面的两行代码:

班级的RSSMain...

通过取消/注释这两行,我决定使用哪种模式来尝试我的应用程序。当我尝试使用 getLoaderManager 阅读 RSS 提要时,我得到的只是一个空白 Activity。

附上我的代码。我的代码一定有一些概念上的错误,因为我对所有这些东西都不熟悉。有人现在如何解决它?

考虑到我 3 周前开始为 Android 编程,我的代码可能远非完美,因此欢迎提出任何改进意见!

0 投票
1 回答
1568 浏览

android - 安卓。你自己的进度条?

第 4 小时的搜索和没有结果都一样。一个我们不应该的事实。告诉我如何实现以下内容:

  1. 有执行某些操作的 AsyncTask
  2. 有以下形式的25张图片:图片 在此处输入图像描述
  3. 有Sheet Animation xml:

    • 有xml标记:

如何在方法中进入 AsyncTask:

受保护的无效onProgressUpdate(整数...进度){}

工作进度条不是无限的,但仅在将数据加载到 AsynkTask 时才会出现。

有时会发生数据已经启动动画并且仍在进行或没有营业额数据并且动画结束的情况。

请告诉我如何解决这个问题。感谢所有回复的人!

0 投票
0 回答
530 浏览

android - 使用 ListFragment Loader AsyncTaskLoader JSON 重复 Listview 结果

在我的Listfragment 中,我可以从在线服务器(1,2,3,4)加载我的JSON结果,但是当我按下主页按钮并返回我的应用程序时......现在我的Listview 有一个重复的列表 (1,2,3, 4,1,2,3,4),有时在旋转屏幕时会发生这种情况。

我读了很多......并且有很多帖子,但情况不同,所以这是我的情况......

我的用户界面... ViewPager > ListFragment

ListFragment:加载器、AsyncTaskLoader、BaseAdapter、JSON、HashMap

不使用/不是我的情况: Cursors、SQLite、ContentProvider、Activity、ListActivity、String[]

是的...我将 httpclient 更改为 httpurlconnection :)

并且变得更好......现在当我从另一个 Activity 回到我的 ListFragment 时,我选择了一个项目......我的应用程序崩溃!!!,LogCat 说: “适配器的内容已更改,但 ListView 没有收到通知. 确保您的适配器的内容不是从后台线程修改的,而只是从 UI 线程修改的”。

我想尝试使用runOnUiThread(),但显然不适用于 ListFragment,但 ListActivity ......不是我的情况。

简历:我觉得这两个问题是因为我解决不了好,onLoadingBackground()和onLoadingFinish()的过程……我不确定,我看不到!:S

而且...我正在使用android:configChanges="orientation|screenSize"并且...我感觉很糟糕,这是作弊!xD

以防万一...我没有使用 Volley,因为我想了解更多有关 JAVA/Android 逻辑的信息,并且因为如果我对 Volley 有任何疑问...回答问题的人会更少:S

我不想问这个,但是......几个小时前我读了一篇文章,上面写着:“我被困了一个多小时”。

什么???而且我被困在这三个多星期了,因为我正在尝试很多方法!!!:S(对不起我的英语不好......我正在努力,我会说西班牙语)

如果有人需要这些代码...

.

编辑:loadInBackground()

当我从 Activity 返回到此 Listfragment 并选择了一个项目时,应用程序崩溃了,因为我的 loadInBackground 更改了适配器的内容并且没有更新内容。现在,如果其他情况...应用程序不会崩溃,因为它检查适配器是否为空,然后运行 ​​loadInBackground 与否,但是...

我认为我这样做的方式......也许不是最合适的方式,我还没有到达那里,但我认为当我想要更新或添加更多结果时......这种方式可能行不通。任何帮助/示例?

.

新: onConfigurationChanged()

因为我一直在作弊,所以android:configChanges="orientation|screenSize"我尝试了,onConfigurationChanged()但它只在它configChanges停留在清单上时才有效/响应。所以我认为这个问题与我尝试解决 loadInBackground() 的方式有关,我不确定。

另一方面......我读了很多关于onCreate我的MainActivity的make,一个if来检查是否savedInstanceState为null,然后使用'getSupportFragmentManager().beginTransaction().findFragmentByTag()'之类的东西,当我尝试...事实证明这件事不起作用,因为在我的 MainActivity 上我有miPagerAdapter = new funcionPagerAdapter(getSupportFragmentManager());,我认为也许在我的情况下......它用另一种方式解决......但我不知道如何!:S

0 投票
0 回答
704 浏览

android - android Google Place API 附近的公交路线

我正在开发一个需要显示附近公交路线的 android 应用程序,我尝试了 Google Place API 并且可以正常工作。但加载似乎需要太多时间,我所做的是:

1-创建一个 asyncTaskLoader 以请求以下 URI 并获取所有“参考

maps.googleapis.com/maps/api/place/search/json?sensor=false&radius=500&types=bus_station&location=-33.8670522,151.1957362&key=AIzaSyCLt9AhFhVnU-HZJyfWJeaWCMc7G1IbBnU

2-当第 1 步完成时,创建 N 个 asyncTaskLoader(s) 以请求以下 URI,其中包含在第 1 步中收到的 N 个引用以获取“ url

maps.googleapis.com/maps/api/place/details/json?reference=reference_receive_from_step_1&sensor=false&key=AIzaSyCLt9AhFhVnU-HZJyfWJeaWCMc7G1IbBnU

3-当第 2 步完成时,创建 N 个 asyncTaskLoader(s) 来请求以下 URI 并解析 DOM 以获取页面中显示的路由。

https://maps.google.com/maps/place?cid=4580863912681127574

因此,假设我们在步骤 1 中得到了 20 个结果,所以我们有 20 个引用,所以我们需要创建 20 个 asyncTaskLoader(s) 来获取 url 和 20 个 asyncTaskLoader(s) 来获取路由。看起来它太复杂了,并且提出了太多的请求。

还有其他更好的解决方案吗?谢谢!

0 投票
1 回答
48 浏览

android - 本教程中使用 Android 的 add() 是什么?

我是 android 的新手,我正在关注本教程

我在 add(appEntry)line 上遇到错误:对于 LocationListAdapter 类型,方法 add(Location) 未定义,而LocationListAdapter是我从 BaseAdapter扩展的类名

0 投票
1 回答
402 浏览

android - Android Loader onLoadFinished 返回新数据还是所有数据?

我正在为 Android 编写一个 AsyncTaskLoader,我想知道 - 调用者(大概是使用 LoaderManager 设置所有内容)是否应该期望我每次调用 onLoadFinished 并提供完整的结果集,或者我可以简单地返回结果随后的每一次变化?

谢谢!

编辑

换一种方式:

假设我正在监视某个数据源,在第一次加载期间,它返回 AB C。然后,D 和 E 变得可用。我是返回 DE,还是返回 ABCDE

0 投票
1 回答
772 浏览

android - 解释 AsyncTaskLoader

我不明白所有功能在AsyncTaskLoader做什么,例如onCancelLoad()and onForceLoad()。所有函数和调用它们的顺序都没有正确记录。

假设我想在后台下载一个文件并在需要时取消它。onCancelLoad()已有的有 什么用cancelLoadInBackground()

0 投票
1 回答
93 浏览

android - 支持库的 AsyncTaskLoad 不支持被取消?

我正在使用 v13 支持库和支持取消所需的所有功能,例如isLoadInBackgroundCanceled完全cancelLoadInBackground缺失。

0 投票
1 回答
206 浏览

java - 在 Android 中使用 Java 使用 AsyncTaskLoader 远程登录?

我是 android 的新手。我有一个用 Activity 扩展的类。我的问题是如何从 Activity 调用 AsyncTaskLoader。我已经制作了 AsyncTaskLoader 类以及 WebService 类,如果输入的信息正确,它将带来用户的状态。但是我无法从我的 Activity 类中调用 AsyncTaskLoader。

加载器类:

登录列表服务功能: