最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)生成二維碼并保存到相冊

 更新時間:2022年04月13日 08:16:07   作者:bfw2015  
這篇文章主要介紹了如何利用Android實現(xiàn)二維碼的生成,并且保存到本地相冊。文中的示例代碼講解詳細,感興趣的小伙伴快跟隨小編學(xué)習(xí)一下

效果圖如下

保存的圖片效果是:

保存到本地的,是整個視圖,不只是單單的二維碼的圖片,

在了解的一番過程之后,我知道了,

1.首先要去獲取保存圖片的寫入權(quán)限;(使用 https://github.com/getActivity/XXPermissions

2. 保存指定view的bitmap (這一步,)

3.保存到相冊

直接上代碼:

private val mBitmapUrl = "wwwww://WL3687211525992373----"

private lateinit var mBitmap: Bitmap

使用的使用的是 https://github.com/bingoogolapple/BGAQRCode-Android  這個里面的類 去生成二維碼內(nèi)容

同時,這個地方,是耗時操作,就使用了一下kotli的協(xié)程處理耗時操作了

lifecycleScope.launch {
val qrcodeBitmap = QRCodeEncoder.syncEncodeQRCode(mBitmapUrl, SizeUtils.dp2px(200f))
mBitmap = qrcodeBitmap
mDatabind.imageViewScanPay.load(qrcodeBitmap)
}

3. 點擊下載指定視圖內(nèi)容view到圖庫

mDatabind.textViewDownloadPicture.setOnClickListener {
//先判斷存儲權(quán)限是否授權(quán)
if (!XXPermissions.isGranted(
this@RechargeQrCodeActivity,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
)
    ) {
XXPermissions.with(this@RechargeQrCodeActivity)
.permission(Permission.WRITE_EXTERNAL_STORAGE)
.request { permissions, all ->
if (all) {
// 保存圖片
saveViewToImg(mDatabind.viewTop,this@RechargeQrCodeActivity)
} else {
ToastUtils.showShort("保存權(quán)限獲取失??!")
}
}

} else {
// 保存圖片
saveViewToImg(mDatabind.viewTop,this@RechargeQrCodeActivity)
}

}
/**
 * 把view保存成圖片
*/

private fun  saveViewToImg(mView:View,mContext:Context){
// 獲取圖片的某布局
mView.isDrawingCacheEnabled = true
mView.buildDrawingCache()
lifecycleScope.launch {
// 獲取圖片
val drawingCache = mView.drawingCache
saveImg(drawingCache)
// 保存事后釋放資源
mView.isDrawingCacheEnabled = false
mView.destroyDrawingCache()
}


}
/**
 * 保存圖片到本地
*/
private fun saveImg(bitmap: Bitmap) {
val fileName = "qr_" + System.currentTimeMillis() + ".png"
val save2Album = ImageUtils.save2Album(bitmap, fileName, Bitmap.CompressFormat.PNG, false)
if (save2Album != null) {
ToastUtils.showShort("保存成功")
} else {
ToastUtils.showShort("保存失敗")
}
}

在保存圖片這里,這里用到了一個庫: implementation 'com.blankj:utilcodex:1.31.0'   ImageUtls.sava2Album 進行圖片的保存;

特別注意:在保存整個白色視圖view,做完圖片進行保存的時候,我原來的視圖是直接用約束布局進行寫的,視圖都是平級關(guān)系;

這樣就會導(dǎo)致,視圖,只是保存了白色的view背景色視圖,view上面的內(nèi)容都是沒有了,

后來,通過探索,知道了,這個地方是使用包裹內(nèi)容的視圖的,所以就在里面首先用了一層cardView , 再到里面用了一層,線性布局,這樣就是有層級關(guān)系了,

視圖就正常顯示; 

原先錯誤的視圖:--- 也不能說是錯誤,只是不適合,這里的

后面修改后的視圖關(guān)系

完成整個流程;

參考文章

以上就是Android實現(xiàn)生成二維碼并保存到相冊的詳細內(nèi)容,更多關(guān)于Android生成二維碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 利用Android封裝一個有趣的Loading組件

    利用Android封裝一個有趣的Loading組件

    這篇文章我們將利用Android封裝一個可以自定義配置前景色和背景色的Loading組件,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-08-08
  • Android 如何在私有空間創(chuàng)建文件

    Android 如何在私有空間創(chuàng)建文件

    在Android應(yīng)用程序中,我們經(jīng)常需要在私有空間中創(chuàng)建文件來存儲應(yīng)用數(shù)據(jù),例如用戶配置文件、日志文件等,本文將介紹如何在Android應(yīng)用中使用Java代碼創(chuàng)建文件并將其保存在私有空間中,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Android應(yīng)用程序模型之應(yīng)用程序,任務(wù),進程,線程分析

    Android應(yīng)用程序模型之應(yīng)用程序,任務(wù),進程,線程分析

    這篇文章主要介紹了Android應(yīng)用程序模型之應(yīng)用程序,任務(wù),進程,線程分析,較為詳細的分析了Android應(yīng)用程序模型中關(guān)于任務(wù)、進程、線程的相關(guān)概念及注意事項,需要的朋友可以參考下
    2016-01-01
  • Android 操作系統(tǒng)獲取Root權(quán)限 原理詳細解析

    Android 操作系統(tǒng)獲取Root權(quán)限 原理詳細解析

    許多機友新購來的Android機器沒有破解過Root權(quán)限,無法使用一些需要高權(quán)限的軟件,以及進行一些高權(quán)限的操作,其實破解手機Root權(quán)限是比較簡單及安全的,破解Root權(quán)限的原理就是在手機的/system/bin/或/system/xbin/目錄下放置一個可執(zhí)行文件“su”
    2013-10-10
  • Android中DialogFragment自定義背景與寬高的方法

    Android中DialogFragment自定義背景與寬高的方法

    DialogFragment 彈出框默認是在屏幕的中央,左右還有留白,那么如何自定義背景和寬高呢?下面這篇文章就來給大家介紹了關(guān)于Android中DialogFragment自定義背景與寬高的方法,需要的朋友可以參考下。
    2017-08-08
  • Android實現(xiàn)折線圖小工具

    Android實現(xiàn)折線圖小工具

    這篇文章主要為大家詳細介紹了Android實現(xiàn)折線圖小工具,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Android在view.requestFocus(0)返回false的解決辦法

    Android在view.requestFocus(0)返回false的解決辦法

    這篇文章主要介紹了Android在view.requestFocus(0)返回false的解決辦法,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2016-08-08
  • Android自定義View實現(xiàn)多邊形統(tǒng)計圖示例代碼

    Android自定義View實現(xiàn)多邊形統(tǒng)計圖示例代碼

    這篇文章主要給大家介紹了關(guān)于Android自定義View如何實現(xiàn)多邊形統(tǒng)計圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Flutter禁止手機橫屏的簡單實現(xiàn)方法

    Flutter禁止手機橫屏的簡單實現(xiàn)方法

    app默認是可以橫屏的,如果需要禁止橫屏話可以參考這篇文章,本文主要給大家介紹了關(guān)于Flutter禁止手機橫屏的簡單實現(xiàn)方法,需要的朋友可以參考下
    2021-07-07
  • Android使用WindowManager構(gòu)造懸浮view

    Android使用WindowManager構(gòu)造懸浮view

    這篇文章主要為大家詳細介紹了Android使用WindowManager構(gòu)造懸浮view的具體方法,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論

阿拉善盟| 扎赉特旗| 淮滨县| 蒙阴县| 平利县| 濮阳市| 康乐县| 延寿县| 平昌县| 商南县| 石林| 林口县| 保靖县| 陆丰市| 平远县| 青岛市| 许昌市| 平潭县| 蛟河市| 微博| 维西| 雷波县| 马鞍山市| 荔浦县| 东城区| 博兴县| 东光县| 吴川市| 蒙自县| 伊川县| 沧源| 莲花县| 三河市| 莱阳市| 杭州市| 财经| 冕宁县| 罗源县| 民县| 江津市| 视频|