nativescript-dropbox
by manojdcoder | v1.1.3
Dropbox SDK.
npm i --save nativescript-dropbox

NativeScript Dropbox

Prerequisites / Requirements

Dropbox User Access token

Installation

From the command prompt go to your app's root folder and execute:

tns plugin add nativescript-dropbox

Demo app

If you want a quickstart, clone the repo, cd src, and npm run demo.ios or npm run demo.android.

API

init

Initiates the dropbox client with given token.

Parameters Type Description
accessToken String User Access Token.
var Dropbox = require("nativescript-dropbox");
Dropbox.init("ACCESS_TOKEN");

uploadData

Uploads the data at the given path.

Parameters Type Description
path String Dropbox File Path.
data NSData or java.lang.Byte[] Binary data.
overwrite Boolean Overwrites the file if already exists. Defaults to true.
autorename Boolean If there’s a conflict, as determined by mode, have the Dropbox server try to autorename the file to avoid conflict. Defaults to false.
mute Boolean Normally, users are made aware of any file modifications in their Dropbox account via notifications in the client software. If true, this tells the clients that this modification shouldn’t result in a user notification. Defaults to false.
var dropbox = new Dropbox();

dropbox.addEventListener(Dropbox.successEvent, (event: SuccessEventData) => { ... });

dropbox.addEventListener(Dropbox.errorEvent, (event: ErrorEventData) => { ... });

dropbox.addEventListener(Dropbox.progressEvent, (event: ProgressEventData) => { ... });

dropbox.uploadData("/logo.png", knownFolders.currentApp().getFile(path.join("images", "logo.png")).readSync());

createSharedLink

Creates a shared link for the given path.

Parameters Type Description
path String Dropbox File Path.
var dropbox = new Dropbox();

dropbox.addEventListener(Dropbox.successEvent, (event: SuccessEventData) => {
var url = event.result;
});

dropbox.addEventListener(Dropbox.errorEvent, (event: ErrorEventData) => { ... });

dropbox.createSharedLink("/logo.png");

dispose

Disposes the dropbox client.

Dropbox.dispose();

Known issues on Android

Dropbox SDK requires API Level 19 (Kitkat - 4.4) or above

You might have to modify the minSdkVersion entry in your App_Resources/Android/src/main/AndroidManifest.xml

<uses-sdk
android:minSdkVersion="19"
...

The number of method references in a .dex file cannot exceed 64K.

This can be solved by adding multiDexEnabled true to your app/App_Resources/Android/app.gradle

android {  
defaultConfig {
applicationId = "__PACKAGE__"
multiDexEnabled true
generatedDensities = []
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
}