我希望有人可以帮助我,或者至少给我一些想法。
我正在为工程行业开发App Inventor应用。该应用程序已基本完成,但App Inventor不支持sd卡的I / O。
现在我需要能够以某种方式将应用程序中的数据获取到PC,而无需使用任何互联网连接(即仅通过USB或WIFI)(也可以使用蓝牙)
我在Eclipse中编写了一个简短的Java应用程序,可以将一些数据保存到sdcard中,但是我不知道如何从App Inventor中启动该应用程序。
关于如何无需在Eclipse中重新编写整个应用程序就可以实现此目标的任何想法?
这是需要启动的Eclipse应用程序的代码:
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;
}
}
最佳答案
您可以使用Activity Starter从App Inventor中启动其他应用。另请参阅有关Using the Activity Starter here的更多信息。
启动任意应用
您可以使用Activity Starter完全启动任何活动
知道程序包名称和类名称,或适当的意图。一些
开发人员记录这些意图是为了让其他Android受益
开发人员。有关使用意图启动其他应用程序的提示,请参阅
Android API文档或搜索Android开发者论坛。
如果您的手机上有一个应用程序,但是您没有源代码,
您仍然可以找出软件包名称和类名称
(有时是意图),方法是启动应用程序并检查
如上所述的Android系统日志。
更新:同时,您可以找到一个小教程“如何使用Activity Starter调用Java应用程序将文本文件保存到SD卡” here