Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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 - Fatal编程技术网

方法全局到项目(Java)

方法全局到项目(Java),java,android,Java,Android,我需要一个对整个Java项目全局的方法,但我不确定如何继续。我正在为Android编程,但任何Java项目都是如此 我希望以下方法可用于项目中的任何类: public int dpToPx(int dp, Context c) { DisplayMetrics displayMetrics = c.getResources().getDisplayMetrics(); int px = Math.round(dp * (displayMetrics.xdpi / Display

我需要一个对整个Java项目全局的方法,但我不确定如何继续。我正在为Android编程,但任何Java项目都是如此

我希望以下方法可用于项目中的任何类:

public int dpToPx(int dp, Context c) {

    DisplayMetrics displayMetrics = c.getResources().getDisplayMetrics();
    int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));       
    return px;
}

我的想法是把它放在一个自己的类中,但是随后出现了关于构造函数使用的问题。做这件事最有效的方法是什么?

我会把它放在public类中,并使这个方法公开和静态


通过这种方式,您可以从任何地方调用它。

我将把它放在public类中,并使该方法公开且静态


通过这种方式,您可以从任何地方调用它。

将方法设置为静态方法将是一种选择。或者,如果您想在class1中调用方法,请从class2中调用。您应该在class2中实例化class1,然后,只有您可以调用该方法

使该方法成为静态方法将是一种选择。或者,如果您想从class2调用class1中的方法。您应该在class2中实例化class1,那么只有您可以调用该方法

一种方便的方法,就是使用静态方法创建一个实用程序类

public class AppUtils {
    public static int dpToPx(int dp, Context c) {
        // your source code.
    }
}

然后,通过调用
AppUtils.dpToPx()


一种方便的方法是使用静态方法创建一个实用程序类

public class AppUtils {
    public static int dpToPx(int dp, Context c) {
        // your source code.
    }
}

然后,通过调用
AppUtils.dpToPx()


如果可能,类上的公共静态方法是最简单的方法

如果需要维护全局应用程序状态,最好在子类中进行维护


然后,您可以根据需要使用
getApplication()
getApplicationContext()
检索它。

如果可能,类上的公共静态方法是最简单的方法

如果需要维护全局应用程序状态,最好在子类中进行维护


然后,您可以根据需要使用
getApplication()
getApplicationContext()
检索该方法。

由于该方法必须可用于整个项目,因此我建议您
创建一个公共类,并将该方法放入其中。我不太清楚你所说的建设者问题是什么意思

另外,作为一个附加提示,您可以
将java文件打包为jar
,也可以在不同的项目中使用它


希望有帮助。:)

由于该方法必须可用于整个项目,我建议您创建一个公共类,并将该方法放入其中
。我不太清楚你所说的建设者问题是什么意思

另外,作为一个附加提示,您可以
将java文件打包为jar
,也可以在不同的项目中使用它

希望有帮助。:)