android - Upload multiple photos to SFTP in Async -
i want upload multiple photos sftp server following code 1 photo uploaded. please has idea m getting wrong or have better approach this
private class uploadfileonftpserverasync extends asynctask<void, void, void> { progressdialog pddialog; @override protected void onpreexecute() { try { pddialog = new progressdialog(mediafileattachmentactivity.this); pddialog.setmessage("loading please wait.."); pddialog.show(); pddialog.setcancelable(false); } catch (exception e) { e.printstacktrace(); } } @override protected void doinbackground(void... params) { if (mediadatalist.size() > 0) { (int = 0; < mediadatalist.size(); i++) { if (mediadatalist.get(i).getmediaftppath() .equalsignorecase("")) { uploadfileonsftp(mediadatalist.get(i) .getmfile(), mediadatalist.get(i) .getmedianame(), "images"); } } } return null; } @override protected void onpostexecute(void result) { super.onpostexecute(result); pddialog.dismiss(); mediafileattachmentactivity.this.finish(); toast.maketext(mediafileattachmentactivity.this, "attachments saved successfully", toast.length_short) .show(); } } private void uploadfileonsftp(final file file2, string app_filename, string type){ try{ new thread(new runnable() { @override public void run() { connecttosftp(file2); } }).start(); } catch (exception e) { e.printstacktrace(); } } private void connecttosftp(file file2) { try { jsch jsch = new jsch(); session = jsch.getsession(user_name,server_address,port_no); session.setpassword(appsingleton.getinstance().getpassword()); java.util.properties config = new java.util.properties(); config.put("stricthostkeychecking", "no"); session.setconfig(config); session.connect(); channel = session.openchannel("sftp"); channel.connect(); channelsftp = (channelsftp)channel; channelsftp.cd(appsingleton.getinstance().getpath()); // file f = new file(file2); channelsftp.put(new fileinputstream(file2), file2.getname()); session.disconnect(); channel.disconnect(); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (jschexception e) { e.printstacktrace(); } catch (sftpexception e) { e.printstacktrace(); } }
i have solved issue creating thread instead of asynctask
private void executethread() {
final progressdialog pddialog; pddialog = new progressdialog(mediafileattachmentactivity.this); pddialog.setmessage("loading please wait.."); pddialog.show(); pddialog.setcancelable(false); new thread(new runnable() { @override public void run() { if (mediadatalist.size() > 0) { (int = 0; < mediadatalist.size(); i++) { if (mediadatalist.get(i).getmediaftppath() .equalsignorecase("")) { uploadfileonsftp(mediadatalist.get(i) .getmfile(), mediadatalist.get(i) .getmedianame(), "images"); } } } handler.post(new runnable() { @override public void run() { pddialog.dismiss(); mediafileattachmentactivity.this.finish(); toast.maketext(mediafileattachmentactivity.this, "attachments saved successfully", toast.length_short) .show(); } }); } }).start(); }
Comments
Post a Comment