我对Java比较陌生。。
我正在编写一个Android应用程序,现在我将回顾我的代码,整理并坚持我的编码结构,使之更符合最佳实践风格。
我正在构建我认为合适的方法和类,以避免产生大量重复代码。我发现自己正在尝试创建一个类(例如HeavyStuff.java),其中包含几个AsyncTask方法(例如MyTask1和MyTask2)。从活动调用类时,我希望在某个点执行MyTask1,在其他点执行MyTask2。我试图分别使用以下内容:
HeavyStuff.MyTask1 myTask1 = new HeavyStuff.MyTask1();
myTask1.execute();
而且
HeavyStuff.MyTask2 myTask2 = new HeavyStuff.MyTask2();
myTask2.execute();
问题是,我得到一个错误,说“重试不是一个封闭的类”。我的课是这样的:
package com.wizzkidd.myapp;
import android.os.AsyncTask;
public class HeavyStuff {
public class MyTask1 extends AsyncTask<String, String, String> {
//...
//...
}
public class MyTask2 extends AsyncTask<String, String, String> {
//...
//...
}
}
该课程的完整内容也可在此处查看:http://hastebin.com/yahihokupu
使类成为“封闭类”所需的我缺少什么。
-----编辑-----
我看了看答案,可能是重复我的问题,它不起作用。给出的答案建议对我的内部类使用静态
,但这对我不起作用。
然而,我发现我可以做到这一点:
HeavyStuff.MyTask1 myTask1 = new HeavyStuff().new MyTask1();
myTask1.execute();
它是有效的,但这样做有什么意义(如果有的话)?这是坏习惯吗?
我已经找到了我问题的答案。我最初发布了我认为是一个编辑解决方案,但为了澄清,这是我的工作答案:
HeavyStuff.MyTask1 myTask1 = new HeavyStuff().new MyTask1();
myTask1.execute();
我知道您将MyTask1
和MyTask2
放在同一个类中,因为它们是相似的,但是一般来说这并不理想。
如果您计划在整个代码库中创建MyTask1
的新实例以及MyTask2
的新实例,那么它们应该位于各自完全独立的类中(即MyTask1.java
仅包含类MyTask1
)。
通过将它们放在同一个java包中,您仍然可以将它们“放在一起”,例如:
package.heavystuff
...
问题内容: 我想对不带数字键()的mongoDB集合执行迭代。集合只有一个随机字符串作为_id,并且集合的大小很大,因此使用来将整个文档加载到RAM 上不是可行的选择。另外,我想对每个元素执行异步任务。的使用或者,是因为任务的异步性质的限制。我尝试使用上述方法运行任务,但它确实与异步任务冲突,返回了未完成的承诺而不是正确的结果。 例 我怎样才能仅使用mongoDB集合进行迭代? 问题答案: 该方法
异常: 嵌套任务透传 重新处理生成器嵌套,需要将子生成器异常抛向父生成器。 当生成器迭代过程发生未捕获异常,生成器将会被关闭,Generator::valid返回false,未捕获异常会从生成器内部被抛向父作用域,嵌套子生成器内部的未捕获异常必须最终被抛向根生成器的calling frame,PHP7中yield-from对嵌套子生成器resume时产生的异常,采取goto try_again传递
这是在一次Android采访中被问到的。有人问我是否可以从异步任务 1 的 doInBackground() 方法(让它成为 Task1)启动另一个异步任务(让它成为 Task2)。我浏览了文档,其中说了以下内容: 必须在UI线程上创建任务实例。 必须在 UI 线程上调用 execute(Params...)。 根据这些陈述,我认为从另一个任务的后台方法启动一个任务是不可能的。此外,async任务
本文向大家介绍Android的异步任务AsyncTask详解,包括了Android的异步任务AsyncTask详解的使用技巧和注意事项,需要的朋友参考一下 AsyncTask,顾名思义,异步任务。说到异步,最简单的理解就是不同步。再复杂一点理解,就得举例子了。 假设我要去火车站买票,刚到火车站我突然发现我忘了带身份证。怎么办?怎么办! 想办法,想办法!我想我应该找个在学校的同学帮我送过来,因为我不
我正在尝试使用以下代码: 是我在Android应用程序中使用的OAuth2Client的一部分。我得到这个错误: 我会提供一些帮助。 谢谢
我是从我的应用程序连接到互联网的小新,所以我得到了这个错误,我的代码在这里。 UyariPencerem 和kulaniciKontrol 和 islemTamam 代码 感谢您的帮助...