Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 157ec9bf authored by David Luhmer's avatar David Luhmer Committed by GitHub
Browse files

Add full working example to readme

parent dae981c2
Loading
Loading
Loading
Loading
+43 −19
Original line number Diff line number Diff line
@@ -173,9 +173,32 @@ SingleSignOnAccount ssoAccount = AccountImporter.GetAuthTokenInSeparateThread(ge
    `NextcloudAPI` provides a method called `performNetworkRequest(NextcloudRequest request)` that allows you to handle the server response yourself.

    ```java
    // create nextcloudAPI instance
    public class MyActivity extends AppCompatActivity {
        NextcloudAPI mNextcloudAPI;

        @Override
        protected void onStart() {
            Account account = SingleAccountHelper.GetCurrentAccount(context);
            SingleSignOnAccount ssoAccount = AccountImporter.GetAuthTokenInSeparateThread(context, account);
    NextcloudAPI nextcloudAPI = new NextcloudAPI(context, ssoAccount, GsonConfig.GetGson(), callback);
            mNextcloudAPI = new NextcloudAPI(context, ssoAccount, GsonConfig.GetGson(),  new NextcloudAPI.ApiConnectedListener() {
                @Override
                public void onConnected() {
                    downloadFile();
                }

                @Override
                public void onError(Exception ex) {
                    // TODO handle error here..
                }
            });
        }

        @Override
        protected void onStop() {
            // Close Service Connection to Nextcloud Files App and
            // disconnect API from Context (prevent Memory Leak)
            mNextcloudAPI.stop();
        }

        private void downloadFile() {
            NextcloudRequest nextcloudRequest = new NextcloudRequest.Builder()
@@ -184,7 +207,7 @@ SingleSignOnAccount ssoAccount = AccountImporter.GetAuthTokenInSeparateThread(ge
                    .build();

            try {
            InputStream inputStream = nextcloudAPI.performNetworkRequest(nextcloudRequest);
                InputStream inputStream = mNextcloudAPI.performNetworkRequest(nextcloudRequest);
                while(inputStream.available() > 0) {
                    inputStream.read();
                    // TODO do something useful with the data here..
@@ -195,6 +218,7 @@ SingleSignOnAccount ssoAccount = AccountImporter.GetAuthTokenInSeparateThread(ge
                e.printStackTrace();
            }
        }
    }
    ```

## Video