Alexandre Scipion Posté(e) 29 mai 2016 Share 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.