- 博客(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 1914 1
转载 Android与Vue怎么进行交互
JavaScript 代码中: window 是网页的 Window 实体,这个做前端开发的人都非常熟悉;AndroidObj 是 Android 端给 WebView 提供的一个实体,Android 会将这个实体赋给 WebView 的 window;相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如果前端用的是 Vue 框架,那么如果你在 js 脚本上直接写一个方法,Android 是调用不到的,无论是写在那个位置。
2023-05-26 18:18:19 630
转载 Android getDrawable 直接使用 提示要求API为21 的处理方法
具体原因我们可以通过源码看到,前面添加了ContextCompat 之后 源码里面添加了判断。这个处理方法可以在getDrawable 前面添加 ContextCompat 如下。这样就没有报错提示了。
2023-05-26 09:57:21 352
转载 Android获取屏幕高度的坑
安卓手机想要获取屏幕高度,有以下几个方法:第一个我们先不讲,因为实测和后面2、4基本一样,况且网上说的少用的也少一开始我用的是方法4(因为他看起来最简单),发现在一些全面屏手机上高度会少了十几个像素,在普通手机上是准确的。后来发现主要是虚拟按键的问题,会将虚拟按键的高度忽略掉。点击去看到他的说明是问题就在这个available上了。同理,还有方法,在Android4.4之后会隐藏掉状态栏的高度,注释里还写了一大堆,像来自Activity的请求在多窗口模式下会小于物理高度(这又是另一个坑了)正在上传…
2022-06-09 21:59:53 1921
原创 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 1170
原创 Fragment先进后出的栈管理模式
压栈 FragmentManager fragmentManager = activity.getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Fragment fragment = new MyFragment(); fragment.setArguments(bundle); .
2022-03-02 11:35:27 555
转载 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 9154
原创 自定义权限在不同签名下使用会报错,权限重复问题
解决方法: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 257
转载 Android安全——客户端安全要点
一、前言:近期facebook的隐私泄露事件再度唤起了公众对隐私的关注,在这个越来越重视个人隐私的时代里,安全早已是一个无法绕开的话题。作为一个开发人员,必须具备安全意识,掌握基础的安全知识,为打造更加安全的应用做出努力。本文浅谈Android客户端的安全问题,涉及组件、WebView、存储、传输、日志、混淆、应用加固等安全漏洞及防护策略,运用更加合理的配置与防护措施来提高应用的安全级别。二、组件安全:规范安卓标准组件(Activity、Service、Receiver、Provider)的
2021-03-04 10:39:15 343 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 3328
原创 记录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 817 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 393
转载 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 275
原创 android网络请求相关
请求的方法HttpURLConnectionOkHttpClientRetrofit请求方法获取资源 GET 返回body HEAD 没有返回body修改资源 POST(有请求体) PUT(有请求体)新增资源 POST删除资源 DELETE (没有请求体)请求请求行:方法 path http版本请求头:metadata请求体:body响应响应行: http版本 响应码200 响应消息 ok响应头: metadata响应体.
2020-12-03 09:25:35 171
原创 android 常见问题汇总
1. SharedPreferences的apply()方法 和 commit()方法apply方式提交,先同步写到缓存中,而后再异步写入磁盘;此处需要注意写入后,马上使用或者关闭进程,就会存在丢失的情况commit方式提交,同步写到缓存和磁盘中,有返回值,不怕丢失2.跳转页面后,未定位到首行需要定位到首位的布局增加android:focusable="true"android:focusableInTouchMode="true"3....
2020-11-30 16:52:11 148
原创 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 173
原创 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 2930
原创 HTTP请求状态码理解
1. 401:用户验证失败2. 403:访问成功没有权限3. 404:url错误,访问不存在4. 500:服务端错误理解浅显,其他后续补充
2020-11-06 15:47:43 97
原创 正则表达式的写法探索
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 251 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 630
原创 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 2617 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 319
原创 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 465 1
原创 首次运行maven项目的遇坑过程
对于maven是小白,刚开始同事给了一个java文件,需要运行起来1.尝试一(因为一个java文件开始想就不用android studio了) 看了之后以为安装jdk运行一下就ok了,但是文件中依赖了很多其他类,普通的依赖还可以搞定但是有一个是geotools包(gis方面计算的吧不太清楚),一无所知的情况下去官网下载了bin包,打开一看全是jar,应该就是依赖了,再就是下载了其他依赖所需的jar包,然后就开始编译了(此处maven官网) 此处Maven仓库一直大有...
2020-07-30 13:41:55 1375
原创 RadioButton使用中的坑:刷新时重复走了一遍onchecked方法
RadioButton使用中的坑:刷新时重复走了一遍onchecked方法问题:首次进入需要更新button的状态,但是这样监听中的回调就会回调就会走两次,按下一次,下次进来刷新的时候又是一次;需求:弹出pop,选中地图上显示点,关闭窗口;做法一:radioButton 设置drawable,和选中监听 binding.cbMapSetCollection.setOnCheckedChangeListener(this); <?xml versio
2020-07-29 10:13:16 986 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 1919
转载 Android Manifest详解
什么是Android应用程序的构成?Android应用程序的各个组件又是什么?各个组件和AndroidManifest之间的关系是什么?Android应用程序由松散耦合的组件组成,并使用应用程序Manifest绑定在一起;应用程序的AndroidManifest.xml文件描述了每个组件和它们之间的交互方式。还用于指定应用程序元数据、其硬件和平台要求、外部库以及必要的权限。Android应用程序的组件:Activity:是应用程序的表示层。应用程序中的每一个UI都是通过Activi.
2020-06-23 10:41:31 8201
转载 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 5325 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 649
原创 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 1139
转载 Lottie 动画里有图片怎么办?设计师小姐姐也能帮你减少开发量!
一、序Hi,大家好,我是承香墨影!Lottie 是 Airbnb 开源的一套跨平台的完整解决方案,设计师只需要使用 After Effectes (之后简称 AE)设计出动画之后,使用 Lottic 提供的 Bodymovin 插件将设计好的动画导出成 JSON 格式,就可以直接运用在 iOS、Android 和 React Native之上,无需关心中间的实现细节。这样,对于不同的工...
2020-04-30 10:19:21 899
转载 站在 Android 开发的角度,聊聊 Airbnb 的 Lottie!!!
一、前言你有没有遇上一些设计师,对一些酷炫的动画着迷,喜欢根据场景设计出可爱而流畅的动画。但是在实际工作中,哪怕开发人员也觉得这些动画非常的棒,可我们知道,越是定制化的动画,实现起来将会越麻烦和耗时。这有时候就会引发设计师和工程师的矛盾。而自从 Airbnb 开发出 Lottie 之后,设计师只需要使用 After Effects 设计出完美的动画,然后通过 Bodymovin 插件进...
2020-04-30 10:17:24 256
原创 android 首次编译不成功,jcenter库可以使用ali的
jcenter(){url 'http://maven.aliyun.com/nexus/content/groups/public/'}
2020-04-30 08:44:17 213
原创 android 从此库中获取匹配字符相关的词
题目:从词库中将输入字符自动补全,如不存在则不进行补全,如补全结果为多个则按照词库顺序输出,输入字符不区分大小写。 词库:java、android、mapbox、mapscloud、androidx、JavaScript 举例: 输入:jaa 输出:java、JavaScript 输入:drid 输出:andr...
2020-04-24 09:23:06 167
原创 字符串获取字符个数,并根据个数和ASCII排序
题目: 随机输入一串字符,请按照字符串中字符的频率和ASCII排序。 例如: 输入:ababccc 输出:cccaabb 输入:tree 输出:eert 输入:abbacccddddyyy 输出:ddddcccyyyaabb解题思路:字符串中获取单个字符的个数,根据个数从大到小降序排列,...
2020-04-23 16:31:27 723
原创 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 208
转载 JAVA字符串格式化-String.format()的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String ...
2020-04-15 15:28:50 102
转载 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 3753
原创 BottomSheetDialog设置固定高度,和圆角背景问题
1.自定义MyBottomSheetDialog,设置高度为屏幕3/2,去除状态栏/** * 设置dialog 的总高度为固定的值 * */public class MyBottomSheetDialog extends BottomSheetDialog { public MyBottomSheetDialog(@NonNull Context context) { ...
2020-02-25 10:17:45 6804 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人