我应该使用静态方法还是公共方法... android

时间:2014-04-09 21:00:28

标签: java android oop

我想创建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;}

    }

非常感谢

2 个答案:

答案 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/。它很容易实现并节省大量工作。