GithubHelp home page GithubHelp logo

gogo2010kr / aws-sdk-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws-amplify/aws-sdk-android

0.0 1.0 0.0 241.26 MB

AWS SDK for Android. For more information, see our web site:

Home Page: https://docs.amplify.aws

License: Other

Shell 0.02% Ruby 0.01% Python 0.05% Java 99.91% Scilab 0.01% CSS 0.02% HTML 0.01% PLSQL 0.01%

aws-sdk-android's Introduction

AWS SDK for Android

DiscordChat GitHub release Maven Central CircleCI

For new projects, we recommend interacting with AWS using the Amplify Framework.

The AWS SDK for Android is a collection of low-level libraries for direct interaction with AWS backend services. For use cases not covered by the Amplify Framework, you may directly integrate these clients into your Android app.

Installation

The AWS SDK for Android can be directly embedded via .aar files, or you can download it from the Maven Central repository, by integrating it into your Android project's Gradle files.

From Maven

We recommend obtaining the dependency from Maven. To do so, add a dependency to your app's (module-level) build.gradle, in the dependencies section:

dependencies {
    implementation 'com.amazonaws:aws-android-sdk-SERVICE:2.x.y'
}

Above, SERVICE might be s3, ddb, pinpoint, etc. A full list is provided below.

Available Modules

  • apigateway-core
  • auth-core
  • auth-facebook
  • auth-google
  • auth-ui
  • auth-userpools
  • chimesdkidentity
  • chimesdkmessaging
  • cloudwatch
  • cognitoauth
  • cognitoidentityprovider
  • cognitoidentityprovider-asf
  • comprehend
  • connect
  • connectparticipant
  • core
  • ddb
  • ddb-document
  • ddb-mapper
  • ec2
  • iot
  • kinesis
  • kinesisvideo
  • kinesisvideo-archivedmedia
  • kinesisvideo-signaling
  • kms
  • lambda
  • lex
  • location
  • logs
  • machinelearning
  • mobile-client
  • pinpoint
  • polly
  • rekognition
  • s3
  • sagemaker-runtime
  • sdb
  • ses
  • sns
  • sqs
  • testutils
  • textract
  • transcribe
  • translate

SDK Fundamentals

There are a few fundamentals that are helpful to know when developing against the AWS SDK for Android.

  • Never embed credentials in an Android application. It is trivially easy to decompile applications and steal embedded credentials. Always use temporarily vended credentials from services such as Amazon Cognito Identity.
  • Unless explicitly stated, calls are synchronous and must be taken off of the main thread.
  • Unless explicitly stated, calls can always throw an AmazonServiceException or an AmazonClientException (depending on if the exception is generated by the service or the client respectively).
  • The SDK will handle re-trying requests automatically, but unless explicitly stated will throw an exception if it cannot contact AWS.
  • We are always looking to help, please feel free to open an issue.

Versioning

The Android SDK is versioned like 2.x.y. 2 is a product identifier that never changes. x is bumped when there are breaking changes. y is bumped for not-breaking bugfixes, or for the introduction of new features/capabilities.

Building the SDK

Pre-requisites

The AWS Core Runtime (aws-android-sdk-core) module builds against Android API Level 23. Please download and install Android API Level 23 through SDK Manager in Android Studio, before building the SDK.

Set the ANDROID_HOME environment variable, to the root directory of your Android SDK installation.

For example, on a Mac OS X where Android Studio has been installed, the SDK comes bundled with it.

export ANDROID_HOME="$HOME/Library/Android/sdk"

Build

./gradlew build

Consuming Development Versions

Once you've built the SDK, you can manually install the SDK by publishing its artifacts to your local Maven repository.

The local Maven repository is usually found in your home directory at ~/.m2/repository.

To publish the outputs of the build, execute the following command from the root of the amplify-android project:

./gradlew publishToMavenLocal

After this, you can use the published development artifacts from an app. To do so, specify mavenLocal() inside the app's top-level build.gradle(Project) file:

buildscript {
    repositories {
        mavenLocal() // this should ideally appear before other repositories
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
    }
}

allprojects {
    repositories {
        mavenLocal() // this should ideally appear before other repositories
    }
}

Then, find the VERSION_NAME of the library inside gradle.properties file.

Use the above version to specify dependencies in your app's build.gradle (:app) file:

dependencies {
    implementation 'com.amazonaws:aws-android-sdk-SERVICE:VERSION_NAME'
}

Talk to Us

Come chat with us on our Discord Channel.

Report bugs to our GitHub Issues page.

Author

Amazon Web Services

License

See the LICENSE.txt for more info.

aws-sdk-android's People

Contributors

arturdryomov avatar aws-amplify-ops avatar awsmobilesdk avatar balaneshin avatar changxu0306 avatar desokroshan avatar div5yesh avatar eeatonaws avatar fosterzhang avatar frankmuellr avatar github-actions[bot] avatar hakansuluoglu avatar haverchuck avatar jamesonwilliams avatar jpignata avatar karthiksaligrama avatar minbi avatar mreddyg avatar palpatim avatar raphkim avatar richardmcclellan avatar rjuliano avatar rlatapy-luna avatar rohandubal avatar royjit avatar sdhuka avatar sirknightj avatar thisisabhash avatar treksoft avatar wdane avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.