如何使用GraphQL Client: Apollo Android
如何使用GraphQL Client: Apollo Android
一个Android app, 如何使用GraphQL.
本文以最流行的Apollo Android为例来说明.
添加依赖
首先, 添加依赖:
https: www.apollographql.com/doc androi...[2021/3/1]
用OkHttpGo和FastJson获取OneNET云平台数据(解析嵌套数组)用OkHttpGo和FastJson获取OneNET云平台数据(解析嵌套数组)
JSON数据格式有两种,一种是 { } 大括号表示的JSON对象,一种是 [ ] 中括号表示的JSON数组。从OneNET获取到的数组是这样的,并用Json解析网址查看https: jsonformatter.curiousconcept.com/#(图1)。可以看到这是一个对象包含了...[2021/3/1]
kotlin 圆形进度条
kotlin版的自定义圆形进度条
大多数启动页都会带个进度条加载样式,所以就自己用kotlin重新写了一个,如果真的要很炫酷还是有很多东西可以附加的
一个简单的进度条基本组成就是一个背景环,一个进度环,需要注意的就是绘制的方式了
因为圆形进度条是宽高对等的,我们定义view宽高可能不是...[2021/3/1]
app启动页优化
有很多app启动页还是老一套的splashactivity,然后跳转到mainactivity,首先splash加载了一遍数据,然后进入到main之后也会加载数据,所以导致两次加载都要等待,如果反过来呢
这里可以先加载mainactivity,然后在去触发splashactivity,当然,这...[2021/3/1]
1.3.0-alpha04 Fragment result api1.3.0-alpha04 Fragment result api
2020 年 4 月 29 日,发布了 androidx.fragment:fragment:1.3.0-alpha04 的版本,改版本弃用了之前fragment的传输数据方式,添加了新的api,如下图
以前的Fragment传输数据应该都用过,获取fragmen...[2021/3/1]
【从零开始撸一个App】Fragment和导航中的使用【从零开始撸一个App】Fragment和导航中的使用
Fragment简介
Fragment自从Android 3.0引入开始,它所承担的角色就是显而易见的。它之于Activity就如html片段之于页面,好处无需赘述。
Fragment实例由Activity的FragmentManager管理,其生命周期和Activity一样,都不是由...[2021/2/22]
【Android初级】如何实现一个有动画效果的自定义下拉菜单
我们在购物APP里面设置收货地址时,都会有让我们选择省份及城市的下拉菜单项。今天我将使用Android原生的 Spinner 控件来实现一个自定义的下拉菜单功能,并配上一个透明渐变动画效果。
要实现的功能及思路如下:
下拉菜单样式是自定义的、非原生效果:需要使用 setDropDow...[2021/2/22]
Android 一些常用的混淆Proguard
一些公共的模板
#############################################
#
# 对于一些基本指令的添加
#
#############################################
# 代码混淆压缩比,在 0~7 之间,默认...[2021/2/18]
详解Android Bitmap的使用详解Android Bitmap的使用
一 图片表示原理
图片是由每个像素点来组成 像素点就是小方块
图片的大小等于 宽*高*每个像素点的大小
二 加载图片OOM异常
解决办法
其中big.jpg是一张21.2MB的高清图
public cla MainActivity extends A...[2021/2/18]
Android解决getExternalStorageDirectory在29后废弃问题(推荐)Android解决getExternalStorageDirectory在29后废弃问题(推荐)
Android解决getExternalStorageDirectory在29后废弃问题,亲测能用
初衷:在安卓10之后相信大家都遇到了getExternalStorageDirectory废弃的问题,看了网上很多都根据官方用到了getExternalFilesDir但是保存图片至相册后的通知...[2021/2/18]
GSYVideoPlayer使用记录
播放回调监听 setVideoAllCallBack,比如点击了开始播放按钮 onClickStartIcon,开始播放视频 onStartPrepared等,可以在里面做一些逻辑处理
有时候自定义的一些返回样式,全屏后需要重新设置一下,否则会失效 基类里面可以找到你想要的逻辑,比如...[2021/2/18]
HTTPS是怎么保证数据安全传输的?
前言
关于HTTPS的连接过程,也是老生常谈的话题了。
其中涉及到的数字证书、电子签名、SSL/TLS、对称加密、非对称加密的问题总是让人摸不清头脑,不知道怎么回答。
今天就和大家再熟悉熟悉这其中千丝万缕的关系。
确实不安全!(HTTP协议传输)
传统的HTTP传输协议,是一种明文...[2021/2/18]
【Android初级】如何实现一个比相册更高大上的左右滑动特效(附源码)【Android初级】如何实现一个比相册更高大上的左右滑动特效(附源码)
在Android里面,想要实现一个类似相册的左右滑动效果,我们除了可以用Gallery、HorizontalScrollView、ViewPager等控件,还可以用一个叫做 ViewFlipper 的类来代替实现,它继承于 ViewAnimator。如见其名,这个类是跟动画有关,会将添加...[2021/2/18]
打牢基础 | 网络基础知识十二问
前言
过年倒计时~
今天是网络篇的最后一篇,网络知识也是面试常考内容,所以必须要把基础知识打牢。
网络十二问,送给大家。
这些问题,你能答上来吗
我总结了下网络方面会涉及到的一些问题,大家看看,如果都能答上来,那这篇文章就可以略过了。
网络通信的过程,以及中间用了什么协议?
TC...[2021/2/18]
【从零开始撸一个App】RecyclerView的使用
目标
前段时间打造了一款简单易用功能全面的图片上传组件,现在就来将上传的图片以图片集的形式展现到App上。出于用户体验考虑,加载新图片采用[无限]滚动模式,Android平台上我们优选RecyclerView组件。
显示图片,用的自然是ImageView,然而它并不支持直接加载网络图片...[2021/2/18]
android dimens density适配文件生成android dimens density适配文件生成
在编写xml的时候,我们直接指定一个固定一个控件的宽高,给一个固定的dp值,在不同的屏幕上显示差别很大,导致有的手机布局无法正常显示,所以需要适配屏幕,这里讲的适配方式都一样,不过方法不一样
首先古老的适配一般就是自己计算,然后生成文件,以前自己也这么干过,直接规定好自己需要的尺寸,然...[2021/2/18]
深入浅出Java线程池:源码篇
前言
在上一篇文章深入浅出Java线程池:理论篇中,已经介绍了什么是线程池以及基本的使用。(本来写作的思路是使用篇,但经网友建议后,感觉改为理论篇会更加合适)。本文则深入线程池的源码,主要是介绍ThreadPoolExecutor内部的源码是如何实现的,对ThreadPoolExecut...[2021/2/18]
kotlin-波浪动画
学习kotlin把以前的一些知识重新理了一遍
首先对于需要大量绘制的操作,不能直接绘制,使用 SurfaceView,直接把绘制工作放到子线程中去操作,否则绘制工作加大一下,会卡顿,不过SurfaceView是独立的一层View,不能平移,缩放,旋转或者设置透明度等,如果需要...[2021/2/18]
Androidstudio 新GradlePlugin和Gradle Version对应关系
Project Gradle
AS建议升级到4.2。
Plugin对应AS的版本,Plugin工具也要和Gradle对应上,否则某些语法不支持,如果是非必要的建议不要轻易升级。
Gradle DSL method not found: ''exclude()''
Gradle DSL...[2021/2/18]
Android使用代码开关Location服务
Android系统中,只有系统设置里面有入口开关位置服务。其他的应用应该怎么去开关这个服务呢?
首先,应用需要有系统权限(签名),在这基础上,我们就可以通过一些手段来实现这个功能。
这里要注意一点,不通的Android版本的操作方式也不一样。需要区别对待。
应用加上系统签名
在ma...[2021/2/1]
反编译 apktool dex2jar jd-gui 备忘录
apktool
首先下载好apktool,然后解压到当前目录
windows+r打开cmd,进入到该目录,然后运行apktool命令,你可能会得到一个错误
这里需要在同级目录中创建 apktool.bat 文件,然后编辑文件,把下面内容复制进去保存,下面的apktoo...[2021/2/1]
网络数据原来是这么传输的(结合动画解析)网络数据原来是这么传输的(结合动画解析)
前言
世界上第一个互联网web网页诞生于1990年12月25日(次年8月对外开放),至今大约有28年的历史,它是由万维网之父蒂姆·伯纳斯·李(Tim Berners-Lee)与罗伯特·卡里奥在CERN(欧洲核子研究委员会)一起打造,首次成功通过因特尔网络实现HTTP代理与服务器通讯。而...[2021/2/1]
java.lang.IllegalStateException: Bindings already cleared. 2021-01-28
java.lang.IllegalStateException: Bindings already cleared.
使用 ButterKnife 从 7.x.x 升级到 10.x.x 后,某个 viewPager 中的
的 Fragment 方法报以下错误:
java.lang.I...[2021/2/1]
【Android初级】如何让APP无法在指定的系统版本上运行
随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统版本所支持。
今天我将要模拟实现一个“由于APP自身版本过低、导致无法在当前的系统版本上运行”的功能效果。
实现思路如下:
要获得APP的...[2021/2/1]
Java反射全解析(使用、原理、问题、在Android中的应用)
前言
今天说Java模块内容:反射。
反射介绍
正常情况下,我们知晓我们要操作的类和对象是什么,可以直接操作这些对象中的变量和方法,比如一个User类:
User user=new User();
user.setName("Bob");
但是有的场景,我们无法正常去操作:
只...[2021/1/25]
【Android】关于连续多次点击控件的控制方案(新建监听类)
参考:防止Android过快点击造成多次事件的三种方法_胖胖的博客-CSDN博客
实现逻辑很简单:
设置限定时间
在用户点击时开始计时
若计时未超过限定时间,则不允许触发点击事件
因还未学习过Rxjava,因此使用类似文中的第二种进行实现
完成后发现一个小问题:当多...[2021/1/25]
Android事件分发机制二:viewGroup与view对事件的处理
前言
很高兴遇见你~
在上一篇文章 Android事件分发机制一:事件是如何到达activity的? 中,我们讨论了触摸信息从屏幕产生到发送给具体 的view处理的整体流程,这里先来简单回顾一下:
触摸信息从手机触摸屏幕时产生,通过IMS和WMS发送到viewRootImpl
v...[2021/1/25]
【Android】报错 Please ensure Hyper-V is disabled in Windows Features, or refer to the Intel HAXM 的解决方案
参考文章 实测华为锐龙本(adm yes)安装Android avd虚拟机教程
环境
Android Studio 3.6; Windows 1909; AMD Ryzen 4800U with Radeon Graphics
&nb...[2021/1/25]
开发App到上架应用市场需要经历什么?
作为一个开发者,可能都想过自己做一个app,可是这年头条件苛刻:
各大应用市场都逐渐不接受个人开发者上传app了,只能自己以公司的名义,这一步拦下了不少人
有了公司之后,上架app,国内市场几乎都要软著了,软著这个要快你得花钱,明码标价
有的有了软著还不够,还要你有icp认证(自己做官网...[2021/1/18]
《犬夜叉2021》我想通过Binder找到你
前言
本故事纯属虚构,如有不通顺的逻辑请轻喷。??
《犬夜叉2021》
第一章:我还能找到你吗,阿篱
犬夜叉和奈落大决战之后,四魂之玉、食骨之井消失,谁也不知道去了哪,而犬夜叉和阿篱再次被分割到两个世界。
于是犬夜叉拜托一位研究世界宇宙的法师——积木,来帮助他找到阿篱。
时间转...[2021/1/18]
Android事件分发机制一:事件是如何到达activity的?
事件分发,真的一定从Activity开始吗?
前言
很高兴遇见你~
事件分发,android中一个老生常谈的话题了。基本的流程我们也都知道是从Activity开始分发,但有一个关键问题是:事件是如何到达Activity的 ?
你以为我接下来要开始讲源码、系统底层了?不不不,本文...[2021/1/18]
类加载、对象实例化知识点一网打尽
前言
之前说了类加载的过程,但是有的读者表示还是有些知识点没弄清楚,相关面试题也不能思考出结果,所以今天就来总结下类加载、对象实例化方面的知识点/面试题,帮助大家加深印象。
全是干货,一网打尽类的基础知识!先看看下面的问题都能回答上来吗?
描述new一个对象的过程,并结合例子说明。
...[2021/1/11]
Android屏幕绘制一问到底(无代码)
前言
周二好呀,今天给大家带来一点轻松简单的内容,没有代码,请享用~
高刷手机,60hz,120hz指的是什么?
屏幕的刷新过程。
帧率,VSYNC是什么?
单缓存,双缓存,三缓存。
代码中修改了UI,屏幕是怎么进行刷新的?
如果界面保持静止不变,屏幕会刷新吗?图像会被重新绘制吗?
...[2021/1/11]
Android与HTML-JS交互入门Android与HTML-JS交互入门
现在的APP里面会嵌套一些h5酷炫的界面,而我们的app就需要和H5进行交互,下面我们就来看看怎么进行具体的交互。
Webview的基本设置
以下是webview的基本设置
WebSettings setting = mWebView.getSettings();
setting.s...[2021/1/11]
Retrofit LiveDataCallAdapterFactoryRetrofit LiveDataCallAdapterFactory
retrofit可以访问网络后自动解析成对象,很丝滑,应该都已经体验过了,而要使用这个功能也很简单,addConverterFactory(GsonConverterFactory.create()) ,添加了一个gson解析工厂,又或者搭配rxjava的 RxJava2Cal...[2021/1/11]
android 按键监听及键盘事件流(无法监听删除键)
android 按键监听及键盘事件流(无法监听删除键)
最近在做一个密码按键输入功能时需要对每次按键进行一些处理,于是使用了 OnKeyListener 接口监听,对于正常文本格式的输入按键事件都能监听到,但是一旦修改 EditText 的输入类型为 NumbberPa word(and...[2021/1/11]
深度解读消息推送的筛选架构解决方案应用与实践
本文作者:友盟+技术专家 刘章军
前言:App推送在日常运营场景中经常用到,如:资讯类的新闻及时下发、生活服务类优惠券精准推送、 电商类的货品状态或是促销优惠等,通常开发者会根据运营的需求通过自建消息推送通道或使用第三方消息推送平台实现,但自建消息推送的开发成本和人力成本非常高, 很多...[2021/1/11]
2020再见&新的计划(建立Android体系架构)2020再见&新的计划(建立Android体系架构)
2020,再见
关于2020,我心中有四个关键词:
疫情
年初突如其来的疫情,打破了原本生活的节奏,也没想到会笼罩全世界整整一年,希望这个世界早点好起来吧。
科比
初三的早晨,噩耗传来,我一度不敢相信这是真的。一定是上帝想看科比打球,所以带走了他。同时,也带走了我的青春。
...[2021/1/11]
Android 抖音常用反编译工具
Android 抖音常用反编译工具
常用反编译工具
apktool :反编译apk,重构。
下载地址: https: ibotpeaches.github.io/Apktool/ apktool主要可以将资源解码,并在修改后可以重新构建它们
dex2jar :反编译apk,解压 cl...[2021/1/4]
抖音数据采集教程,跨平台模拟执行AndroidNativeEmu手册
安装
AndroidNativeEmu有什么用?
AndroidNativeEmu是基于Unicron实现的一个指令解析器, 让您能够跨平台模拟Android Native库函数,例如JNI_OnLoad,Java_XXX_XX等函数
特性
模拟 JNI Invocation API ...[2021/1/4]
抖音数据采集教程,Android群控黑盒调用,Sekiro使用手册抖音数据采集教程,Android群控黑盒调用,Sekiro使用手册
抖音数据采集教程,Android群控黑盒调用,Sekiro使用手册
0x0 前言
之前尝试用过virjar大佬的hermesagent, 后来大佬又迭代出新的基于长链接的Sekiro, 一直想看都被耽搁了, 今天正好抽空尝试一下, 顺便写篇笔记, 有错误的地方大佬们请指正哈
0x1 Se...[2021/1/4]
ADB常用命令
adb常用命令
查看设备连接:adb devices -l
安装:adb install D:\Desktop\Testman_Study\apk\app-debug-v1.0-lfj.apk
获取包名:adb shell dumpsys activity top ...[2020/12/28]
FoldTextViewFoldTextView
前几天因为业务需求,自己写了个EllipsizeEndTextview ,刚好项目中也用到了另一个做法类似的 FoldTextView(文本折叠),而且老的库中文本view显示有bug,所以一次性到位,也参照上一个view重新写一个。
告诫
不一定自己写的就是好的,因为gi...[2020/12/28]
Android开发三年月薪才12K,Android面试你必须要知道的那些知识,终获offer
正文
以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。近日,思路较为明朗,于是重新操起键盘开始码字一番。先声明一下哈,本人不是大厂的程序猿。去年毕业前,就一直在当前创业小团队从事自己热爱的打码事业至今。下面总结是建立在我...[2020/12/28]
小题大做 | Handler内存泄露全面分析
前言
嗨,大家好,问大家一个“简单”的问题:
Handler内存泄露的原因是什么?
你会怎么答呢?
这是错误的回答
有的朋友看到这个题表示,就这?太简单了吧。
"内部类持有了外部类的引用,也就是Hanlder持有了Activity的引用,从而导致无法被回收呗。"
其实这样回答是...[2020/12/28]
RxHttp 完美适配Android 10/11 上传/下载/进度监听
1、前言
随着Android 11的正式发布,适配Android 10/11 分区存储就更加的迫切了,因为Android 11开始,将强制开启分区存储,我们就无法再以绝对路径的方式去读写非沙盒目录下的文件,为此,RxHttp 在2.4.0版本中就正式适配了分区存储,并且,可以非常优雅的实...[2020/12/28]
Xamarin-Android 布局Xamarin-Android 布局
Xamarin Android 布局
https: docs.microsoft.com/zh-cn/xamarin/android/user-interface/layout
布局用于排列组成屏幕 UI 界面(如活动)的元素。 以下部分介绍如何在 Xamarin Android 应用中...[2020/12/22]
ellipsize_end textviewellipsize_end textview
很多时候,文本显示是有限制的,有个maxline,然后要求你末尾截取,最后一行末尾是...(xxx文本...),那么只要在你的xml里设置 ellipsize_end 就行了,但是有时候往往需求就是千奇百怪,系统控件无法满足产品的要求
比如下图效果
这个textview在末尾要留...[2020/12/21]
Android刮刮乐效果-proterDuffXfermodeAndroid刮刮乐效果-proterDuffXfermode
Android刮刮乐效果-proterDuffXfermode
先看看实现的效果
这个场景主要是模拟我们有些app里面的刮刮乐中奖的效果,主要是利用Android的proterDuffXfermode这个类去实现的。
proterDuffXfermode
在用Android中的Can...[2020/12/21]
TCP 为什么三次握手而不是两次握手(面试浅显口述版本)TCP 为什么三次握手而不是两次握手(面试浅显口述版本)
按照我的理解说一下TCP 为什么三次握手而不是两次握手。
一步一步来。
1. TCP是可靠的
TCP是可靠的传输,握手指的是TCP建立链接,怎么才可以可靠的建立链接呢?
2. 最简单的建立一个可靠发送通道
A-------->B
A要发送数据给B,如果没有建立链接就直接发送...[2020/12/21]