自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(171)
  • 资源 (4)
  • 收藏
  • 关注

原创 adb 通过wifi连接手机

3) 一根手机数据线,adb连接接通前,需要先连接上,给手机指定端口号;如果需要多个手机连接的话,端口号需要不同。(可以测试一下,adb disconnect 176.158.12.85:5555取消连接,然后重新连接)1)数据线连接电脑,正常连上手机端,adb devices 可以看到你的设备号。3)链接设备: adb connect 176.158.12.85:5555。2)adb tcpip 5555 (设置给当前设备一个端口号)4)成功后,拔掉数据线;1)手机打开开发者选项,打开USB调试。

2023-05-30 16:38:50 1647 1

转载 Android与Vue怎么进行交互

JavaScript 代码中: window 是网页的 Window 实体,这个做前端开发的人都非常熟悉;AndroidObj 是 Android 端给 WebView 提供的一个实体,Android 会将这个实体赋给 WebView 的 window;相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如果前端用的是 Vue 框架,那么如果你在 js 脚本上直接写一个方法,Android 是调用不到的,无论是写在那个位置。

2023-05-26 18:18:19 536

转载 Android getDrawable 直接使用 提示要求API为21 的处理方法

具体原因我们可以通过源码看到,前面添加了ContextCompat 之后 源码里面添加了判断。这个处理方法可以在getDrawable 前面添加 ContextCompat 如下。这样就没有报错提示了。

2023-05-26 09:57:21 276

原创 Typora 版本过低,mac版本临时解决方案

Typora

2023-03-17 11:00:07 1435 1

转载 Android获取屏幕高度的坑

安卓手机想要获取屏幕高度,有以下几个方法:第一个我们先不讲,因为实测和后面2、4基本一样,况且网上说的少用的也少一开始我用的是方法4(因为他看起来最简单),发现在一些全面屏手机上高度会少了十几个像素,在普通手机上是准确的。后来发现主要是虚拟按键的问题,会将虚拟按键的高度忽略掉。点击去看到他的说明是问题就在这个available上了。同理,还有方法,在Android4.4之后会隐藏掉状态栏的高度,注释里还写了一大堆,像来自Activity的请求在多窗口模式下会小于物理高度(这又是另一个坑了)正在上传…

2022-06-09 21:59:53 1633

原创 Android 动态更改View尺寸后,没有变,达不到想要的效果

一、场景: TabLayout + ViewPage. 使用NestedScrollView嵌套,滑动的时候Tab会被顶上去二、达到效果的做法:NestedScrollView app:layout_behavior="@string/appbar_scrolling_view_behavior" 包裹的LinerLayout增加 (共有三个属性,自行查询) android:descendantFocusability="afterDescendants" TabLayou...

2022-05-25 14:40:53 1036

原创 Fragment先进后出的栈管理模式

压栈 FragmentManager fragmentManager = activity.getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Fragment fragment = new MyFragment(); fragment.setArguments(bundle); .

2022-03-02 11:35:27 502

转载 ADB——查看手机设备信息

