我一直在研究需要GPS坐标的Android应用程序,并使用2d数组来保存[0] [0]和[1024] [512]之间的坐标。到目前为止,我有main_activity创建BufferedReader,然后通过我创建的CoordinatesHandler类传递它,它将过滤文本文件并拆分文本坐标并将它们存储为2d数组中的整数。虽然我无法通过构造函数传递BufferedReader。谢谢你的帮助。
这里是CoordinatesHandler类;
public class CoordinatesHandler{
Integer[][] CoordinatesValue = new Integer[1024][512];
public void CoordinatesHandler(BufferedReader reader){
String line;
while(true){
int y= 0;
try {
line = reader.readLine();
line.trim();
String splitCords[] = line.split("\\s+");
if (!line.contains("#") && line != null) {
for (int x = 0; x <= 1024; x++) {
CoordinatesValue[x][y] = Integer.parseInt(splitCords[x]);
Log.d(Integer.toString(x),Integer.toString(y));
}
}else{break;}
}catch(IOException e){Log.d("error", "IO Exception");}
y++;
}
}
}
以下是我在main_activity中实现它的部分, note(readIt方法是提供给Android开发人员的多种方法之一,用于从网上下载和读取文本文件):
public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
BufferedReader reader = null;
reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
new CoordinatesHandler(reader);
return "hello";
}
问题是编译器不喜欢“new CoordinatesHandler(reader)”
答案 0 :(得分:1)
构造函数不应该有返回类型。删除返回类型&#34; void&#34;来自构造函数并编译。