首页 文章 精选 留言 我的

精选列表

搜索[一键部署],共10000篇文章
优秀的个人博客,低调大师

别再问WiFi密码了,HMS Core统一扫码服务让手机一键联网

现代生活离不开网络,在餐厅、商场等公共场所,手机连接WiFi一直是高频使用场景。虽然公共场所的免费WiFi越来越多,但网络连接过程却很麻烦。有的需要打开网页注册或点击广告链接才能上网,还有的要求下载特定App才能连接。 那么有没有什么更方便的联网方式呢?“扫码联网”提出了解决方案,商家可以在店放置包含WiFi信息的二维码。用户打开手机相机扫码即可连接WiFi,还支持将二维码分享给身边好友,使入网更快、更直观,并且无需担心隐私泄露、被推送无用信息等问题。 效果展示 实现原理 通过HMS Core统一扫码服务的码生成和扫码能力,轻松实现扫码连WiFi这一场景。 开发实战 一、构建扫码功能 开发准备 1.1 配置华为Maven仓地址 在项目中“buildscript > repositories”中配置HMS Core SDK的Maven仓地址。在“allprojects > repositories”中配置HMS Core SDK的Maven仓地址。 buildscript { repositories { google() jcenter() // 配置HMS Core SDK的Maven仓地址。 maven {url 'https://developer.huawei.com/repo/'} } } allprojects { repositories { google() jcenter() // 配置HMS Core SDK的Maven仓地址。 maven {url 'https://developer.huawei.com/repo/'} } } Gradle 7.0版本后,“allprojects > repositories”配置已迁移到项目级“settings.gradle”文件中。“settings.gradle”文件配置示例如下: dependencyResolutionManagement { ... repositories { google() jcenter() maven {url 'https://developer.huawei.com/repo/'} } } 1.2 添加编译依赖 位置应用build.gradle dependencies{ //Scan SDK implementation 'com.huawei.hms:scan:2.3.0.300' } 1.3 代码混淆 在应用级根目录下打开混淆配置文件“proguard-rules.pro”,加入排除HMS Core SDK的混淆配置脚本。 -ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.huawei.hianalytics.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;} 1.4 Manifest.xml添加权限 <!--相机权限--> <uses-permission android:name="android.permission.CAMERA" /> <!--文件读取权限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 1.5 申请动态权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE}, requestCode); 1.6 申请权限结果 @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (permissions == null || grantResults == null) { return; } // 申请权限成功或已有权限 if (requestCode == CAMERA_REQ_CODE) { // Default View Mode方式扫码接口 // 参数说明: // activity 请求扫码的activity // requestCode 扫码请求的请求码,用于鉴定activity返回时是否从扫码界面返回。 // option 扫码格式选项,可以置为“null” ScanUtil.startScan(this, REQUEST_CODE_SCAN_ONE, new HmsScanAnalyzerOptions.Creator().create()); } } 1.7 回调接口接收扫码结果,相机扫码和导入图片扫码均通过该接口返回。 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode != RESULT_OK || data == null) { return; } if (requestCode == REQUEST_CODE_SCAN_ONE) { // 导入图片扫描返回结果 HmsScan hmsScan = data.getParcelableExtra(ScanUtil.RESULT); if (hmsScan != null) { // 码值结果 rawResult自定义TextView rawResult.setText(hmsScan.getOriginalValue()); } } } 二、构建码生成功能 构建扫码功能同样需要配置Marven仓地址,添加编译依赖和配置混淆脚本,参考上方1.1,1.2和1.3 2.1 Manifest.xml添加权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 2.2 申请动态权限 ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},requestCode); 2.3 申请权限结果 @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { if (permissions == null || grantResults == null) { return; } if (grantResults[0] == PackageManager.PERMISSION_GRANTED && requestCode == GENERATE_CODE) { Intent intent = new Intent(this, GenerateCodeActivity.class); this.startActivity(intent); } } 2.4 生成二维码 public void generateCodeBtnClick(View v) { try { HmsBuildBitmapOption options = new HmsBuildBitmapOption.Creator() .setBitmapMargin(margin) .setBitmapColor(color) .setBitmapBackgroundColor(background) .create(); resultImage = ScanUtil.buildBitmap(content, type, width, height, options); barcodeImage.setImageBitmap(resultImage); } catch (WriterException e) { Toast.makeText(this, "Parameter Error!", Toast.LENGTH_SHORT).show(); } } 2.5 保存二维码 public void saveCodeBtnClick(View v) { if (resultImage == null) { Toast.makeText(GenerateCodeActivity.this, "Please generate barcode first!", Toast.LENGTH_LONG).show(); return; } try { String fileName = System.currentTimeMillis() + ".jpg"; String storePath = Environment.getExternalStorageDirectory().getAbsolutePath(); File appDir = new File(storePath); if (!appDir.exists()) { appDir.mkdir(); } File file = new File(appDir, fileName); FileOutputStream fileOutputStream = new FileOutputStream(file); boolean isSuccess = resultImage.compress(Bitmap.CompressFormat.JPEG, 70, fileOutputStream); fileOutputStream.flush(); fileOutputStream.close(); Uri uri = Uri.fromFile(file); GenerateCodeActivity.this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri)); if (isSuccess) { Toast.makeText(GenerateCodeActivity.this, "Barcode has been saved locally", Toast.LENGTH_LONG).show(); } else { Toast.makeText(GenerateCodeActivity.this, "Barcode save failed", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { Toast.makeText(GenerateCodeActivity.this, "Unkown Error", Toast.LENGTH_SHORT).show(); } } 欲了解更多HMS Core统一扫码服务详情,请参阅: https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/service-introduction-0000001050041994?ha_source=hms1 华为开发者联盟官网 获取开发指导文档 参与开发者讨论请到Reddit社区 下载demo和示例代码请到Github 解决集成问题请到Stack Overflow

优秀的个人博客,低调大师

三年首次大合集:阿里技术免费电子书一键下载!

阿里技术技术电子书全收录! 一文带你看遍12本阿里技术精选电子书,从职业指导到技能指南,从演讲资料到学术论文,专属开发者的免费资料,大幅提升你的竞争力,快动动手指来下载吧! 1、《阿里技术参考图册》 此套图册将呈现阿里技术全景,分为研发篇和算法篇两册,为你清晰讲解阿里业务生态的全貌:包括文化娱乐(优酷、土豆等)、核心电商业务(天猫、淘宝、村淘等)、本地生活(高德地图、盒马等)、支付& 金融服务(蚂蚁金服)、智慧物流(菜鸟)、市场营销(阿里妈妈)、云计算(阿里云)等。 如果你希望加入阿里搞技术,却面对不同的部门、成百上千的技术岗位一头雾水,这套图册将为你拨开迷雾,清晰呈现每个事业部的主攻方向、技术创新及突破、发展路径等。 如果你希望了解业界最新技术趋势,来自阿里人工智能实验室、天猫、淘宝、菜鸟等部门技术负责人,同样带来前沿的技术解析,揭秘阿里在各个领域的技术积累及发展方向。 免费下载传送门: 《阿里技术参考图册——算法篇》 《阿里技术参考图册——研发篇》 2、《不止代码》 你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”今天,阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。 成为技术大牛梦想虽然很美好,但是要付出很多,不管是Do more 还是Do better 还是Do exercise,都需要花费时间和精力,这个过程中可能很苦逼,也可能很枯燥,这里我想特别强调一下:前面我讲的都是一些方法论的东西,但真正起决定作用的,其实还是我们对技术的热情和兴趣! 免费下载传送门: 《不止代码》 3、《阿里巴巴机器智能计算机视觉技术精选——顶级会议 CVPR 2018收录论文》 CVPR(Conference on Computer Vision and Pattern Recognition)是计算机视觉领域的顶会之一,伴随着视觉AI的火热,近几年参会人数急剧增加。2018年的CVPR会议于6月18日-22日在美国犹他州盐湖城举办。本届大会有超过 3300 篇的大会论文投稿,录取 979 篇(接受率约为 29%),其中包括 70 篇 Oral 论文和 224 篇 Spotlight 论文,参会人数达到6500人。 未来的计算机视觉技术一定是理论探索和数据实践的共同推进。希望这本论文合集能抛砖引玉,给学术界和工业界带来一些输入,共同推进计算机视觉技术的发展。 免费下载传送门 《阿里巴巴机器智能计算机视觉技术精选》 4、《阿里机器智能技术精选》 2018 年伊始,万众期待的人工智能学术会议AAAI 2018 在华人春节前一周正式召开,这也标志着全球学术会议新一年的开启。 现在,阿里正式推出《阿里巴巴机器智能技术精选集》,收录多篇AAAI优秀论文,并向业界开放下载。该书集中展示了阿里巴巴的最新研究成果,包罗NLP、搜索推荐、社交网络、基础算法、深度学习等多个方向,希望与致力于AI技术探索的研究者及同仁一起探讨交流。 免费下载传送门: 《阿里机器智能技术精选》 5、《阿里巴巴Java开发手册》 《Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册。 本手册以Java开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约七个维度。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升系统稳定性,码出高效,码出质量。 免费下载传送门: 《阿里巴巴Java开发手册》 6、《2017阿里技术年度精选集》 2017年,在技术发展的历史上,一定是个特别的一年:柯洁与AlphaGo的惊世大战,无人咖啡店开放体验,AI设计师“鲁班”横空出世、三年投入千亿的达摩院正式成立…… 在全年发布的近300篇文章中,我们选出 65篇,集结成这套《2017阿里技术年度精选》,分为上、下两册,总计600余页。这套精选集覆盖多个热门技术领域:算法、机器学习、大数据、数据库、中间件、运维、安全、移动开发等,文章内容涉及技术架构、核心算法、解决方案等干货。无论你是计算机相关专业的在校学生、科研机构的研究人员,还是步入社会的IT从业人员,相信都能从中受益。 免费下载传送门: 《2017阿里技术年度精选集上》 《2017阿里技术年度精选集下》 7、《强化学习在阿里的技术演进与业务创新》 当前的机器学习算法⼤致可以分为有监督的学习、⽆监督的学习和强化学习(Reinforcement Learning)等。强化学习和其他学习⽅法不同之处在于强化学习是智能系统从环境到⾏为映射的学习,以使奖励信号函数值最⼤。如果智能体的某个⾏为策略导致环境正的奖赏,那么智能体以后产⽣这个⾏为策略的趋势便会加强。强化学习是最接近于⾃然界动物学习的本质的⼀种学习范式。然⽽强化学习从提出到现在,也差不多有半个世纪左右,它的应⽤场景仍很有限,规模⼤⼀点的问题就会出现维数爆炸,难于计算,所以往往看到的例⼦都是相对简化的场景。 未来深度强化学习的发展必定是理论探索和应⽤实践的双链路持续深⼊。希望这本电⼦书能抛砖引⽟,给⼯业界和学术界带来⼀些输⼊,共同推进深度强化学习的更⼤发展。 免费下载传送门: 《强化学习在阿里的技术演进与业务创新》 8、《九年双11:互联网技术超级工程》 阿里的双11是一次全球商业、科技、数据、智能的大协同,是一个商业社会的大协同,更是一个技术的大协同,是名副其实的世界互联网技术的超级工程。 2017年11月11日晚上10点,阿里巴巴集团CTO张建锋(花名:行癫)连线上海双11媒体中心,为700多位中外媒体记者介绍了阿里技术在双11中取得的突破与成绩,表示“阿里双11是名副其实的世界互联网技术超级工程。” 数据智能、机器智能已经融入到整个系统的每一个方面:整个商品推荐、整个交易链路、包括整个决策都是用机器智能来做的,我们希望将技术变成全社会能够共享的普惠基础设施,从而降低整个社会的创新成本,提升整个社会的创新效率。 免费下载传送门: 《九年双11:互联网技术超级工程》 9、《阿里巴巴Android开发手册》 《阿里巴巴Android开发手册》是阿里巴巴集团各大Android开发团队的集体智慧结晶和经验总结,将淘宝、天猫、闲鱼、钉钉等App长期开发迭代和优化经验系统地整理成册,以指导Android开发者更加高效、高质量地进行App开发,呈现给用户体验好、性能优、稳定性佳、安全性高的产品。 本手册以开发者为中心视角分为Java语言规范(遵循《阿里巴巴Java开发手册》),Android资源文件命名与使用,Android基本组件,UI与布局,进程、线程与消息通信,文件与数据库,Bitmap、Drawable与动画,安全,其他等九大部分,《阿里巴巴Android开发手册》作为阿里巴巴开发规约重要的一环,我们的目标是: 防患未然,提升质量意识,降低故障率和维护成本; 标准统一,提升协作效率; 追求卓越的工匠精神,打磨精品代码。 免费下载传送门: 《阿里巴巴Android开发手册》 10、《深入探索Android热修复技术原理》 随着无线互联网在各领域大行其道,我们再一次见证计算机操作系统这一平台技术的周期性发展规律,既:从一个操作系统的兴起,到平台上应用和开发者的繁荣,再到安全领域技术逐步应用到日常应用研发领域,最后进入到平滑发展或者走向衰退。 作为平台真正进入巅峰期的一个不起眼的标志——安全领域类的技术逐步融入到应用研发领域, 这一现象在Windows、Linux到Android上已被多次验证,屡试不爽。以热修复技术为例,作为安全类技术的标志性衍生产物,其进入到应用化领域开始大行其道时,标志着平台发展开始迈入新阶段,这也意味着应用市场的繁荣程度、应用开发者的思维和研发模式也进入到游戏的下半程。 免费下载传送门: 《深入探索Android热修复技术原理》 更多电子书和免费资料,立即订阅关注 开发者免费资料库 技术圈和 阿里技术官方微信公众号。

优秀的个人博客,低调大师

阿里云应用高可用 AHAS 正式商用,可一键提升云上应用可用性

在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战。 7月17日,阿里云应用高可用服务AHAS 正式商用,包含架构感知、流控降级和故障演练三大独立的功能模块,可快速提高应用的高可用能力,解决分布式架构下的高可用难题。 直播回顾:点击这里专题页:点击这里 在分布式环境下,我们经常会遇到多样的组件和错综复杂的依赖关系,局部故障导致的错误放大,突发流量导致的瞬间拥塞,面对这些难题,我们通常会难以下手。 应用高可用服务AHAS 源自阿里巴巴的全链路压测技术,历经集团多年双十一的技术大考,提供强稳定性的流控降级保护等防护手段。同时,提供了自动感知应用的拓扑结构,可绘制组件间依赖关系和应用对基础架构的依赖,并提供基于真实故障的演练场景来测试应用系统的高可用能力,是混沌工程在云上

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册