我正在开发Android游戏。游戏有很多级别和关卡编辑器。因此,当用户创建一个级别时,数据将保存为Xml文件。所以我想将这个Xml文件上传到互联网以分享其他用户。我搜索了下面这些代码。但它没有用。整个代码如下:
String FTP_HOST= "185.27.134.11";
String FTP_USER = "fees0_14042425";
String FTP_PASS ="kadi1sd22";
File f = new File(Environment.getExternalStorageDirectory()+"/kadirGameLevels1/a.png");
FTPClient client = new FTPClient();
try {
client.connect(FTP_HOST,21);
client.login(FTP_USER, FTP_PASS);
client.setType(FTPClient.TYPE_BINARY);
client.changeDirectory("/levels/");
client.upload(f, new MyTransferListener());
} catch (Exception e) {
e.printStackTrace();
try {
client.disconnect(true);
} catch (Exception e2) {
e2.printStackTrace();
}
}
但即使我只使用这一行,它仍然会停止运行。我有什么问题是集成还是别的什么?
FTPClient client = new FTPClient();
答案 0 :(得分:0)
确保您的AndroidManifest.xml
:
<uses-permission android:name="android.permission.INTERNET" />
这可确保您的应用拥有访问互联网的正确权限。
另外,不要在主UI线程中放置任何网络代码,否则您可能会获得NetworkOnMainThreadException
。
而是将所有FTP连接/访问代码放入AsyncTask
:https://stackoverflow.com/a/6343299/833647