0

私は Android アプリの開発を調査し始めました。プレーンな txt ファイルをドロップボックスにアップロードして開始しようとしています。これが機能するようになったら、pdfなどのレベルに上がります。

とにかく、ドロップボックスへのアップロードで立ち往生し続けます。ライブラリを含め、AndroidManifest でアクティビティを取得し、公式ガイドにできる限り従おうとしました。さらにナンセンスなしに、これは私のコードです:

AndroidManifest.xml:

<activity
  android:name="com.dropbox.client2.android.AuthActivity"
  android:launchMode="singleTask"
  android:configChanges="orientation|keyboard">
  <intent-filter>
    <!-- Change this to be db- followed by your app key -->
    <data android:scheme="db-mykeyhere" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE"/>
    <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
</activity>

onclick をトリガーしてアップロードするレイアウト ファイル:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".HelloDropboxActivity" >

    <Button
        android:id="@+id/dropbox_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_gravity="center"
        android:text="@string/link_button"/>

    <TextView
        android:id="@+id/test_output"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

私の活動:

public class Settings extends Activity{

    final static private String APP_KEY = "myAppKeyIsHere";
    final static private String APP_SECRET = "myAppSecretIsHere";
    final static private AccessType ACCESS_TYPE = AccessType.APP_FOLDER;

    // In the class declaration section:
    private DropboxAPI<AndroidAuthSession> mDBApi;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings); 


        // And later in some initialization function:
        AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
        AndroidAuthSession session = new AndroidAuthSession(appKeys, ACCESS_TYPE);
        mDBApi = new DropboxAPI<AndroidAuthSession>(session);

    }


public void dropbox_button(View v){
        mDBApi.getSession().startAuthentication(Settings.this);

         String filePath = getApplicationContext()
                          .getFilesDir()
                          .getPath()
                          .toString() + "/magnus-opus.txt";

         File file = new File(filePath);


         try {
             file.createNewFile();
         } catch (IOException e2) {
             // TODO Auto-generated catch block
             e2.printStackTrace();
         }
         FileInputStream inputStream = null;

         try {
             inputStream = new FileInputStream(file);
         } catch (FileNotFoundException e1) {
             // TODO Auto-generated catch block
             e1.printStackTrace();
         }
         try {
             Entry response = mDBApi.putFile("/magnum-opus.txt", inputStream,
                     file.length(), null, null);
             Log.i("DbExampleLog",
                   "The uploaded file's rev is: " + response.rev);
         } catch (DropboxException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
    }


    protected void onResume() {
        super.onResume();

        if (mDBApi.getSession().authenticationSuccessful()) {
            try {
                // Required to complete auth, 
                // sets the access token on the session
                mDBApi.getSession().finishAuthentication();

                AccessTokenPair tokens = mDBApi
                                         .getSession()
                                         .getAccessTokenPair();
            } catch (IllegalStateException e) {
                Log.i("DbAuthLog", "Error authenticating", e);
            }
        }
    }

そして最後に私のエラーログ:

誰かがここで何が悪いのか教えてくれますか、それとも先に私を助けてくれますか? 今のところ、.txt ファイルをドロップボックスにアップロードできるようにしたいだけです。ありがとう

〜イェンテ

4

1 に答える 1