我在 Android 中找到了一个程序,该程序声称在 AR(“AR_speaker”)中返回标记位置并使用本机代码(jni)。我的问题在markerInfo
课堂上。我无法理解这个正则表达式的含义:
^id=(\\d+):name=(.+):pos\\[0\\]=([\\d.]+):pos\\[1\\]=([\\d.]+)$
public class MarkerInfo implements Serializable {
private static final long serialVersionUID = 1L;
private static final Pattern REGEX = Pattern.compile("^id=(\\d+):name=(.+):pos\\[0\\]=([\\d.]+):pos\\[1\\]=([\\d.]+)$");
private Integer id;
private String fileName;
private Float[] pos = new Float[3];
public MarkerInfo(String markerStr) {
Matcher m = REGEX.matcher(markerStr);
if (!m.find()) throw new RuntimeException("not markerInfo string : " + markerStr);
id = Integer.parseInt(m.group(1));
fileName = m.group(2);
pos[0] = Float.parseFloat(m.group(3));
pos[1] = Float.parseFloat(m.group(4));
//pos[2]=Float.parseFloat(m.group(5));
}
public Integer getId() {
return id;
}
public String getFileName() {
return fileName;
}
public Float[] getPos() {
return pos;
}
}
我的另一个问题是这些数据存储在哪里?AR 中使用的任何模式都有这些数据吗?在哪个文件中?(例如,在marker.patt 中?)