![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android小问题
tushiba
这个作者很懒,什么都没留下…
展开
-
EditText文本位置显示
EditText标签中将android:gravity属性值设为left|top。以使输入的文本从左上角开始显示,如果不设置该属性,则输入的文本会从左侧中心位置开始显示(由于设置了android:line=”3”,因此,EditText可同时显示三行的内容,所以会存在这个问题,如果只显示一行,则不存在这个问题)原创 2017-07-05 18:23:43 · 4395 阅读 · 0 评论 -
隐式跳转引发的默认应用选择界面bug(选择要使用的应用)
概况近两日发现APP打开和被人挤下线重新登录时会弹出一个应用选择界面,里面罗列的可选择应用两个都是自己的APP原因排查后发现是隐式跳转引起的问题,之前为了做从浏览器跳转APP的需求,在启动页设置了intent-filter,里面的data只设置了scheme,值为应用英文缩写,而在应用内多处用到了路由跳转页面的功能,也是用的隐式跳转,scheme,host,path都齐全,其中sc...原创 2020-04-08 14:01:25 · 507 阅读 · 0 评论 -
Android Studio 快速定位错误行
AS快速定位错误行用F2和Shift + F2是很方便的,但之前升级到了AS3.5发现使用F2不会直接跳转到错误行,而是挨个跳转inspection的错误解决方法:左上角 File---->setting---->General,拉到底部,勾选如下图红框处选项,意思是跳转错误行的动作只会跳转高优先级的错误...原创 2020-03-11 15:04:42 · 2037 阅读 · 1 评论 -
APP部分漏洞及解决方法
公司APP在教育移动互联网应用程序备案管理平台上收到通报预警,陈列了部分需要解决的漏洞,陈列如下1.漏洞-动态注册Receiver风险解决方法:1.在 AndroidManifest.xml 文件中静态注册 BroadcastReceiver,同时设置 exported="false"。2.必须动态注册 BroadcastReceiver时,使用registerRecei...原创 2020-01-07 10:04:26 · 1941 阅读 · 0 评论 -
Android Stuido诡异怠工实录
今天在修改完一段代码后发现编译安装后的app并没有表现出对应的改动,一开始还以为是代码写得有问题,在尝试了多种不同的写法后依旧和原来一样,此时我还只是感觉有些奇怪,一定是哪里出了问题,我开始注释代码,修改跳转的目标Activity,结果一如之前,我接着清除缓存,重启,换手机,还是一样... 我已经有点慌了,十二月的风雪似乎穿透钢筋水泥灌入了我的身体...好吧,有点扯远了,在一番进攻无效下,我求...原创 2019-12-18 17:53:19 · 113 阅读 · 0 评论 -
Android gradle根据渠道采用不同的图标和应用名
有时候项目在不同渠道下要使用不同的应用图标和应用名,每次手动替换费时费力,可以在gradle中配置,一步到位buildTypes { debug { manifestPlaceholders = [app_name: "@string/app_name", app_icon: "@mipmap/icon_logo"] } ...原创 2018-11-10 18:17:25 · 1976 阅读 · 0 评论 -
编译签名打包过程三方包依赖冲突
问题描述 最近更新了保利威视的视频播放相关sdk,打包编译的时候发现有jar包重复类冲突,message会有 .....duplicate entry: ../../a/a.class 类似的提示,以前很少碰到这种问题,我的想法是引入的三方依赖中其自身引用的jar包有重复导致冲突发生 解决方法我一开始的解决方法是根据提示,双击shift全局文件搜索,找出重复类所在的jar包如...原创 2019-02-14 11:35:13 · 214 阅读 · 0 评论 -
一屏多页viewpager使用PageTransformer时position位置错误
viewpager实现一屏多页需求,可以在xml中设置clipToPadding="false",左右再设置padding即可今天在使用PageTransformer做滑动缩放效果时发现缩放的位置有偏差,正常来说应该在最正中间放大至最大,但我在滑动时发现在偏左的位置才达到最大化,停留在正中间时反而会缩小一些,确认PageTransformer内代码写得没问题,然后去翻源码 i...原创 2019-03-22 17:33:16 · 644 阅读 · 0 评论 -
多fragment切换适配沉浸式状态栏
一个Activity管理多个Fragment,其中三个Fragment状态栏颜色不同,另外一个状态栏透明,顶部图片上顶开始使用修改状态栏颜色的方法时发现一旦显示了状态栏透明的fragment后,切换到其他fragment顶部view都会上移,考虑到透明状态栏设置了systemuivisibility,在切换到其他fragment时进行清除,但引发了其他问题,切换时,整体的界面发生抖动...原创 2019-05-09 18:31:07 · 1879 阅读 · 0 评论 -
Android签名和APK信息相关处理的命令行代码
aapt dump badging hz_example.apk 查看apk包详细信息keytool -v -list -keystore hz_example_mengrammar.jks -storepass 45256845 查看签名文件的信息jarsigner -verbose -keystore hz_example_mengrammar.jks -signedjar...原创 2019-06-10 15:19:31 · 183 阅读 · 0 评论 -
应用内部更新在Android8.0下遇到的问题
首先是前置准备工作,基本和7.0一样,在清单文件中申明 <provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}" android:exported="fa...原创 2019-07-17 16:39:27 · 272 阅读 · 0 评论 -
manifestPlaceholders占位符失效
今天打包的时候,运营表示需要一个vivo渠道的包,桌面名称要和其他渠道不同,如果只有这一次需求的话,大可以修改了清单文件中的application的label就行,打完包后再改回原来的,但考虑到目前马甲包的数量以及后续的升级打包,还是决定在gradle中做渠道区分配置,不同渠道使用manifestPlaceholders占位符替换label的字符串引用,形式如下VivoStore { ...原创 2019-07-22 16:18:17 · 2462 阅读 · 3 评论 -
Android中利用layer-list和shape制作阴影背景
利用<layer-list >....</layer-list>叠加<item>,控制每一层间距逐渐减小,颜色逐渐减淡,最后呈现扩散模糊效果的阴影<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/...原创 2019-09-12 17:25:55 · 302 阅读 · 0 评论 -
Android TV开发---WIFI设置跳转
采用如下显式跳转会有点小问题,在跳转成功的时候就会回调onActivityResult,在返回的时候不调用,无法准确判断wifi是否已开启Intent intent = new Intent();intent.setClassName("com.android.settings", "com.android.settings.Settings");startActivityForResu...原创 2019-09-23 18:41:12 · 993 阅读 · 0 评论 -
Android 修改包名无法运行activity class does not exist
最近在做马甲包,将原包复制后,在AS中修改了包名,结果运行时提示activity class does not exist,主activity不存在,我看了错误信息,发现主activity路径之前还存在着原包的路径,clean,rebuild都没有效果 后来将gradle中的applicationId config.applicationId删除,默认为清单文件中的package...原创 2018-10-26 10:23:28 · 2821 阅读 · 5 评论 -
java空白注释正则替换
匹配java中多行空白注释: /\*[\s*]*\*/ 匹配java中单行空白注释: //\s \s表示空白符,包括空格、换行、tab缩进等所有的空白/\*匹配开头的/*[\s*]*匹配中间的0个或多个空白符以及多出的*\*/匹配结尾的*/...原创 2018-09-27 11:23:44 · 444 阅读 · 0 评论 -
AlertDialog默认显示宽高
默认alertdialog的宽为屏幕的8/9, 高为屏幕的1/7原创 2017-07-05 18:28:31 · 1007 阅读 · 0 评论 -
进入界面弹出键盘问题解决方案
界面有edittext等获取焦点的控件时,往往进入该界面就会弹起键盘,clearfocus方法不成功的情况下,在xml中添加一个 <View android:layout_width="0dp" android:layout_height="0dp" android:focusableInTouchMode="true" />即可解决,强制一个宽高原创 2017-07-05 18:34:39 · 584 阅读 · 0 评论 -
Android 数据库语句编写细节
database.execSQL()执行数据库方法时,变量要加单引号!原创 2017-07-05 18:36:51 · 287 阅读 · 0 评论 -
Parcelable序列化时需注意问题
今天在编写关于AIDL的一个demo时发现反序列化后拿到的值与输入的不符,确认AIDL编码过程正确后回到实体类本身,细看下发现write和read的顺序不一致,修改为一致后,反序列化正确执行。切记,Parcelable序列化时write和read实体类属性时顺序要一致!原创 2017-07-09 19:46:16 · 775 阅读 · 0 评论 -
RecyclerView直播聊天界面判断最后一条消息位置
最近在做RecyclerView直播聊天界面,遇到一些问题,记录一下。1. 收到消息后需要将RecyclerView滚动到最后一条,因为我在弹键盘时压缩了RecyclerView的布局,导致调用scrolltoposition()方法的时候,RecyclerView布局未恢复,item出现闪动,可以通过判断键盘收起再滚动条目,也可以监听RecyclerView布局变化来做滚动。2.原创 2017-10-18 19:23:33 · 1575 阅读 · 0 评论 -
个人遇到的自定义dialog中内容无法居中的问题
可能有点标题党了..在做一个横屏avtivity中弹出的自定义dialog时,发现一直无法居中,后来发现有点长的数据被屏幕截断了,想到可能是高度设置有问题,打断点一看果不其然,我把dialog的高度设置为了屏幕的宽度,但其实横屏的时候,屏幕宽度就是竖屏的屏幕高度,无需做转换,直接将dialog的高度设为屏幕的高度即可原创 2017-11-29 15:01:56 · 3194 阅读 · 0 评论 -
SearchView搜索框点击事件失效解决方案
SearchView点击事件监听不生效(焦点监听也不生效),网络上的方法是给它的所有子控件添加点击监控,点击事件是生效了,但搜索框无法输入了…经同事指点,使用了setOnQueryTextFocusChangeListener监听搜索输入区域的焦点,成了! 真是个好监听!原创 2017-07-05 18:30:26 · 4769 阅读 · 0 评论 -
QQ空间分享图文链接用的图片参数
使用腾讯自己的QQ第三方分享登录SDK,在QQ空间分享图文链接时,用QzoneShare.SHARE_TO_QQ_IMAGE_URL这个参数保存本地图片,用QzoneShare.SHARE_TO_QQ_IMAGE_LOCAL_URL反而出错原创 2018-02-05 11:34:31 · 1960 阅读 · 1 评论 -
ListView分割线长度设置及遇到的问题
在设置ListView分割线的时候,我们可以通过android:divider="@drawable/listview_divider"来自定义分割线,listview_divider这个XML我使用的如下的形式实现<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.an...原创 2018-02-23 16:53:36 · 362 阅读 · 0 评论 -
Android监听网络变化时的bug
最近在做监听网络变化改变视频播放码率的功能,涉及到了Android网络变化监听,我采用了动态广播监听网络变化,在使用过程中发现了一些问题。 1. 当开启VoLTE高清通话时,getAllNetworks()方法中会存在一个ims的network,并且在只开启数据网络的时候,会返回ims和我们正在使用的接入点这2个network,当同时开启wifi和数据网络时,只返回ims和wifi这2个ne...原创 2018-03-21 17:16:49 · 496 阅读 · 0 评论 -
Gradle DSL method not found: 'project()'
导入新的Module时出现Gradle DSL method not found: 'project()',检查setting.gradle里include配置是否有问题,有没有把Module正确include遇到这个问题有几次了,记录一下原创 2018-07-11 23:58:08 · 926 阅读 · 0 评论 -
接口设计规范
今天产品经理告诉我说我们的软件被人破解了,我的表情:(´゚Д゚`)(゚Д゚≡゚Д゚),然后就是一番验证,最后得出结论对方反编译后改了一处变量的判断,导致一直为true,这个逻辑涉及到产品购买,非常严重。后台开发说在给接口的时候,无论是否已购买都把关键信息一股脑传给了前端,由前端本地再做判断决定是否展示产品的关键信息,现在想来这个接口设计得十分不规范,在产品未购买前,有关购买后才能显示使用的信息不能...原创 2018-07-12 16:14:48 · 1635 阅读 · 0 评论 -
git 远程仓库与本地仓库关联
遇到几次这个问题,记录一下流程:1. 新建本地仓库关联 1. 在需要建立本地仓库的位置调出git bash 2. 输入git init,初始化本地仓库 3. 输入git remote add origin 仓库地址, 添加远程仓库 4. 如果远程仓库中有提交历史,输入git pull origin master,将提交历史和文件拉到本地仓库,有冲突解决冲...原创 2018-08-08 15:33:09 · 1390 阅读 · 0 评论 -
Android硬件加速问题
Android硬件加速在一些复杂的view绘制时会导致很多问题,出现花屏,白屏等,可以关闭硬件加速,使用软件加速解决。布局文件中:android:layertype=”software”代码中:webview wvContent = new webview wvContent.setLayerType(View.LAYER_TYPE_SOFTWARE, NULL);原创 2017-07-05 18:20:54 · 362 阅读 · 0 评论