An Image
& Text
Sharing library for Android backed by Kotlin Coroutines. Share
is:
- Fast:
Share
performs it's operation inBackground Thread
usingCoroutines
. - Lightweight:
Share
adds ~10 methods to your APK (for apps that already uses Coroutines). - Easy to use:
Share's
API leverages Kotlin's language features for simplicity and minimal boilerplate. - Modern:
Share
uses Coroutines.
Implementation
Share
is available on jitpack
.
Gradle
Add below code to your root build.gradle
file (not your module/app build.gradle file).
allprojects { repositories { .... maven { url 'https://jitpack.io' } } }
And add a dependency code to your APP's build.gradle
file.
dependencies { implementation 'com.github.EsmaeelNabil:Share-em:1.0.7' }
Usage
Simple usage
- Only share the Image
Share.with(context = this) .item(SharableItem(pictureUrl = "ImageUrl"), onStart = {}, onFinish = { isSuccessful, errorMessage -> })
- Only share A Text
Share.with(context = this) .item(SharableItem(data = "Text To Share"), onStart = {}, onFinish = { isSuccessful, errorMessage -> })
More Specific Example
Share.with(context = this).item(SharableItem( pictureUrl = "https://images.unsplash.com/photo-1554290712-e640351074bd?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=965&q=80", data = "body text", //default = "" shareAppLink = false, // don't generate appliaction playstore `download our app` message with the data text. default = false downloadOurAppMessage = "Find us here" // A custom message for AppLink sharing feature ), onStart = { // do something onStart like : Loading Log.e(TAG, "Sharing Started.") }, onFinish = { isSuccessful: Boolean, errorMessage: String -> // if isSuccessful : you will see an intent chooser // else : check the error message if (isSuccessful) Log.e(TAG, "Successfully shared") else Log.e(TAG, "error happened : $errorMessage") } )
Tips
- if
pictureUrl = "ImageUrl"
is not avalid
URL you will be sharing only thedata
text. - if
downloadOurAppMessage is provided and
shareAppLink` is false it will be ignored.
Top comments (0)