Java android应用程序中颜色名称的RGB值

Java android应用程序中颜色名称的RGB值,java,android,arrays,arraylist,camera,Java,Android,Arrays,Arraylist,Camera,想知道我是否可以得到一些建议,或者可能是一些关于我正在开发的android应用程序的代码示例。因此,我正在制作一个Android应用程序,用户可以在其中拍照,然后按下按钮识别图片中的颜色。该按钮工作正常,返回RGB值,但我希望它显示一种颜色的名称,而不是。我对java非常陌生,我认为最好的方法可能是使用某种形式的数组,列出不同的颜色,如下所示: private ArrayList<ColorName> initColorList() { ArrayList<ColorN

想知道我是否可以得到一些建议,或者可能是一些关于我正在开发的android应用程序的代码示例。因此,我正在制作一个Android应用程序,用户可以在其中拍照,然后按下按钮识别图片中的颜色。该按钮工作正常,返回RGB值,但我希望它显示一种颜色的名称,而不是。我对java非常陌生,我认为最好的方法可能是使用某种形式的数组,列出不同的颜色,如下所示:

private ArrayList<ColorName> initColorList() {
    ArrayList<ColorName> colorList = new ArrayList<ColorName>();
    colorList.add(new ColorName("AliceBlue", 0xF0, 0xF8, 0xFF));
    colorList.add(new ColorName("Azure", 0xF0, 0xFF, 0xFF));
    colorList.add(new ColorName("Beige", 0xF5, 0xF5, 0xDC));
    colorList.add(new ColorName("Bisque", 0xFF, 0xE4, 0xC4));
    // Add more colors here
    return colorList;

在此方面的任何帮助都将不胜感激

您可以做一些非常简单的事情,比如为您的
ColorName

public class ColorName {
private int r;
private int b;
private int g;

//Auto generated
@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    ColorName colorName = (ColorName) o;

    if (r != colorName.r) return false;
    if (b != colorName.b) return false;
    return g == colorName.g;

}
//Auto generated
@Override
public int hashCode() {
    int result = r;
    result = 31 * result + b;
    result = 31 * result + g;
    return result;
}
}

然后使用或其他一些贴图容器,如

Map<ColorName, String> myColorMap = new HashMap<>();
myColorMap.put(new ColorName(0xF0, 0xF8, 0xFF), "AliceBlue");...

问题是,如何在图像视图中显示颜色名称而不是RGB编号?
Map<ColorName, String> myColorMap = new HashMap<>();
myColorMap.put(new ColorName(0xF0, 0xF8, 0xFF), "AliceBlue");...
String colorName = myColorMap.get(myColorNameObject);