查看设备信息查看手机型号adb shell getprop ro.product.model查看电池状况adb shell dumpsys battery'''Current Battery Service state: AC powered: false USB powered: true Wireless powered: false status: 2 health: 2 present: true level: 44 scale: 1

2021-09-07 18:04:58 8280

原创 自定义权限在不同签名下使用会报错,权限重复问题

解决方法:com.xxx.download.permissions.MY_BROADCAST 改为 ${applicationId}.permissions.MY_BROADCAST 修改代码中AndroidManifest.xml,以及代码中引用的;反编译后,重新打包为module,打包aar,测试没问题;反编译工具jd-gui-windows-1.6.6 ,用工具打开aar,File-Save All Sources 会把源码保存到本地,此时对应目录拷贝到所需模块即可。参考:https://b

2021-04-29 14:32:21 220

转载 Android安全——客户端安全要点

一、前言:近期facebook的隐私泄露事件再度唤起了公众对隐私的关注,在这个越来越重视个人隐私的时代里,安全早已是一个无法绕开的话题。作为一个开发人员,必须具备安全意识,掌握基础的安全知识,为打造更加安全的应用做出努力。本文浅谈Android客户端的安全问题,涉及组件、WebView、存储、传输、日志、混淆、应用加固等安全漏洞及防护策略,运用更加合理的配置与防护措施来提高应用的安全级别。二、组件安全:规范安卓标准组件(Activity、Service、Receiver、Provider)的

2021-03-04 10:39:15 309 1

原创 androidx入坑

1. support-v4对应的兼容包implementation 'androidx.legacy:legacy-support-v4:1.0.0'2. 依次类推support-v13和 support-preference-v14legacy-support-v13legacy-preference-v143. support-v4包中有一个LocalBroadcastManager类android.support.v4.content.LocalBroadca..

2021-02-24 17:30:55 2660

原创 记录EventBus在Fragment复用时,发送消息发送多次问题(双层VierPage+TabLayout)

1. 需求五个tab页面,子页面也有subTab的页面;父级标题:tab + ViewPager(5个BaseFragment) 父级tab滑动与ViewPager关联的子级标题:subtab + ViewPager(n个BaseFragment) 子级tab滑动与ViewPager关联的2.问题1有subTab页面,切换子标题没有更新,一直是第一次请求的副标题;数据请求混乱; 3.错误方案1请求数据需要父tab的position,没有...

2021-01-15 15:06:53 764 1

转载 git的冲突解决--git rebase之abort、continue、skip

git的冲突解决–git rebase之abort、continue、skip原文转自:http://www.cnblogs.com/chenjunjie12321/p/6876220.html(1)应用实例描述假设在github或者gitoschina上建立了一个项目,默认分支为master分支,远程master分支上c.sh文件内容:开发者A、B分别将项目拷贝到自己本地进行开发某一天,开发者B提交c.sh,并且提交成功,之后,开发者A在本地代码并没有和远程master分支的代码同步的

2021-01-14 15:26:19 314

转载 Git中tag标签的使用

一、什么是tagtag是git版本库的一个标记,指向某个commit的指针。tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 ...这样的标签。tag感觉跟branch有点相似,但是本质上和分工上是不同的:tag 对应某次commit, 是一个点,是不可移动的。branch 对应一系列commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的。所以,两者的区别决定了使用方式,改动代码用 branch ,不

2021-01-14 10:27:45 231

原创 android网络请求相关

请求的方法HttpURLConnectionOkHttpClientRetrofit请求方法获取资源 GET 返回body HEAD 没有返回body修改资源 POST(有请求体) PUT(有请求体)新增资源 POST删除资源 DELETE (没有请求体)请求请求行:方法 path http版本请求头:metadata请求体:body响应响应行: http版本 响应码200 响应消息 ok响应头: metadata响应体.

2020-12-03 09:25:35 148

原创 android 常见问题汇总

1. SharedPreferences的apply()方法 和 commit()方法apply方式提交,先同步写到缓存中,而后再异步写入磁盘;此处需要注意写入后,马上使用或者关闭进程,就会存在丢失的情况commit方式提交,同步写到缓存和磁盘中,有返回值,不怕丢失2.跳转页面后,未定位到首行需要定位到首位的布局增加android:focusable="true"android:focusableInTouchMode="true"3....

2020-11-30 16:52:11 119

原创 Gson的使用和转换

1.普通类的互转LatLng latLng = new LatLng(39.9, 116.6, 13.5);//类转jsonString latLng_json = new Gson().toJson(latLng);//json转类LatLng new_latLng = new Gson().fromJson(latlng_json,LatLng.class);2. List集合互转List<LatLng> latLngs = new ArrayLis.

2020-11-25 10:23:44 149

原创 android WebView读取pdf文件方法

1.搜罗方法[可行] 最直接的方式下载到本地, 然后调用相关应用打开 [可行,有局限] 使用 webview 加载, 需要在原url前面加上http://docs.google.com/gview?url=,即使用webview.loadurl("http://docs.google.com/gview?url=http://yourpdfurl.pdf");局限就是需要能上google的 使用webview 加载html ,使用embed标签, 嵌入<embed src="y...

2020-11-18 11:12:20 2747

原创 HTTP请求状态码理解

1. 401:用户验证失败2. 403:访问成功没有权限3. 404:url错误,访问不存在4. 500:服务端错误理解浅显,其他后续补充

2020-11-06 15:47:43 71

原创 正则表达式的写法探索

1.需求 匹配字符串 "other_ids":"[a,b,c]"匹配字符串 "other_ids":""匹配字符串 "other_ids":"[a]"匹配字符串 "other_ids":"[a,b]"2.结果:正确的正则表达式为String regEx = "\"other_ids\":\""+"(\\[.*\\])?"+"\"";3.尝试过程1)先用字符串 "other_ids":""作为表达式正确匹配字符串 "other_ids":"";...

2020-11-06 11:32:02 210 1

转载 android studio 新项目一直卡在gradle插件下载中...

项目一直卡在gradle插件下载中1.查看项目的gradle版本和插件版本是否对应官网版本对应介绍2.替换仓库地址为镜像地址参考阿里云公共代理库https://www.jianshu.com/p/ab1f5e5f5f5c修改前的依赖buildscript { repositories { mavenCentral() jcenter() google() } dependencies { ..

2020-10-13 09:48:50 543

原创 NestedScrollView嵌套WebView

1.嵌套成功后webView高度为0不显示2.需要在加载完成方法中重新设置webView高度3.解决方法:1)尝试webView.getheight: 0不正确webView.getContentHeight: 966不正确webView.getMeasureHeight: 0不正确2)debug发现webView.computeVerticalScrollRange()方法计算出来是真实内容高度但此方法是protected权限,所以重写了一个自定义WebView拿到..

2020-09-28 10:28:24 2528 1

原创 依赖的地址下载地址混乱,报下载失败 400

问题:一个maven仓库中依赖了另一个maven仓库的aar,但是获取下载aar时,aar的链接地址是前一个maven仓库的地址,所以导致下载时候报400,下载不下来解决方法:gradle插件版本的问题:4.0.0换成3.5.3就可以了gradle-wrapper.properties :中下载版本由gradle-6.1.1-all.zip 改为gradle-5.4.1-all.zip...

2020-08-13 16:15:38 215

原创 android 屏幕适配解析全过程

注:所有获取屏幕大小和分辨率的代码中,最好在Manifest中加上下面的代码,否则在太小的屏幕上获取到的不正确<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:anyDensity="true"/>android官方指出:..

2020-08-12 16:48:20 370 1

原创 首次运行maven项目的遇坑过程

对于maven是小白,刚开始同事给了一个java文件,需要运行起来1.尝试一(因为一个java文件开始想就不用android studio了) 看了之后以为安装jdk运行一下就ok了,但是文件中依赖了很多其他类,普通的依赖还可以搞定但是有一个是geotools包(gis方面计算的吧不太清楚),一无所知的情况下去官网下载了bin包,打开一看全是jar,应该就是依赖了,再就是下载了其他依赖所需的jar包,然后就开始编译了(此处maven官网) 此处Maven仓库一直大有...

2020-07-30 13:41:55 1225

原创 RadioButton使用中的坑:刷新时重复走了一遍onchecked方法

RadioButton使用中的坑:刷新时重复走了一遍onchecked方法问题:首次进入需要更新button的状态,但是这样监听中的回调就会回调就会走两次,按下一次,下次进来刷新的时候又是一次;需求:弹出pop,选中地图上显示点,关闭窗口;做法一:radioButton 设置drawable,和选中监听 binding.cbMapSetCollection.setOnCheckedChangeListener(this); <?xml versio

2020-07-29 10:13:16 911 1

转载 Android AAPT详解

目录AAPT解释,作用 AAPT基本命令 AAPT编译资源源码解析 AAPT打包和系统不一致的资源IDAAPT是什么AAPT - Android Asset Packaging Tool看全称,就可知道AAPT是Android资源打包工具。�讲这个之前,是有必要简单说下Android是如何构建一个APK的。上图是Google官方发布的一张非常经典的Apk打包流程图。�流程概述:工程的资源文件(res文件夹下的文件),通过AAPT打包成R.java类(资源索引表).

2020-06-26 09:23:44 1602

转载 Android Manifest详解

什么是Android应用程序的构成?Android应用程序的各个组件又是什么?各个组件和AndroidManifest之间的关系是什么?Android应用程序由松散耦合的组件组成,并使用应用程序Manifest绑定在一起;应用程序的AndroidManifest.xml文件描述了每个组件和它们之间的交互方式。还用于指定应用程序元数据、其硬件和平台要求、外部库以及必要的权限。Android应用程序的组件:Activity:是应用程序的表示层。应用程序中的每一个UI都是通过Activi.

2020-06-23 10:41:31 7996

转载 Android SDK Manager详解

Android基础知识——Android SDK Manager详解做Android开发时,免不了使用Android SDK Manager,安装需要的sdk版本、buildTools版本等等。下图展示了2016.11.16号Android SDK Manager所有的package。很多Android开发的新人在使用的时候可能会疑惑了:这些package到都是什么功能呢,都要安装吗?本篇文章将为你把这些疑惑解开(如果你只想知道需要安装哪些package,直接跳至文末)。...

2020-06-22 16:30:17 4949 1

原创 android 7.0 provider访问本地文件增加权限后,File和Uri转换问题

1.File转UriUri contentUri = FileProvider.getUriForFile(context, "com.xxx.camera.fileprovider", file);2.Uri转File未完待续。。。

2020-06-08 14:58:33 619

原创 Android studio插件_OK,Gradle : 快速搜索网络依赖库的地址并添加依赖

1.功能:用于搜索流行Java库的工件id的插件。使用它们可以很容易地向你的build.gradle/build.gradle添加新的依赖项。节文件2.用法:使用CTRL/CMD + SHIFT +快捷键找到OK, Gradle操作,并在输入字段中查找类型库的名称。为了让你的生活更简单,给它指定一条捷径。就我个人而言,我更喜欢CMD+K -在“OK!”(我不会在IDE中使用提交操作)。您需要有一个活跃的互联网连接,才能使用这个工具。3.安装:android - setting - plugins

2020-05-12 10:06:02 1071

转载 Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!

一、序Hi,大家好,我是承香墨影!Lottie 是 Airbnb 开源的一套跨平台的完整解决方案,设计师只需要使用 After Effectes (之后简称 AE)设计出动画之后,使用 Lottic 提供的 Bodymovin 插件将设计好的动画导出成 JSON 格式,就可以直接运用在 iOS、Android 和 React Native之上,无需关心中间的实现细节。这样,对于不同的工...

2020-04-30 10:19:21 784

转载 站在 Android 开发的角度,聊聊 Airbnb 的 Lottie!!!

一、前言你有没有遇上一些设计师,对一些酷炫的动画着迷,喜欢根据场景设计出可爱而流畅的动画。但是在实际工作中,哪怕开发人员也觉得这些动画非常的棒,可我们知道,越是定制化的动画,实现起来将会越麻烦和耗时。这有时候就会引发设计师和工程师的矛盾。而自从 Airbnb 开发出 Lottie 之后,设计师只需要使用 After Effects 设计出完美的动画,然后通过 Bodymovin 插件进...

2020-04-30 10:17:24 215

原创 android 首次编译不成功,jcenter库可以使用ali的

jcenter(){url 'http://maven.aliyun.com/nexus/content/groups/public/'}

2020-04-30 08:44:17 184

原创 android 从此库中获取匹配字符相关的词

题目:从词库中将输入字符自动补全,如不存在则不进行补全,如补全结果为多个则按照词库顺序输出,输入字符不区分大小写。 词库:java、android、mapbox、mapscloud、androidx、JavaScript 举例: 输入:jaa 输出:java、JavaScript 输入:drid 输出:andr...

2020-04-24 09:23:06 143

原创 字符串获取字符个数,并根据个数和ASCII排序

题目: 随机输入一串字符,请按照字符串中字符的频率和ASCII排序。 例如: 输入:ababccc 输出:cccaabb 输入:tree 输出:eert 输入:abbacccddddyyy 输出:ddddcccyyyaabb解题思路:字符串中获取单个字符的个数,根据个数从大到小降序排列,...

2020-04-23 16:31:27 680

原创 android Date工具类

public class DateHelper { // 获取当前日期 public static String getCurrentDate() { java.util.Calendar calendar = java.util.Calendar.getInstance(); java.text.SimpleDateFormat dateForm...

2020-04-22 11:29:34 183

转载 JAVA字符串格式化-String.format()的使用

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String ...

2020-04-15 15:28:50 85

转载 AndroidStudio升级3.3.1后打包生成APK报AAPT2的错误解决办法

AndroidStudio升级到3.3.1后项目较长一段时间没有发布新版本的需求,所以一直也就没有打包APK,直到最近运营需求需要上新版本了,打包生成签名后的APK时发现报AAPT2的错误,但点击AndroidStudio里的Run也能在真机上正常运行调试,就是打包的时候报AAPT2的错误。以下为部分错误log:Caused by: org.gradle.internal.Uncheck...

2020-04-08 15:39:40 3540

原创 BottomSheetDialog设置固定高度,和圆角背景问题

1.自定义MyBottomSheetDialog,设置高度为屏幕3/2,去除状态栏/** * 设置dialog 的总高度为固定的值 * */public class MyBottomSheetDialog extends BottomSheetDialog { public MyBottomSheetDialog(@NonNull Context context) { ...

2020-02-25 10:17:45 6606 3

dimens_sw-master.zip

android_屏幕适配_sw限定符生成文件程序

2020-08-12

屏幕适配_宽高限定符适配.zip

android适配宽高限定符生成程序,具体操作流程详见压缩包

2020-08-12

Imei号无效解决方案

Imei号无效解决方案

2017-06-29

MTK手机刷机 安装驱动

国产手机 MTK刷机 安装驱动

2017-06-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除