![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 56
snowzhao210
这个作者很懒,什么都没留下…
展开
-
Mac电脑安装apktool工具包
解决方法:apktool版本过低导致,升级新版本:https://bitbucket.org/iBotPeaches/apktool/downloads/(注意:不要带.sh后缀)2、点击第二个“find newest here”下载最新的apktool-2,并将所下载的jar文件重新命名为“apktool.jar”。1、将第一步获取的apktool和apktool.jar两个文件放到“/usr/local/bin”目录中。若找不到此路径,通过前往文件夹,直接打开“/usr/local/bin”目录。原创 2023-04-20 20:30:21 · 2223 阅读 · 0 评论 -
android 平板适配
首次进行平板开发,从一开始就在琢磨适配是怎么弄的,百度、google、群一大圈,还是没人告诉具体是怎么做的,都是基本的概念性的讲述怎么适配,写了一个界面发现存在很大适配问题,最后找到了几篇有价值的博客,文章末尾有链接;先了解点基本概念:px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元;dip : Density independent pixels ,设备无关像素......原创 2018-07-12 17:19:20 · 28547 阅读 · 0 评论 -
android 动态引用含占位符的字符串时,出现红波浪线如何解决
现象:在开发时,想动态引用含占位符的字符串,发现有红色波浪线警告,项目可以正常运行,既然是警告,肯定就是我们代码有问题。将鼠标放上去提示警告:Format string 'xxx' is not a valid format string so it should not be passed to String.format大意是字符串“xxx”不是有效的格式字符串,不能使用format转型。系统给出的建议是添加如下代码,及忽略对应的警告:@SuppressLint("StringFormatM原创 2022-05-11 10:17:13 · 4622 阅读 · 1 评论 -
Android activity状态栏和导航栏透明
想实现透明页面,包括状态栏和导航栏都透明,点击事件还可以透传。设置页面透明,使用主题注册activity设置主题 <style name="TranslucentNoActionBarTheme" parent="Theme.AppCompat.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:windowContentTran原创 2021-11-08 17:30:46 · 2805 阅读 · 0 评论 -
error: resource android:attr/lStar not found完美解决
今天突然项目出现如下错误,编译就报错D:\AndroidProjects\XXXXX\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:10858: AAPT: error: resource android:attr/lStar not found.没人提交代码,昨天还可以跑起来,今天突然就不行了,然后就是各种折腾,开发时针对疑难杂症情况的常用的方法都尝试了一遍,clean Pr原创 2021-09-04 17:33:56 · 36411 阅读 · 7 评论 -
开发最常用的git命令
目录git基本命令拉取远程分支,(更新分支操作)查看分支查看当前状态强制推送到远程(慎用)强制切换到另一个分支删除远程分支删除本地分支本地新建项目推送到远程创建分支并推送到远程基于本地当前分支(old_branch)基于远程分支创建新的分支提交代码合并分支更改远程分支名创建tag查看所有tag创建tag并推送到远程删除tag其他常见问题git基本命令拉取远程分支,(更新分支操作)git fetch查看分支git branch -r查看当前状态git status强制推送到远程(慎用)git原创 2021-07-17 19:36:12 · 118 阅读 · 0 评论 -
Android 开发最常用的adb命令
目录启动adb服务或者停止安装卸载app系统信息修改分辨率修改屏幕密度查看当前活动窗口的类名电脑和手机互传文件收集日志启动应用启动adb服务或者停止adb start-serveradb kill-server安装卸载app安装appadb install /Users/compass/Desktop/app/app.apk多个设备,安装到指定设备(下面的xxx,通过adb devices获取的其中之一设备名称)adb -s xxx install /Users/compass/Deskt原创 2021-07-15 11:28:49 · 1481 阅读 · 0 评论 -
Android Studio Build窗口出现中文乱码问题
问题:Android studio使用时,报错出现提示乱码问题,无法查看具体报错问题,如图解决方法:打开Android studio 全局搜索"双击shift"搜索Edit Custom VM Options结果1、如下图:出现如下图结果,打开第一个文件结果2、没有搜索到任何文件可点击studio状态栏的Help—>Edit Custom VM Options ,操作如下图结果1和结果2最后都是打开或者生成文件studio64.exe.vmoptions:在文件后面添加-Dfil原创 2020-08-26 22:58:09 · 2664 阅读 · 2 评论 -
解决Project ‘verticalslide‘ not found in root project ‘XXX‘问题
问题:从git上拉取代码项目成功后报如下错误,并且app显示被x掉了,不能运行项目,XXX是项目名Project 'verticalslide' not found in root project 'XXX'解决方法:首先可以在项目的Terminal中输入以下命令查看具体的错误信息gradlew processDebugManifest -stacktrace我的问题是因为在使用依赖库是使用compile,改为api重新编译就好了本来打算给点错误信息截图的,但改完api编译好了后,再改回co原创 2020-08-10 23:35:04 · 6432 阅读 · 0 评论 -
Android studio如何运行java程序代码
先看Java程序类public class GGG { public static void main(String[] args) { System.out.println("我是java程序"); }}就是这么简单的一个java程序,在之前studio上可以直接运行,但是像现在升级studio后就发现运行报错:首先java程序肯定没错的,那么问题就出在studio版本上了,调查的解决方法如下:第一步:创建java-library,File-》New-》New原创 2020-05-12 11:10:18 · 8686 阅读 · 3 评论 -
Android 开发不得不了解的Handler
目录前言Handler使用handler的初始化及接收:handler发送消息:handler移除发送的消息:Handler原理解析HandlerLooper前言Android 开发离不开handler,那什么是handler呢?下面是google对handler的定义:处理程序允许您发送和处理与线程的{@link MessageQueue}关联的{@link Message}和可运行对象。...原创 2020-05-07 18:16:35 · 292 阅读 · 0 评论 -
Android 滑动悬浮栏怎么实现
目录效果图:文档API实现代码效果一效果二效果三开发中我们会遇到产品要求滑动将页面中间的一个菜单栏悬浮在手机顶部,方便用户操作使用,那我们该怎么实现呢?可以采用google提供的AppBarLayout实现此功能,接下来直接看效果图,看完效果图在说如何实现这几种效果。效果图:效果一:这种是默认的最简单的,但应用中一般不实用效果二:这种是没有title的滑动悬浮操作栏效果三:带有自定...原创 2020-04-24 14:19:47 · 1833 阅读 · 2 评论 -
使用切面编程(AOP)研究Activity等的生命周期
对于Android开发而言,Activity的生命周期应该都知道,但你知道Activity A 跳转Activity B,Activity B再按back键回退,两个过程各自的生命周期吗?你是怎么验证的呢,每一个方法中都写一个log打印吗?今天看怎么用切面编程验证,关于配置等可以查看这篇文章:切面编程AOP在Android中该怎么使用先来写一个切入activity的生命周期的类:@Aspe...原创 2020-04-17 16:33:03 · 646 阅读 · 0 评论 -
切面编程AOP在Android中该怎么使用
目录概念配置即讲解使用1、根据方法名进行切入2、自定义注入,需要方法引用(依计算方法执行需要时间为例)概念大家一般开发中都是使用面向对象编程(OOP,即ObjectOriented Programming)但当你学习了切面编程(AOP,即Aspect Oriented Programming)后你会爱上这种编程,简直太好用了,不知道的人看了你的代码都还不知道这是怎么实现的。面向切面编程:As...原创 2020-04-17 13:22:03 · 427 阅读 · 0 评论 -
Android studio升级到3.6.2出现各种红色警告解决方法
今天将Android studio升级到3.6.2后项目项目的AndroidManifest.xml的配置中android:screenOrientation="portrait"全部变红,如下图:根据提示是让我们设置成android:screenOrientation=“unspecified” or“fullSensor”,但我就是要设置成"portrait"这样呢解决方法一、在stu...原创 2020-04-14 15:10:28 · 4934 阅读 · 0 评论 -
Android 8.0系统以后你该这样启动Service
java.lang.IllegalStateException: Not allowed to start service Intent app is in background uid UidRecord就是这样的一个bug才使我发现原来我的Android8.0并没有适配好!先来看google开发文档对Android 8.0以后启动服务的一段描述:也可以直接去查看8.0的变动:后台执行...原创 2020-03-24 11:18:49 · 1166 阅读 · 0 评论 -
Android 如何获取运行内存和总运行内存等
目录总存储内存和可用内存总运行内存和可用运行内存当前应用使用的运行内存大小获取应用的缓存大小总存储内存和可用内存1、获取手机总存储内存 /** * 当前的手机总存储内存大小 * * @return xx GB */ public String getTotalInternalMemorySize(Context context) { ...原创 2020-03-23 22:10:48 · 3966 阅读 · 4 评论 -
使用Artifactory 搭建本地仓库
团队开发时,有些公共资源,我们会copy或者自己网络下载,挺麻烦的,所以可以使用 Artifactory 搭建一个本地仓库,内部资源共同利用,避免找资源下载浪费时间。原创 2020-03-18 11:16:00 · 1740 阅读 · 4 评论 -
Android 锁屏后handler计时失效
目录问题背景handler失效的原因排查了解到Doze机制锁屏后计时解决方案问题背景需要记录用户播放音频的时长,我在一个service中开启handler,每隔一秒用户正在播放,将播放时长++;正常播放都没问题,即使锁屏大部分手机记录都准确,但在华为手机9.0系统中发现锁屏记录时间不准确,接下来就有了一大堆的排查。handler失效的原因采用每次都将系统时间和变量进行写入到手机内存中,通过...原创 2020-03-06 17:25:57 · 4780 阅读 · 3 评论 -
Android 调用系统分享图片、视频等文件
目录序言打开文件管理器分享操作文件Uri转化为String序言一般都会集成Umeng的分享,基本的分享都可以满足,但是要想分享文件,比如pdf、doc、ppt等类型时,umeng就不能满足需求了,此时可以考虑调用系统分享,其实称为手机中可打开此文件的软件更为合适;打开文件管理器打开手机文件管理器直接上代码: Intent intent = new Intent(Intent.ACTIO...原创 2019-12-30 16:57:07 · 4379 阅读 · 1 评论 -
自定义打卡日历
文章目录先看效果图需求分析核心代码星期的实现日历实现先看效果图实际是圆的,由于录制视频视频尺寸小于实际宽度,所以看着有点像椭圆;需求分析1、需求左右点击可以切换月份,不需要左右滑动切换,时间紧迫就按需求完成功能;2、打卡日期选中如图,单个选中、左右相邻选中和换行样式如图;3、当前日期选中,点击也需要选中效果;4、月份可能会显示5行或6行,控制总高度不变,动态设置单行日期的高度,选中...原创 2019-12-02 15:16:15 · 943 阅读 · 0 评论 -
Android AudioManager探索
AudioManager不陌生吧,你要设置音量、静音都要用到它,有时会遇到两个应用的音频重叠播放,就是因为没做好处理。。。文章目录一、常用方法1、 音量2、获取焦点(处理声音重叠问题)二、代码示例一、常用方法初始化:AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);Au...原创 2019-11-12 17:19:45 · 1476 阅读 · 0 评论 -
GitHub上README.md编写教程(基本语法)
今天在编写github中的readme.md文档时,发现自己写的和别人写的样式完全不一样,自己的好难看,于是百度了一番,很多都是转载的别人13年的博客,其中还发现一片17年写的原创,本以为发现了一个新的文章,结果发现其实就是转载的别人13年的博客,一个字都没修改居然可以编辑为原创,真心服了哪位仁兄了,本来打算在他文章底部评论的,最后想想算了吧。一番百度后,根据他人的博客重新归正了下。参考博客:...原创 2018-06-25 16:51:49 · 59861 阅读 · 1 评论 -
Android ObjectAnimator不调用onAnimationStart方法
先看代码动画效果是从小变大,同时透明度从完全透明变成完全不透明; ObjectAnimator rotateX = ObjectAnimator.ofFloat(view01, "scaleX", 0.0f, 1f); ObjectAnimator rotateY = ObjectAnimator.ofFloat(view01, "scaleY", 0.0f, 1f); ...原创 2019-11-05 15:36:56 · 1413 阅读 · 0 评论 -
Android Support 项目依赖Androidx库冲突
你的项目改为Androidx项目了吗?要是已经是Androidx项目就不用在看了;个人测试了几个依赖库,发现Android项目无法引用Androidx的依赖库,但是Androidx项目却可以继续引用Android support的依赖库;点击查看google对Androidx 概述要是你的项目还是Android项目,当你发现集成第三方依赖库就报错,不集成就正常,此时你就应该排查是不是你...原创 2019-10-22 16:17:37 · 3720 阅读 · 0 评论 -
Android6.0、7.0、8.0、9.0、10.0开发适配
创建项目或者现有项目都应该根据文章进行检查,避免应用不能安装、使用崩溃等!Android 6.0适配:危险权限需要动态申请:下面是一些危险权限列举:group:android.permission-group.CONTACTSpermission:android.permission.WRITE_CONTACTSpermission:android.permission.G...原创 2019-10-21 16:00:02 · 1155 阅读 · 0 评论 -
unknown error (Sqlite code 14): Could not open database解决方案
今天在运行之前一个项目是突然一运行就崩溃,感觉甚是奇怪,查看log日志发现:Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (Sqlite code 14): Could not open database, (OS error - 13:Permission denie...原创 2017-04-13 10:39:53 · 28828 阅读 · 4 评论 -
Android 终极推送方案(结束应用进程依然可以接收通知)
开发中总会遇到产品经理需求是:结束掉应用依然想接收到通知,iOS轻而易举就可以实现,但Android一直都是杀掉应用后就无法接收到通知!网上给的结果大概是:1、集成各大厂商的推送sdk;(太繁琐)2、集成某一大品牌的推送sdk,通过应用之间相互调用的方案;(测试无效)3、等待Android统一推送联盟方案出来;(时间未知)今天告诉你一个方案,通过阿里推送的辅助渠道推送可以实现即...原创 2019-10-21 10:43:03 · 6830 阅读 · 1 评论 -
Android 锁屏功能
开发中遇到锁屏和唤醒屏幕的功能,顺便就想开发一个“一键锁屏”的app,然后就有了这篇文章。。。哈哈哈首次打开必须用户手动授权锁屏功能;如下图:点击激活第一步、在AndroidManifest.xml中配置:<uses-permission android:name="android.permission.WAKE_LOCK" /><permission ...原创 2019-10-15 10:45:14 · 1480 阅读 · 0 评论 -
一行代码实现二维码相关功能
直接集成创建二维码(可以带logo),默认扫描二维码或者自定义都可以,先看效果图:下面看使用方法:一、在项目中直接引入compile 'com.bintray.library:zxing_library:1.1.0'二、调用方法1、生成带logo的二维码 Bitmap bitmapa = BitmapFactory.decodeResource(g...原创 2019-03-11 17:17:06 · 266 阅读 · 0 评论 -
android MediaPlayer出现RuntimeException: failure code: -38崩溃解决方法
android 使用MediaPlayer播放音频是偶尔会出现以下崩溃:java.lang.RuntimeException: failure code: -38 at android.media.MediaPlayer.invoke(MediaPlayer.java:744) at android.media.MediaPlayer.getInbandTrackInfo(MediaPl...原创 2019-05-24 12:01:50 · 3441 阅读 · 1 评论 -
android Lottie详细使用
Lottie是一个适用于Android、iOS、Web和React Native的移动库,用于解析使用Bodymovin导出为json的Adobe After Effects动画,并在移动设备上呈现它们!先了解下lottie加载主体类:LottieAnimationView扩展ImageView,是加载Lottie动画的默认和最简单的方法。 LottieDrawable与Lottie...原创 2019-06-05 11:51:01 · 14561 阅读 · 0 评论 -
All com.android.support libraries must use the exact same version specification解决方法
在android studio的build.gradle中引入库有时会出现以下错误(supportLibraryVersion的值为28.0.0)将鼠标放在报错行上会显示如下错误提示All com.android.support libraries must use the exact same version specification (mixing versions can ...原创 2019-06-14 10:53:58 · 4543 阅读 · 0 评论 -
android 混合webview和js交互常见使用
android 原生和js之间的交互更好实现功能;以下主要针对webview的配置进行论述:一、webview的配置: //开启js脚本支持 WebSettings settings = getSettings(); settings.setJavaScriptEnabled(true); if (android.os.Build.VERS...原创 2019-06-24 14:39:13 · 357 阅读 · 0 评论 -
平台应用认领操作
某些平台要上传app应用需要应用认领,比如oppo平台,下面我们来看看oppo平台的认领流程:认领步骤:1. 输入应用包名——2. 下载签名空包——3. 上传版权证明主要就是签名空包的操作有点麻烦,其他流程一步一步跟着提示就可以完成:签名空包的生成:第一种方法根据文档操作:点击签名空包下载未签名的空包和操作文档,可以点击app认领说明(认领说明有些地方有坑)更改后的流程...原创 2019-07-29 14:49:54 · 838 阅读 · 0 评论 -
android studio logcat不见了解决方法
今天手误把studio的logcat日志输出搞不见了,怎么调都调不出来,最后还是让我找到在哪里弄显示出来了,也包含其他操作栏看下图:原创 2019-07-24 14:54:00 · 9444 阅读 · 0 评论 -
Android 使用腾讯的TBS浏览器X5内核的集成加载pdf等文件
我们正常项目使用原生webview加载h5页面也是没问题的,但是当使用原生webview加载h5出问题了,h5地址在微信等可以正常使用,前端就会丢锅给我们,为了杜绝不是我们Android的问题,那我们也集成TBS浏览器X5内核替换原生webview。。。腾讯的TBS浏览器X5内核(文章中统一简称X5内核)的优点直接看文档介绍就有,文章主要将集成点和加载X5内核失败怎么解决、在应用内打开p...原创 2019-09-04 15:56:00 · 14968 阅读 · 19 评论 -
Android 图片和Base64转化,并保存相册
现在在Android开发中很少用到Base64的BASE64Encoder及BASE64Decoder,今天在h5中需要将图片的base64数据转化为图片保存到相册,项目中居然找不到BASE64Encoder及BASE64Decoder类,一顿百度方法怎么可以引用,最后发现还是将BASE64Encoder及BASE64Decoder类源码引入最方便;直接下载源码补充下:Base64的加密解...原创 2019-09-28 11:51:36 · 4575 阅读 · 0 评论 -
Android 虚拟键盘相关功能大全
移动开发跟虚拟键盘肯定要打交道,下来我们就说说常用的相关情况:情况一、将键盘右下角的确认更改android:imeOptions="actionDone",软键盘下方变成“完成”,android:imeOptions="actionSend",软键盘下方变成“发送”android:imeOptions="actionNext",软键盘下方变成“下一个”//监听右下角按钮...原创 2019-09-28 17:24:20 · 1575 阅读 · 0 评论 -
android 项目Failed to transform file 'xxxxx.jar' to match attributes 解决方法
今天将Android项目更改为AndroidX项目后,ReBuild Project和运行项目都会报下面错误,我的是butterknife-compiler-9.0.0-rc3.jar,有可能是其他样式xxx.jar;FAILURE: Build failed with an exception.* What went wrong:Could not resolve all file...原创 2019-09-29 16:52:18 · 11877 阅读 · 0 评论