我不明白为什么Android Studio无法识别.runOnUiThread(无法解析方法)和“ main”(无法解析符号)。
我一直在关注youtube教程(该视频已有4年以上的历史),内容涉及如何对通过保管箱上传和下载文件的应用进行编程。将源代码直接复制到MainActivity.java中会导致某些代码变为红色,但是按视频中的.runOnUiThread和“ main”除外,按“ ALT + ENTER”可以解决该问题。 是什么原因导致此问题以及如何解决?
private void DownloadFromDropboxFromPath (String downloadPathTo, String downloadPathFrom)
{
DropboxDownloadPathTo = downloadPathTo;
DropboxDownloadPathFrom = downloadPathFrom;
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Download file ...", Toast.LENGTH_SHORT).show();
Thread th = new Thread(new Runnable() {
public void run() {
File file = new File(DropboxDownloadPathTo + DropboxDownloadPathFrom.substring(DropboxDownloadPathFrom.lastIndexOf('.')));
if (file.exists()) file.delete();
try {
FileOutputStream outputStream = new FileOutputStream(file);
main.dropboxAPI.getFile(DropboxDownloadPathFrom, null, outputStream, null);
getMain().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "File successfully downloaded.", Toast.LENGTH_SHORT).show();
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
});
th.start();
}
});
}
答案 0 :(得分:1)
我猜这是您观看的教程:https://youtu.be/0PjND_7Fzd8。基于此,因为您的java文件不是“ main.java”或您的类名不是“ main”或两者兼而有之,所以“ main”会以红色突出显示。公共类名和文件名必须相同并且区分大小写。至于“ runOnUiThread”,这可能是因为您的类没有扩展ActionBarActivity或因为您可能没有正确设置Android SDK。
P.S。您是否尝试过pCloud?设置起来更容易,API也更好。