Alexandre Scipion Posté(e) 29 mai 2016 Posté(e) 29 mai 2016 Bonjour, je suis a la recherche d'information. je suis entrain de crée une application android avec une BDD sqlite, mon tuteur veut que la BDD soit mis a jour a partir d'un fichier qui se trouve sur un serveur de fichier. j'ai envissagé d'utilisé ce code afin de récupérée la bdd mise a jour et de remplacé la mienne. cette solution pourrait fonctionnais? Merci d'avance. import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import android.app.Activity; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.widget.Toast; import java.io.FileOutputStream; public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // faire appell à la classe interne pour l'executer new ConnexionFTP().execute(); } }// FIN MAIN ACTIVITY class ConnexionFTP extends AsyncTask<String, Void, String[]> { public static FTPClient mFTPClient = null; public String TAG = "--MONERREUR--"; Context context; String fileName = "bdd.sqlite"; File mFile = null; boolean status = false; boolean result = false; void ConnextionFTP(Context co) { context = co; } @[member=override] protected String[] doInBackground(String... params) { // TODO Auto-generated method stub BufferedOutputStream fos = null; mFTPClient = new FTPClient(); try { // connexion à l'hôte mFTPClient.connect("192.168.1.81", 21); // test de la connexion if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) { // SE CONNECTER avec login et mdp boolean status = mFTPClient.login("jojo", "toto"); mFTPClient.enterLocalPassiveMode(); } /** Pour télécharger le fichier * */ try{ String destpath="bdd.sqlite"; String destname="bdd.sqlite"; File pathSpec = new File(destpath); Log.d(TAG, "new file"); mFTPClient.setFileType(org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE); //fos = new BufferedOutputStream(new FileOutputStream(pathSpec.toString()+"/"+destname)); Log.d(TAG, "setfiletype"+Environment.getExternalStorageDirectory().getName()); // //FileOutputStream output = new FileOutputStream(Environment.getExternalStorageDirectory().getName()+"/Download/bdd.sqlite");//destination du fichier FileOutputStream output = null; output = context.openFileOutput(Environment.getExternalStorageDirectory().getName()+"/Download/bdd.sqlite",context.MODE_PRIVATE); Log.d(TAG, "output"); mFTPClient.retrieveFile("/bdd.sqlite", output); Log.d(TAG, "retrieveFile"); Log.d(TAG, "téléchargement TRY "); //déconnection output.close(); mFTPClient.logout(); mFTPClient.disconnect(); } catch (Exception e) { Log.d(TAG, "Erreur de téléchargement "); } } catch (Exception e) { Log.d(TAG, "Erreur de connexion avec l'hote "); } return null; } } Citer
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.