Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从后端数据库连续提取数据?_Java_Android_Android Fragments_Android Asynctask - Fatal编程技术网

Java 从后端数据库连续提取数据?

Java 从后端数据库连续提取数据?,java,android,android-fragments,android-asynctask,Java,Android,Android Fragments,Android Asynctask,我是Android开发和Java新手,请耐心听我说,如果我的措辞或任何东西有错误,请告诉我。我已经搜索了很多小时,我遇到了很多未知的术语和实现方法,这些术语和实现方法可能有效,也可能无效,以至于我陷入了一种困惑 我目前正在为Android应用程序开发一种提要,我的主要目标是能够下载提要(类似于Gmail应用程序),并将新输入的数据加载到设备的数据库中并显示在屏幕上。我只是想澄清一下,我只想在应用程序打开时提取数据 以下是该应用程序的一些背景信息。主活动承载一个内部FragmentPagerAda

我是Android开发和Java新手,请耐心听我说,如果我的措辞或任何东西有错误,请告诉我。我已经搜索了很多小时,我遇到了很多未知的术语和实现方法,这些术语和实现方法可能有效,也可能无效,以至于我陷入了一种困惑

我目前正在为Android应用程序开发一种提要,我的主要目标是能够下载提要(类似于Gmail应用程序),并将新输入的数据加载到设备的数据库中并显示在屏幕上。我只是想澄清一下,我只想在应用程序打开时提取数据

以下是该应用程序的一些背景信息。主活动承载一个内部
FragmentPagerAdapter
类,该类控制
表格布局中的3个片段。第一个选项卡是提要,第二个是联系人列表(我也想以与提要类似的方式更新联系人列表),第三个选项卡只是概要文件

到目前为止,我所做的是在后端服务器(Python/SqlAlchemy)上有一个种子数据库,我在提要和联系人片段中设置了一个
AsyncTask
,它获取(使用
HttpURLConnection
)所有适当的数据并将其带到客户端。从那里,我从接收到的JSON中提取所需的数据,并将其显示在动态生成的
textView
中。这部分都很棒

我已尝试停止/重新启动
异步任务
,但文档说这是不可能的。我尝试了
notifyDataSetChange()
,但它也不起作用。另外,请确认,
notifyDataSetChange()
是否会自动更新片段以实现我的目标?我已经阅读了一些关于它的文档,并在这里查看了许多主题,但我无法为我的实现提供一个明确的答案,我真的很困惑


那么,有人能告诉我在
AsyncTask
已经运行或正在运行之后,在哪里学习如何从后端数据库连续提取数据?或者至少如何表达它,以便我可以更有效地搜索?谢谢

AsyncTask
是一条路要走。在您的
onResume()
中,执行
AsyncTask
。是的,文档确实说重用
AsyncTask
是不可能的。因此,您需要这样做:

new MyAsyncTask.execute( url );  
现在这是一个一次性更新。定期更新怎么样?最简单的方法是使用定期触发
异步任务的
倒计时
。文件:

另外,不要创建一个匿名的
倒计时程序,而是创建一个扩展它的类。因此,将有一个名为MyCountDownTimer的类扩展CountDownTimer
onFinish()
是启动
异步任务的地方


希望这能有所帮助

据我所知,只有当承载片段的活动暂停然后恢复时,才会调用片段的
onResume()
,因此我不确定是否允许用户下拉提要(它本身就是一个片段)并从服务器获取更新的数据。但我现在会把计时器的建议放在我的后口袋里,谢谢!事实证明,我一直在寻找的是刷卡刷新()。