我想创建DownloadData类,并实现从我的Web服务下载数据的方法!
以这种方式:
public class DownloadData {
public static string getData("url"){ ..... return data;}
}
所以我应该将该方法声明为static,然后我可以通过类名称调用它来创建DownloadData对象; 或者“不”将其声明为静态然后我应该创建一个对象来调用该方法。
编辑: 如果我声明另一个静态字段,我不能在几个线程中使用getData方法 这样:
public class DownloadData {
static int num=0;
public static string getData("url"){
..... return data;}
}
非常感谢
答案 0 :(得分:1)
如果您不需要您的班级DownloadData
来保持任何州,并且您不需要在任何地方使用DownloadData
班级的实例,则可以将您的方法声明为静态例如,将其作为参数传递。)
不要考虑本课程中的单一方法,考虑一下你将如何使用整个班级。
注意:状态也可以存储在静态变量中,但这意味着您只有一组值。在某些情况下这可能是合适的,但您需要在多线程环境中小心。
答案 1 :(得分:0)
您可能想要考虑如何实现这一目标。 Android最近要求您立即执行webrequests异步,如果您不这样做,则会出错。这将限制您现在提取数据的方式。
Download a file with Android, and showing the progress in a ProgressDialog
如果您正在使用json并且组织得很好,我还建议您查看改造http://square.github.io/retrofit/。它很容易实现并节省大量工作。