Aller au contenu

récupération BDD distant


Recommended Posts

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;
    }
 
}
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...