我正在尝试Windows
使用协议将我的 Android 应用程序连接到我的公司本地网络 ( ) smb
。问题是我在这件事上有点新手,有些东西想念我。目标是将文件AREQA.txt
从网络下载到设备。但是,我什至无法验证代码是否可以跟踪文件位置,因为当我将其编译到设备时应用程序崩溃(它加载正常,但在我调用该DownLoadF001
过程时崩溃)。这是代码:
public void DownLoadF001(View v) {
jcifs.Config.registerSmbURLHandler();
String user;
String password;
String filename;
File localFile;
SmbFile path = null;
try {
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null,"@@@@@@", "********");
path = new SmbFile("smb:\\192.168.1.11/.../AREQA.txt", auth);
try {
if(path.exists()){
Toast.makeText(getApplicationContext(), "Sucesso!", Toast.LENGTH_LONG).show();
}
} catch (Exception e1) {
Toast.makeText(getApplicationContext(), e1.toString(), Toast.LENGTH_LONG).show();
}
} catch (MalformedURLException e2) {
Toast.makeText(getApplicationContext(), e2.toString(), Toast.LENGTH_LONG).show();
}
}
我已经尝试try
从主要的(及其所有相关代码)中删除内部,并且应用程序停止崩溃。但是,没有它,我看不到连接是否正常。
编辑:我设法捕捉到错误(Exception e1
):
java.lang.NullPointerException: Attempt to invoke virtual method int java.lang.String.length()' on a null object reference
. 有什么想法可以解决吗?
此外,正如@greenapps 所指出的,我正在.xml
按方法从按钮调用此过程onClick
。