安卓分享
安卓程序员_谢伟光
知善知恶是良知,为善去恶是格物。
展开
-
解决unsupported class file major version 62 gradle
unsupported class file major version 62原创 2022-08-27 16:53:11 · 7573 阅读 · 3 评论 -
代码修改activity的theme
修改activity的theme原创 2022-07-15 11:44:38 · 1314 阅读 · 0 评论 -
解决open failed: EACCES (Permission denied)
在Manifest的Application中加属性android:requestLegacyExternalStorage="true"原创 2022-03-22 03:19:39 · 1830 阅读 · 0 评论 -
解决DialogFragment宽度显示不正确的问题
我写了个下载框。布局文件用RelativeLayout 写的。发现在安卓11的设备上无法设置宽度。布局控件叠在一起了。解决方案:1.在最外层用FrameLayout 包裹,宽高都用match_parent <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_paren.原创 2021-07-07 14:23:22 · 550 阅读 · 0 评论 -
webview设置系统键盘的样式
众所周知,editText是可以通过设置inputType来改变键盘默认弹起的样式。比如全数字,全字母,带.com按钮等等。但是WebView没有这个直接的fa原创 2021-06-15 17:28:52 · 367 阅读 · 2 评论 -
OneTimeWorkRequestBuilder 不执行的原因
这个api一般在应用第一次启动执行,后面不会再执行。这个这个操作一般在RoomDatabase创建对象的时候执行。我是这样写的fun getInstance(context: Context): AppDatabase { return instance ?: synchronized(this) { instance ?: buildDatabase(context).also { instance = it }原创 2020-12-02 21:21:49 · 1219 阅读 · 0 评论 -
ObservableInt 无法使用
需要在build.gradle中的android下加入android{dataBinding { enabled = true }}原创 2020-09-02 19:56:19 · 472 阅读 · 0 评论 -
拦截鼠标点击事件 屏蔽webview的点击事件
我有个需求,因为鼠标点击事件会击穿当前控件,作用到被遮盖的webview解决方案:根据点击事件是从最外层的布局一层层往内分发的,那么只要把webview的父容器 比如relativelayout的点击事件分发禁掉就可以实现,禁止webview被点击的操作,我写了一个FrameLayout来存放webView代码:var isDispatch=trueclass MyFrameLayout:FrameLayout { constructor(context: C...原创 2020-08-18 13:20:41 · 1520 阅读 · 0 评论 -
解决鼠标点击webView无法弹起键盘
我自定义了个WebView错误的写法class MyWebView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : WebView(context, attrs, defStyleAttr){ init { }}正确的写法class MyWebView:WebView {...原创 2020-08-17 16:01:46 · 266 阅读 · 0 评论 -
jekens 上 module引用不到的解决方案
把module 打成aar 然后放到libs上引用先在module中创建task脚本: task makeJar(type: Copy) {// delete "build/intermediates/compile_library_classes_jar/debug/classes.jar" from('build/intermediates/intermediate-jars/release/') new File("build/outputs/jar/").mkdi.原创 2020-08-11 15:36:50 · 195 阅读 · 0 评论 -
android studio 配置gradle命令的环境变量(最新版本)
网上很多教程的android studio路径比较老,今天我找到了新版as的配置gradle命令的路径。路径在C:\Users\登录PC的用户名\.gradle\wrapper\dists\gradle-5.6.4-all\ankdp27end7byghfw1q2sw75f\gradle-5.6.4\bin配置完之后你可以在新开个cmd,然后输入gradle -vGradle 5.6.4------------------------------------------...原创 2020-08-11 13:06:02 · 944 阅读 · 0 评论 -
解决导入新module导致module not specified
最近新创了个下载module然后我把这个module import到我的项目然后我的主工程就module not specified很诡异原因:因为我的项目之前被同事改造了配置文件的后缀。比如正常项目中的settings.gradle文件, 是用来记录项目中的module的。然后他改成了settings.gradle.kts 。 这导致用as导入module 会自动生成settings.gradle文件,并且里面只有一个include ":download"编...原创 2020-08-07 09:59:30 · 1624 阅读 · 0 评论 -
android studio 日志过滤
今天学会个日志过滤的套路,分析一下在logcat 的右上角,点击show only selected application ,出现下拉框.点击edit filter configuration修改下filter name 方便下次辨认 比如我定义叫MyFilter在log Tag中 输入 你想要过滤的信息比如你不想在日志中看到tag包含AAA那就输入^(?!.*(AAA)).*$比如你不想看到tag包含AAA 或者包含BBB^(?!.*(AAA|...原创 2020-07-02 16:24:34 · 1513 阅读 · 0 评论 -
安卓支持AES 256加密解密
第一步,网上大部分都是让你 覆盖2个jar ,我弄了,但是没看出效果我是java1.8版本的,下载地址是:https://www.oracle.com/java/technologies/javase-jce8-downloads.html覆盖到安装jdk的目录C:\Program Files\Java\jdk1.8.0_251\jre\lib\security\policy\unlimitedC:\Program Files\Java\jdk1.8.0_251\jre\lib\se..原创 2020-06-16 17:25:17 · 1715 阅读 · 0 评论 -
安卓的图片占用内存,图片分辨率,图片适配不同屏幕的研究
首先本文主要解决以下几个问题1.什么是DPI 什么是dp 什么是PX,什么是desity,这些干嘛用2.一张图片在安卓中到底占多少内存,3.为什么安卓app的res目录下要用多个文件夹存放图片,有什么作用首先回答第一个问题:dp:安卓特殊的一种单位,是根据...原创 2020-06-14 13:32:30 · 945 阅读 · 0 评论 -
修改commit信息进阶版(自己玩出来的)
我有3笔提交这3笔的 commit id分别是commit xxx1 提交的commit log1commit xxx2提交的commit log2commit xxx3提交的commit log3xxx1 xxx2 xxx3 代表 提交时生成的那串commit id现在 我发现 commit log2 这个 提交信息我要改下...原创 2020-04-01 11:46:18 · 188 阅读 · 0 评论 -
adb命令查看设备内存
adb shellprocrank ,看ram 大概905M 也就是1G内存VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)USS - Uniqu...原创 2020-03-20 17:50:53 · 20626 阅读 · 0 评论 -
aidl填坑
用的时候要在mian目录下创建aidl文件,而且如果 用到了自定义类,必须在对应的创建个aidl文件,指定它是parcelableMydata.aidl定义MyData的代码 需要实现parcelable接口package com.demo.aidl.model;import android.os.Parcel;import android.os.Parcela...原创 2019-12-19 17:25:47 · 115 阅读 · 0 评论 -
解决Cleartext HTTP traffic to 01.minipic.eastday.com not permitted
安卓P之后不支持http明文传输了有2个解决方案1.可以在manifest 的application中加入<application ... android:usesCleartextTraffic="true" ...> ... </application>2.可以再res 目...原创 2019-12-06 15:50:09 · 419 阅读 · 0 评论 -
用android studio 录屏
平时想录制一些手机操作,可以通过android studio的 模拟器进行录制步骤如下:1.找到 录制按钮,打开虚拟机,点了这个按钮之后就开始录制了,录完之后是一个存放录制文件的操作.只是我这边只能录成,用winodow播放器就能播放,这样不够完美,我打算再转成 gif2.转webm为gif下载ffmpeg的地址,https://ffmpeg.zeranoe.com/...原创 2019-12-03 17:23:54 · 1905 阅读 · 0 评论 -
屏幕适配的策略总结
1.基于像素的屏幕适配比如美工的切图只有px那么 可以先拿到设计图片的宽高写个utils类 通过WindowManager,manager.getDefaultDisplay().getMetrics(displayMetrics);获取屏幕宽高, 这时候还要判断屏幕的横竖屏 通过宽和高的值比较然后计算宽高的缩放比 ,手机实际宽度/设计稿宽度 =宽度的缩放比...原创 2019-11-22 16:25:52 · 297 阅读 · 0 评论 -
lambda表达式 和正常写法容易混淆
一开始没搞明白 上下2段的代码的区别后面才想起来 如果正常写应该是括号包裹原创 2019-11-14 14:26:04 · 570 阅读 · 0 评论 -
解决fragment 的findViewByid为空 一个思路
activity add Fragment一般都是在oncreate里面做 然后 想给fragment 里面的view添加点击事件 用findViewById 会出现空指针这是因为虽然你把fragment add到Activity里了,但是 Fragment的oncreateView没执行,所以拿不到他的view我的办法是再Fragment里面写个接口回调,然后 在activ...原创 2019-06-20 13:33:09 · 1407 阅读 · 0 评论 -
解决org.gradle.api.tasks.TaskInputs.
greendao版本过低在app的gradle中升级到implementation 'org.greenrobot:greendao:3.2.2'在根gradle中设置dependencies { classpath 'com.android.tools.build:gradle:3.4.1' classpath 'org.greenrobot:gr...原创 2019-06-10 17:14:21 · 3729 阅读 · 0 评论 -
popupwindow设置点击外部不消失
mPopupWindow= new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);mPopupWindow.setFocusable(true);mPopupWindow.setOutsideTouchable(true);mPopupWindo...原创 2019-06-03 18:09:51 · 3530 阅读 · 2 评论 -
查看okhttp的cookie .请求头信息
BridgeInterceptor.java 这个类中List<Cookie> cookies = cookieJar.loadForRequest(userRequest.url());if (!cookies.isEmpty()) { requestBuilder.header("Cookie", cookieHeader(cookies));}所有请求头信...原创 2019-05-15 10:06:18 · 1335 阅读 · 0 评论 -
推荐一个谷歌浏览器去广告插件
Adblock Plus 这个插件一开,那些烦人的百度广告都没了。开发者必备原创 2018-08-02 11:03:09 · 3538 阅读 · 1 评论 -
解决state_enabled=false 不起作用的
写了个selector<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:color="@colo...原创 2019-06-12 11:19:47 · 4347 阅读 · 2 评论 -
制作依赖的填坑之旅(jitpack版)
首先要明确 ,上传的是整个应用,而不是单纯的库工程,其中包含了想要分享的库工程.在android studio中点开vcs -> import into version control -> 把整个项目添加到github上这里要注意一些配置比如project中的gradle我是这样配置的buildscript { ext.kotlin_version = '...原创 2019-07-05 11:46:06 · 348 阅读 · 0 评论 -
jcenter使用小结
第一次玩这个 ,真的挺难受的先注册, 地址:https://bintray.com选免费账户注册第二步新建responsity进去之后add new package 关注2个地方 1.是 name必须是你想上传的module名字 2. 设置git地址,我这边是吧项目先上传到github,然后release一下然后看下android ...原创 2019-07-12 15:13:33 · 2331 阅读 · 0 评论 -
改变TextView部分字体的大小颜色
先上效果图,产品要求给的字符串中间的数字颜色改变大小改变下面 上代码String cardTypeName =userInfo.getCardTypeName(); Pattern p = Pattern.compile("\\d"); Match...原创 2019-07-25 14:08:20 · 983 阅读 · 0 评论 -
关于抓包的很好的教程
https://www.cnblogs.com/woaixuexi9999/p/9247705.html转载 2019-08-09 11:23:07 · 2931 阅读 · 0 评论 -
禁用安卓系统字体大小
webview 由于用户的设置系统字体为特大,导致排版错乱解决办法如下webview设置属性WebSettings set = webview.getSettings();set.setTextZoom(100);原创 2019-08-22 17:47:13 · 417 阅读 · 0 评论 -
解决 No Channel found for pkg=
下面这段代码是我的 通知代码,我主要的问题是之前用的废弃的方法不起作用了,NotificationCompat.Builder notificationbuilder = new NotificationCompat.Builder(getApplicationContext())现在修改如下Notification notification = new Notifica...原创 2019-05-10 11:17:54 · 4372 阅读 · 0 评论 -
解决recyclerview 第一次加载固定的item 不显示的问题
这个问题的原因是item的布局没有设置具体宽高,先指定宽高,如果还要再计算宽高可以在onbindView中再计算设置 ImageView img1 = holder.findViewById(R.id.img1); LinearLayout content= holder.findViewById(R.id.content); ...原创 2019-05-09 20:12:18 · 1268 阅读 · 0 评论 -
fragment的 onresume 和onhidden区别
如果是一个activity的多个fragment切换 只会调用 fragment的onhidden如果是多个activity之间的切换 只会调用fragment的onresume原创 2019-05-09 15:45:21 · 320 阅读 · 0 评论 -
解决 高德地图 重复定位出现 errorcode 10
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.amap.location"> <application android:allowBackup="true" android:label="@strin...原创 2018-11-03 13:18:42 · 2293 阅读 · 0 评论 -
tablayout viewpager 切换白屏的问题解决方案
具体代码就不贴了,我把遇到的问题说一下 我做了一个tablayout+viewpager联动的界面这个界面本身是个fragment,我在切换别的fragment之后再切换回来的时候 这个viewpager里面所有fragment都变成空白了,我说2个要注意的点,1.viewpager的adapter 在指定fragmentManager的时候需要填 getChildFragmentM...原创 2018-10-22 17:23:29 · 2138 阅读 · 0 评论 -
解决Duplicate files copied in APK
依赖里面的so文件 和我.gradle里面的so冲突,我删了.gradle也没用.解决方案:第一种方法去高德地图官网下载sdk 里面会有2个jar包用jar包形式依赖gradle里面的依赖注释掉OK了 还有一种升级版的方法 在app的 build.gradle中android 里面加入如下代码android{packagingOp...原创 2018-10-09 14:41:46 · 594 阅读 · 0 评论 -
ConstraintLayout学习小结
app:layout_constraintLeft_toLeftOfapp:layout_constraintLeft_toRightOf 我最左边的位置 在别人的右边 下面的意思类似app:layout_constraintRight_toRightOfapp:layout_constraintRight_toLeftOfapp:layout_constraintTop_toTo...原创 2018-09-13 11:21:11 · 219 阅读 · 0 评论