J'espérais que quelqu'un pourrait m'aider ou au moins me donner quelques idées.Exporter des données de TinyDB vers CSV App Inventor
Je développe une application App Inventor pour l'industrie de l'ingénierie. L'application est terminée, mais App Inventor ne prend pas en charge les E/S sur la carte SD.
Maintenant, je dois être en mesure d'obtenir les données de l'application à un PC en quelque sorte, sans l'utilisation d'une connexion Internet (à savoir que sur USB ou WIFI) (ne peux pas utiliser Bluetooth soit)
J'ai écrit une courte Application Java dans Eclipse qui peut enregistrer des données sur la carte SD, mais je ne sais pas comment lancer l'application à partir d'App Inventor.
Des idées sur comment je peux accomplir ceci sans avoir à réécrire l'application entière dans Eclipse?
Voici le code de l'application Eclipse qui doit être lancé:
package tlc.savetosd;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import android.app.Activity;
//import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View.OnClickListener;
public class Savetosd extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_savetosd);
final EditText txtData = (EditText) findViewById(R.id.edtText);
this.getPackageName();
TextView txt = (TextView) findViewById(R.id.textView1);
Button btnSave = (Button) findViewById(R.id.btnSave);
btnSave.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// write on SD card file data in the text box
try {
File myFile = new File("/sdcard/mysdfile.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fOut);
myOutWriter.append(txtData.getText());
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),
"Done writing SD 'mysdfile.txt'",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}// onClick
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_savetosd, menu);
return true;
}
}
oui, c'est une réponse possible à une partie de ma question. Malheureusement, l'application qui doit être lancée qui écrit sur SD est une application qui a été écrite en éclipse. Je connais le nom du package de l'application, mais je n'arrive pas à le lancer depuis App Inventor. Je vais modifier mon message d'origine pour inclure le code de l'application Eclipse. –
vous avez seulement besoin du ** nom du package ** et du ** nom de la classe ** pour démarrer votre application, vous êtes le développeur, vous devriez donc connaître cette info ... aussi, n'hésitez pas à lire l'activité starter docu (voir les liens fournis) ... le code source de votre application n'aide pas dans ce cas ... – Taifun
Je l'ai compris! J'ai utilisé le mauvais nom de classe. il était censé être tlc.savetosd.savetosd au lieu de simplement enregistrer en sd. maintenant juste pour comprendre comment modifier mon application eclipse pour accepter une chaîne de l'application app inventeur, puis enregistrez-le –