Java 阅读文本文档';URL中的内容始终等于null
每当我试图从包含版本字符串的Dropbox获取文本文档时,它都会说它等于Java 阅读文本文档';URL中的内容始终等于null,java,android,Java,Android,每当我试图从包含版本字符串的Dropbox获取文本文档时,它都会说它等于null,尽管它应该等于0.6.48。我尝试了许多不同的方法来获取文件,但它总是返回null。代码: new Thread() { public void run() { try { URL textUrl = new URL(UPDATE_API); // UPDATE_API = "https://dl.dropboxuser
null
,尽管它应该等于0.6.48
。我尝试了许多不同的方法来获取文件,但它总是返回null
。代码:
new Thread() {
public void run() {
try {
URL textUrl = new URL(UPDATE_API); // UPDATE_API = "https://dl.dropboxusercontent.com/s/zjlxzypgqsxvtr0/version.txt?dl=1"
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));
String StringBuffer;
String stringText = "";
while ((StringBuffer = bufferReader.readLine()) != null) {
stringText += StringBuffer;
}
bufferReader.close();
Soundboard.REMOTE_VERSION = stringText;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
我错过了什么?我正在为API 23进行构建。我已将
放在我的Android清单中。您的代码对我有效,几乎没有任何更改:
String UPDATE_API = "https://dl.dropboxusercontent.com/s/zjlxzypgqsxvtr0/version.txt?dl=1";
private BufferedReader bufferReader = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread() {
public void run() {
try {
URL textUrl = new URL(UPDATE_API);
bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));
String StringBuffer = "";
StringBuilder stringText = new StringBuilder();
while ((StringBuffer = bufferReader.readLine()) != null) {
stringText.append(StringBuffer);
}
Log.d("--->", stringText.toString());
Soundboard.REMOTE_VERSION = stringText;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bufferReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}.start();
}
尝试在Try..finally中关闭BufferedReader
。使用
StringBuilder
而不是String
进行连接对不起,我看不到任何返回null的内容。@greenapps每当我试图打印值时,它总是会说,原因是:java.lang.NullPointerException:println需要一条消息
什么的值?最好添加print语句,这样我们就可以看到您的操作了打印出我存储它的变量。您在何时何地这样做?如果使用Log.d,则不会收到println需要消息的消息。