【问题标题】:java: Convert Location into String and backjava:将位置转换为字符串并返回
【发布时间】:2018-12-12 23:30:51
【问题描述】:

对于 android Room,我需要一个类型转换器来保存 Location 对象。将位置转换为字符串相当简单,例如:

public static String locationStringFromLocation(final Location location) {
        if (location==null) return "Location was null";
        return Location.convert(location.getLatitude(), Location.FORMAT_DEGREES) + " " + Location.convert(location.getLongitude(), Location.FORMAT_DEGREES);
    }

但反过来似乎不太明显。我可以附加所有属性并用分隔符分隔它们,但这似乎不太优雅。任何想法将不胜感激。

我目前的解决方法是只保存纬度和经度,但我更愿意拥有该对象。

【问题讨论】:

    标签: android location android-room typeconverter


    【解决方案1】:
    public static Location locationFromString(String location){
        if (location != null && (location.contains(","))) {
            Location result = new Location("Generated_location");
            String[] locationStrings = location.split(",");
            if (locationStrings.length == 2) {
                result.setLatitude(Double.parseDouble(locationStrings[0]));
                result.setLongitude((Double.parseDouble(locationStrings[1])));
                return result;
            } else { return null; }
        } else  return null;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 2012-10-27
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2013-07-21
      • 1970-01-01
      相关资源
      最近更新 更多