2012-12-04 2 views
1

누군가가 나를 도울 수 있거나 적어도 나에게 아이디어를 줄 수 있기를 바랍니다.TinyDB에서 CSV App Inventor로 데이터 내보내기

엔지니어링 산업을위한 App Inventor 앱을 개발 중입니다. 앱은 기본적으로 끝났지 만 App Inventor는 sd 카드에 대한 I/O를 지원하지 않습니다.

지금 어떻게 든 (즉, 전용 USB 또는 WIFI 이상) 모든 인터넷 연결을 사용하지 않고 PC에 응용 프로그램에서 데이터를 얻을 수 있어야합니다 (캔트 사용 블루투스 중 하나)

나는 짧은 썼다 일부 데이터를 sdcard에 저장할 수있는 Eclipse의 자바 응용 프로그램이지만 App Inventor에서 응용 프로그램을 시작하는 방법을 알지 못합니다.

이클립스에서 전체 응용 프로그램을 다시 작성하지 않고도이 작업을 수행 할 수있는 방법에 대한 아이디어가 있습니까?

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;  
    } 
} 

답변

1

당신이 Activity Starter와 앱 인벤터 내에서 다른 응용 프로그램을 실행할 수 있습니다 : 여기

출시 될 필요가 이클립스 응용 프로그램의 코드입니다.
Using the Activity Starter here에 대한 자세한 정보도 참조하십시오.

부터 임의의 애플리케이션

당신이 패키지 이름을클래스 이름, 또는 적합한 의도를 알고 경우는 전혀 활동을 시작하는 활동 스타터를 사용할 수 있습니다. 일부 개발자는 다른 Android 개발자를 위해 이러한 의도를 문서화합니다. 인 텐트를 사용하여 다른 앱을 시작하는 힌트는 Android API 설명서를 참조하거나 Android 개발자 포럼을 검색하십시오.

당신은 당신의 휴대 전화에서 응용 프로그램을 가지고 앱을 실행하고 검사에 의해 여전히 수있는 패키지 이름과 클래스 이름 파악 (때로는 의도) 될 수 소스 코드를 가지고 있지 않은 경우 위에 표시된대로 Android 시스템 로그.

UPDATE : 당신은 한편 "어떻게 자바 응용 프로그램 호출 활동 스타터 사용하여 SD 카드에 텍스트 파일을 저장하는 방법"here

+0

예, 그 부분에 가능한 대답이다 작은 튜토리얼을 찾을 수 있습니다 내 질문. 불행히도 sd에 쓰기를 수행해야하는 응용 프로그램은 eclipse로 작성된 응용 프로그램입니다. 나는 앱의 패키지 이름을 안다.하지만 App Inventor에서 실행시킬 수없는 것 같다. 이클립스 앱의 코드를 포함하도록 원래 게시물을 편집 할 것이다. –

+0

앱을 시작하려면 ** 패키지 이름 ** 및 ** 클래스 이름 ** 만 필요합니다. 개발자이므로 해당 정보를 알고 있어야합니다. 또한 주저하지 말고 활동 시작 설명서 (제공된 링크 참조) ...이 경우 응용 프로그램의 소스 코드가 도움이되지 않습니다 ... – Taifun

+0

사실은 알아 냈습니다 !!! 잘못된 클래스 이름을 사용했습니다. sd에 저장하는 대신 tlc.savetosd.savetosd로되어 있어야합니다. 지금은 그냥 애플 발명가 응용 프로그램에서 일부 문자열을 받아들이 기 위해 내 이클립스 애플 리케이션을 수정하는 방법을 알아 내려고 다음 그것을 저장 –