Android
文章平均质量分 74
安东尼肉店
Coding Changes the World
展开
-
数据统计双重奏 Android自定义 双重/带缓冲横向柱状图
Android自定义 双重/ 带缓冲 横向柱状图原创 2023-02-08 10:39:02 · 198 阅读 · 2 评论 -
数据统计单重奏 Android自定义雷达图 文字颜色修改
Android自定义雷达图 蜘蛛图 文字颜色修改原创 2023-02-07 22:52:54 · 293 阅读 · 0 评论 -
android离线身份证识别(从相册选择)
最近在新项目开发的过程中,遇到一个比较有意思的问题特此记录一下。效果图这里直接使用相机进行扫描 以及从相册中选择开发过程中遇到的问题这里的离线身份证识别参考 https://github.com/fanqieVip/AndroidOcrLibs当我从github将此项目下载下来运行到我的androidstudio中时,我发现该项目只有进行相册扫描的功能,没有从相册选择的例子在查阅了一些文档之后也有一些启发下面就直接开始代码部分,如何集成离线身份证识别请参考https://github.原创 2021-11-05 17:50:18 · 2803 阅读 · 2 评论 -
Kotlin语法进阶,这一篇就够了
Kotlin语法进阶适用于使用kotlin半年到2年左右的Android程序员 系统学习kotlinin 区间区间表达式由具有操作符形式 … 的 rangeTo 函数辅以 in 和 !in 形成。区间是为任何可比较类型定义的,但对于整型原生类型,它有一个优化的实现。以下是使用区间的一些示例:for (i in 1..4) print(i) // 输出“1234”for (i in 4..1) print(i) // 什么都不输出if (i in 1..10) { // 等同于 1 <原创 2021-09-01 22:02:22 · 1702 阅读 · 1 评论 -
Android屏幕适配(SmallestWidth适配 sw限定符)最新步骤解析
前言背景SmallestWidth目前最好的适配方案适配一直以来都是一个比较热门的话题,这两天无事看了看网上讲解的各种屏幕适配的方案,并且实际操作了一番,特将次记录下来。背景在我之前的项目中,我都是使用的AndroidAutoSize一个基于今日头条适配方案使用起来也是比较简单,只需要两步导入依赖 implementation 'me.jessyan:autosize:1.1.2'配置AndroidManifest在 AndroidManifest 中填写全局设计图尺寸 (单位 dp原创 2021-08-26 11:15:56 · 3883 阅读 · 4 评论 -
Android集成友盟推送
这几天一直在做Android 消息推送接入前的准备工作特此在这里将自己在加载第三方推送时出现的问题以及详细的接入步骤进行记录,已免后者踩坑为什么选择友盟推送?在刚开始准备接入消息推送时 首先我先想到的是极光推送,在大概看了一遍他们的接入流程并且根据他们的文档做了一个demo后,因为是第一次接入推送,所以不太清楚在app离线情况下是如何接收到推送的流程,在积极和他们的业务人员沟通后也没有得到一个我想要的回答 可能是因为自身原因(但是服务挺好的 会把你拉到一个相关的群聊里面 你可以和他们技术进行沟通 )。原创 2021-02-04 22:32:12 · 3508 阅读 · 11 评论 -
Kotlin 协程解析
最近刚刚接触到协程,网上也翻阅了大量其他作者的博文来看,总感觉越看越不透彻,所以特此记录自己对于kotlin协程的理解和认识,如果有误,望指正协程定义协程(英语:coroutine)是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被挂起与被恢复。相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程更适合于用来实现彼此熟悉的程序组件,如协作式多任务、异常处理、事件循环、迭代器、无限列表和管道。...原创 2020-11-09 13:58:12 · 405 阅读 · 0 评论 -
Android Google Map开发指南(三)百度地图、谷歌地图自如切换
如果你是刚开始接触谷歌地图的话,推荐你先看一下文章:Android Google Map 开发指南(一)解决官方demo显示空白只展示google logo问题Android Google Map开发指南(二) 处理批量生成Marker点(添加大量标记点)内存消耗问题如果你刚接触百度地图的话,推荐你可以看一下:Android百度地图SDK最新详细使用(包含demo)目录实现前准备一个小demo接入思路实现过程废话不多说,先来一波效果图:实现前准备要实现到这一步,就需要分别拿到google原创 2020-10-27 15:53:29 · 3134 阅读 · 3 评论 -
Android Google Map开发指南(二) 处理批量生成Marker点(添加大量标记点)内存消耗问题
在接入Google 地图到app中的时候,后期需要读取数据库中的大量坐标等字段来显示到地图上,坐标数据可能会有几百个或者几千个,在使用最简单的方式一个个添加到地图上时因数据量过多会导致加载Marker(标记点)的时长较长,内存消耗巨大,影响用户体验。特此在这里将自己在优化步骤进行记录,已免后者踩坑原创 2020-10-24 08:29:22 · 2923 阅读 · 21 评论 -
Android Google Map 开发指南(一)解决官方demo显示空白只展示google logo问题
这两天一直在做google map接入前的准备工作特此在这里将自己在加载官方demo时出现的问题以及详细的接入步骤进行记录,已免后者踩坑原创 2020-10-23 09:48:06 · 3779 阅读 · 11 评论 -
Android FileProvider将Uri传递给其它app
目录Android 应用文件存储目录1.内部存储空间中的应用私有目录2.外部存储空间中的应用私有目录3.外部存储空间中的公共目录将图片存储到应用私有目录读取私有目录下的图片:FileProvider将Uri传递给其他app1.在AndroidManifest.xml 中声明2. 指定可分享的文件路径3.将 file:// 转为 content://4.将简单的数据发送给其他应用5.从其他应用接收简单的数据Android 应用文件存储目录1.内部存储空间中的应用私有目录每安装一个 App 系统都会在内部原创 2020-09-17 22:40:01 · 5152 阅读 · 0 评论 -
Android 仿微信右上角点击加号弹出菜单
今天在做仿微信点击右上角加号弹出菜单出现了一点问题,故记录下来 需要也能对你有用先来看效果图:欧克,上面的实现效果主要时使用PopupWindow实现的,其中有趣的知识点是1.点击加号按钮弹出菜单,整体颜色变灰,2.再次点击加号按钮,收起菜单,3.开启菜单时点击外部实现收起菜单好了,废话不多说让我们来看代码首先,声明一个类继承自PopupWindow (这里你也可以在使用的activity/Fragment中使用new PopupWindow方式来实现)public class DeviceP原创 2020-09-15 17:17:07 · 4206 阅读 · 4 评论 -
Android默认显示系统语言、应用中手动切换语言、下次登录显示用户切换的语言完整版
最近再做一款其他国家也能通用的app,所以涉及到语言国际化,本来感觉挺简单的,直接获取手机系统语言,然后app根据用户系统语言变化而变化,但是这边还要求要加用户可以手动切换语言的功能,及涉及到退出应用肯定要保存用户之前设置好的语言偏好,在费劲了一下午终于搞定了,直接来看完整代码吧,实现过程也相对其他的比较简单:声明 我这里设置用户可切换的语言为简体中文,英语和繁体中文效果图:代码实现:MainActivity.classclass MainActivity : Activity() {原创 2020-09-12 14:19:36 · 2770 阅读 · 0 评论 -
Android 百度地图 批量添加Marker点 点击Marker点修改图标 以及调用第三方导航
文章目录前言一、批量生成Marker点二、修改Marker点的图标三、根据当前Marker点获取详细位置信息四、调用第三方导航总结前言最近接到公司一个项目,需要根据给定的所有经纬度批量生成Marker点,在点击某一个Marker点时,更改当前选中的Marker点的图标,并显示当前选中点的详细地址信息,并且提供点击"到这去"能够打开手机已安装的百度地图进行导航首先来看效果图吧:默认刚进去程序的效果 这时我随便添加的3个标记当点击标记点时 更改当前Marker点的图标 并显示当前标记点的详细位原创 2020-09-04 14:11:18 · 4141 阅读 · 3 评论 -
org.json.JSONException: Value of type java.lang.String cannot be converted to JSONArray
本人在使用http请求数据返回json中string字段包含unicode的转码时遇到的问题总结:首先来一个unicode的转码工具类:public class Testa { public static String decodeUnicode(String theString) { char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffe原创 2020-07-28 13:53:17 · 2829 阅读 · 0 评论 -
Android接入阿里云短信服务最全解析(包含demo)
阿里云短信服务真是太坑了把 ,,,,,,老铁们 我太难了废话不多说 直接开始了昨天接到需求需要将阿里云的短信服务接入到软件中进行登陆验证原创 2020-05-20 14:00:29 · 3352 阅读 · 5 评论 -
RecyclerView加载多种布局
因公司需求,需要对条码数据进行数据查询,但是返回的结果是多种类型的,所以需要根据返回的数据类型进行不同布局的显示。所以就需要用到多布局加载网上也找到了很多的文章,但是就是无法实现我想要的效果,根据一上午的折腾终于将完成了我的需求,废话也不多说,直接进入主题首先我们需要知道Recyclerview.Adapter里面方法执行的顺序①getItemCount->获取要显示的item个数...原创 2020-04-27 14:23:34 · 1053 阅读 · 1 评论 -
适配AndroidQ调用系统相机拍照后保存到相册并显示在界面上
最近一直抽空在做仿微信朋友圈的功能,在点击加号选择选择拍摄进入相机拍照并将图片显示出来,因为版本迭代(Android11马上也就出来了),所以需要进行版本适配,所以在这里进行记录一下,方便以后查看和小伙伴们参考先来一波效果图:微信的效果:我实现的demo效果:ok,直接上代码activity_main.xml:<?xml version="1.0" encoding="ut...原创 2020-04-04 14:53:35 · 5901 阅读 · 6 评论 -
Android仿微信朋友圈图片上传选择器布局
标题有点绕口,直接上一个效果图,如果符合你的需求的请在往下看,避免浪费你的时间当当当当,标红的区域就是今天我们要干的活了 ,搞起来!思路:对android有点了解的人都知道在列表显示中我们可以使用GridLayoutManager这个布局可以轻松实现图片文字的一行显示的个数,所以在使用recyclerview渲染列表的时候我们就使用GridLayoutManager这个布局来代替以往的Li...原创 2020-03-31 19:23:38 · 3118 阅读 · 4 评论 -
android 知识点汇总 这一篇就够了
废话不多说,直接上图:Activity什么是Activity?Activity是一个Android的应用组件,它提供屏幕进行交互。每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满哦屏幕也可以小于屏幕并浮动在其他窗口之上Activity的生命周期如何保存Activity的状态1.一般来说, 调用 onPause()和 onStop()方法后的 activity ...原创 2020-01-16 09:37:13 · 3810 阅读 · 0 评论 -
LocationAwareException: A problem occurred configuring root project
上星期项目还没事,这周一打开项目就报Read timeOutCaused by: org.gradle.internal.exceptions.LocationAwareException: A problem occurred configuring root project 'xxx'解决方法:首先打开你的build.gradle然后将repositories的这两个文件夹修改成...原创 2019-12-30 10:15:01 · 3138 阅读 · 0 评论 -
Android多图片上传到php服务器(包含php多图上传接口详细实现)
起因因公司业务需要,需要将公司人员的档案信息进行合理化管理,涉及到将员工的简历图片以及身份证复印件的图片上传到php的服务器上(因不确定员工上传图片时遗漏,选择多图上传)ps:数据库已经给我,我负责接口的实现以及Android端将图片上传到接口中 然后在接口中将数据添加到数据库中数据库中字段要实现的效果:就是在指定的字段中(如我的img字段中)上传多少张图片就用几个逗号进行分割经过...原创 2019-12-24 14:05:53 · 1038 阅读 · 0 评论 -
回首2019 展望2020 ——我的程序员之路
光阴荏苒,岁月如梭 不知不觉马上就要过年了 大学三年的时光真的是一眨眼的功夫就快要过完了今年年初的时候就幻想这能够像我的学长一样当一名程序员(那时候做梦的时候都梦到自己真的当上了一名程序员)功夫不负有心人啊,在今年的4月份我如愿得到了我人生中的第一份程序员工作也是我想要的岗位-Android开发工程师 当我拿到我的第一个月的工资的时候我当时内心是真的感觉自己不值这个价钱当程序员的收获慢...原创 2019-12-13 14:42:02 · 1467 阅读 · 0 评论 -
Android基于UDP协议的Socket通信详细例子实现(一)(记录学习)
这里对Socket的TCP UDP进行一下总结 以及一个UDP的demoTCP UDP的区别:(考点)是否需要客户端与服务端建立连接后才能进行数据传输详细的流程:TCP流程->传输前先开服务器,accept等待用户接入,获得客户端socket 进行IO操作 ->socket.getInputStream or socket.getOutputStreamUDP流程...原创 2019-11-27 15:00:30 · 820 阅读 · 0 评论 -
Android基于TCP协议的Socket通信完整聊天室例子(二)(记录学习)
今天又是元气满满学习的一天,从上章内容我们可以对socket tcp协议服务端和客户端的简单的信息传递接收进行学习,对socket通信有了一丢丢的了解,流程图:总结:tcp socket通信主要是再InputStream 和 OutputStream之间进行数据的读取和写入其中我们可以通过 socket.getInputStream() 或者 socket.getOutputStream(...原创 2019-11-27 13:15:08 · 562 阅读 · 0 评论 -
Android基于TCP协议的Socket通信完整详细易懂例子(一)(记录学习)
最近这段时间因为公司的业务没有那么的紧,所以也会偶尔有一些自己的自由时间去做自己想做的事,最近也一直在琢磨socket 然后就写了一个详细易懂的demo分享给大家在这里呢 那些tcp,udp的区别和什么tcp三次握手我这里就不说了(主要我现在也不太懂)百度一下你就知道好了 废话不多 直接开始:首先来一个流程图 根据这个图片就可以清楚知道使用TCP协议进行通信的实现的过程然后再来一个简单...原创 2019-11-26 18:55:57 · 548 阅读 · 0 评论 -
android获取cookie
最近一直在使用玩android开放的API做一个项目,在收藏接口的时候遇到了问题,登陆成功后在点击收藏还是提示未登录,然后慢慢接触到了cookie此项目的接口数据来源于玩Android思路:使用postman模拟请求数据登录之前我们可以看到Temporary Headers中有一个Cookie字段,现在的值就是默认显示的内容当我们登录成功后cookie字段的内容为:可以看到postm...原创 2019-10-26 13:44:49 · 8088 阅读 · 7 评论 -
Android Spinner设置默认选中空值 超简单版
废话不多说 直接上效果图效果图就展示完毕了,来看一下我的json数据思路:首先spinner的适配器只接受String类型的数组,所以我们在网络请求解析完数据后要将你要展示的字段的值赋值到一个String数组里,为了使他有一个默认空值的选项,其实很简单我们只要在往数组里添加数据之前先往数组里添加一个空字符串 这样第一个就为空了 代码如下:(网络请求我就直接省略了 这是请求成功方法体内的操...原创 2019-10-24 17:27:29 · 4081 阅读 · 3 评论 -
kotlin for循环中给数组赋值,循环外拿不到数组中的数据
经过一段时间的对于kotlin的学习,慢慢的开始在项目中使用kotlin进行安卓开发,在实际的开发中的确遇到了很多的意想不到的问题,也是慢慢的一点一点的去问,用最笨的方法去一步步的解决问题,我就把我感觉很令人发指的小细节记录下来,记录成长,编程容不得半点粗心啊ok!,废话不多比比 为了简单明了 直接上效果图:这个是for循环内打印的数组信息这个是for循环外打印的数组信息很for循环...原创 2019-10-23 18:50:38 · 1521 阅读 · 0 评论 -
Android动态添加和删除布局详解(及demo)
因公司需求的增加,需要我进行扫码完成后动态的添加数据到相同的布局中效果图是这样的:其中,点击扫码按钮的时候进行条形码的扫描以及添加他们共有的字段共有的布局如下:fahuoadditem.layout<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.an...原创 2019-10-18 13:17:14 · 1699 阅读 · 0 评论 -
Android百度地图SDK最新详细使用(包含demo)
直接上效果图:2019-10-17 18:20:16.079 12664-12664/com.example.baidumapdemo I/location: 地址为====四川省宜宾市长宁县Y026 滩子塆 长宁畅通机动车检测有限公司 山水淯江 桂坪村 坪上 长宁县长宁镇海水村村民委员会 三里半烟花爆竹五金销售点 宜宾市 长宁县2019-10-17 18:20:16.684 12664-1...原创 2019-10-17 18:42:50 · 858 阅读 · 0 评论 -
kotlin AlertDialog使用方法以及kotlin点击事件和长按事件冲突
废话不多比比,直接搂它!1. kotlin AlertDialog使用方法问题说明:我在recyclerview的长按点击事件中想要是这一个对话框进行显示,调用方法:val builder = AlertDialog.Builder(this) 一直报我类型不匹配 然后我传activity.this也是报错解决方法:(长按点击事件中) (staff_recycler.adapter a...原创 2019-10-17 17:22:41 · 1249 阅读 · 0 评论 -
ViewPager详解之在FragmentPagerAdapter和PagerAdapter中自如切换
在向前的路上也要时不时回头看看基础 -------------出自《小编本人》本文就是对于Viewpager用法的详细介绍 不多比比 直接上主菜在Activity中使用FragmentPagerAdapter和PagerAdapter实现viewpager切换的效果(效果图在上面)1.Activ...原创 2019-10-12 10:57:07 · 1323 阅读 · 0 评论 -
Android最最最简单的仿微信图片选择器
ps:因公司需求,本人不得不接触图片选择,自己也在git和百度上面查找,但是都不太满意,经过我一下午的艰苦奋斗,终于 哈哈 它来了~废话不多说,直接撸代码1.库依赖://gradle版本在3.0以下引入此行compile 'com.lcw.library:imagepicker:2.2.0'//gradle版本在3.0以上引入此行implementation 'com.lcw.l...原创 2019-10-08 17:41:22 · 1523 阅读 · 16 评论 -
使用kotlin完整的玩android项目
随着kotlin的越来越多的开发者的使用,更扩开源库的扩展使我对于kotlin有了一个浓厚的学习兴趣,然后根据玩android开放的API,慢慢的摸索终于写出了一个完整的demo本项目是运用MVP+Kotlin+Retrofit+Rxjavagit地址:项目地址点击这里...转载 2019-10-08 13:52:10 · 422 阅读 · 0 评论 -
仿玩Andriod热词搜索实现流式布局
想要实现的效果:本来感觉挺简单的 就是写一个横向的recyclerview,但是一写起来才发现根本不是我想象的那样,可以看出它的列表是根据屏幕和显示内容的宽度进行屏幕适配的 然后我像百度一下却不知道到底该怎么百度,最后自己还是找到了 然后将次demo分享出来废话不多说,直接撸代码1.导入库依赖implementation 'com.hyman:flowlayout-lib:1.1.2'...原创 2019-09-19 19:25:39 · 363 阅读 · 0 评论 -
安卓下将网络图片保存到相册
这是我所见过的堪称最最最最简单的将图片报错到相册中的方法Plus废话不多说,直接撸代码1.对于权限的注册 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.W...原创 2019-09-18 16:31:05 · 646 阅读 · 0 评论 -
安卓设置Spinner默认选中项
ps:因公司业务逻辑需要,需要将首页展示页面的产品型号在修改页面进行修改操作,所以就涉及到在修改页面中默认选中当前首页选中的spinner子项数值因个人spinner数据的不同,还有懒,我就直接将主要的设置选中的代码沾上去 private void initSpiner() { jingli = new ArrayList<>(); xingha...原创 2019-09-11 13:07:06 · 1629 阅读 · 0 评论 -
安卓使用Spinner实现四级多级联动及自定义Dialog
Android自定义Diaolog+日期选择器+Spinner四级联动因为此次博文涵盖的东西比较多 ,我就把它细分一下 并且分享我在实现此功能中遇到的问题话不多说,先上效果图:详细的实现步骤1.自定义对话框的实现以及日期控件的设定我是在一个模块中添加了一个按钮的点击事件,主要的代码如下: binding.deliveryTimeSummarySearch.setOnClickList...原创 2019-09-02 12:00:33 · 1475 阅读 · 2 评论