为了避免多个工程用到相同代码。这里将项目中的用到了公用工具打包 发布maven库
- secure-preferences 原工程地址
//替代 implementation 'com.scottyab:secure-preferences-lib:0.1.7'
implementation 'androidx.security:security-crypto-ktx:1.1.0-alpha03'
由于目前项目最低api为21.但是Androidx这个要求的是23.所以暂时仍然使用scottyab的解决方案
使用方法
EchoLog.log(objects)
默认的tag为:EchoTag 可通过设置echo_log_tag字符来设置,或者setLogTag来修改
resValue("string", "echo_log_tag", "WGSDK")
eg:顶部标出打log的线程名称。内容部分默认打印2个调用栈(可通过 EchoLog.setTraceCount(3)修改)
╔═══main:1════════════════════════════
║➨➨at com.gamehours.japansdk.pay.GooglePayChannel.<init>(GooglePayChannel.kt:430)
║➨➨➨at com.gamehours.japansdk.pay.PayManager.init(PayManager.kt:28)
╟───────────────────────────────────
║Creating Google Billing Client.___
╚═════════════════════════════════
忽略无意义的封装类中的栈
EchoLog.addIgnore(CommonUtils.class. getName ());
- fb分享 加入依赖
//fb分享
implementation 'com.facebook.android:facebook-share:13.0.0'
fun fbShareLink(
activity: Activity,
url: String?,
quote: String? = null,
callback: ShareCallBack?
)
fun fbShareMedia(
activity: Activity,
images: List<String?>?,
videos: List<String?>?,
bitmap: List<Bitmap?>?,
callback: ShareCallBack?
)
fun fbShare(activity: Activity, content: ShareContent<*, *>, callback: ShareCallBack?)
- twitter分享 加入依赖
//tw分享
implementation 'com.twitter.sdk.android:twitter:3.3.0'
//https://github.com/twitter-archive/twitter-kit-android/wiki/Compose-Tweets#launching-twitter-composer
fun twShare(
activity: Activity,
content: String?,
imageUri: String?,
url: String?,
bitmap: Bitmap?,
callback: ShareCallBack?
)
- line分享
/**
* lin分享必须是file:/// 这种path路径,
* 不能是url,必须先下载到本地 getHttpImageToLocal
* 不能是content,必须找到原本的path getRealFilePath
*
*/
fun lineShareImage(activity: Activity, imageUri: String?)
fun lineShareImage(activity: Activity, bitmap: Bitmap?)
fun lineShareString(activity: Activity, content: String?)
- 封装了不具名分享
fun justSendShare(
activity: Activity,
title: String?,
text: String?,
uris: List<String?>?,
bitmaps: List<Bitmap?>?
)