Android

Android 7.0使用FileProvider解决file:// URI引起的FileUriExposedException异常

Android 7.0使用FileProvider解决file:// URI引起的FileUriExposedException异常

现象描述 Android 7.0以前的版本 Uri photoUri = Uri.fromFile(tempFile); Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra(

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android中OKHttp保存Cookie并传入WebView

Android中OKHttp保存Cookie并传入WebView

Cookie是服务器为客户端分配的一个键值对的表,和Session不同的是Cookie存储在客户端。服务器通过Response.addCookie()为客户端添加Cookie数据,再从Request.getCookie()中获取数据。 在Android开发中,有时我们需要调用HTTP的接口登录帐号,

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android中DexClassLoader和PathClassLoader的区别

Android中DexClassLoader和PathClassLoader的区别

在使用Java虚拟机时,我们经常自定义继承自ClassLoader的类加载器。然后通过defineClass方法来从一个二进制流中加载Class。而在Android中我们无法这么使用,Android中ClassLoader的defineClass方法具体是调用VMClassLoader的define

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android原生WebView截图(支持缩放)

Android原生WebView截图(支持缩放)

Android原生WebView截图,支持Android 5.0及以上,支持缩放 /** * 缩放图 * @param context * @param webView */ public static void captureScaleWebViewLollipop(final Cont

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android原生WebView截图

Android原生WebView截图

Android原生WebView截图,以Android 5.0为版本分界线,截图采用不同的处理方式。 初始化WebView自适应显示 /** * 自适应 * @param webView */ public static void initWebViewWithOverview(WebVie

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android照片获取框架TakePhoto使用流程

Android照片获取框架TakePhoto使用流程

GitHub:https://github.com/crazycodeboy/TakePhoto 发起TakePhoto //多图 takePhoto.onPickMultiple(limit); takePhoto.onPickMultipleWithCrop(limit, getCropOpt

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android中ViewPager+Fragment禁止预加载问题

Android中ViewPager+Fragment禁止预加载问题

使用ViewPager+Fragment组合加载数据,由于ViewPager的内部机制所限制,会默认至少预加载一个。但有时我们必须禁止预加载,比如第1个和第2个页面可以任意浏览,第3个页面需要登录才能浏览,此时会导致在切换到第2个页面时,便跳转到登录页面。 ViewPager.setOffscree

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android EditText添加android:imeOptions=”actionSearch”设置弹出的键盘中带有搜索按钮

Android EditText添加android:imeOptions=”actionSearch”设置弹出的键盘中带有搜索按钮

XML布局 android:imeOptions="actionSearch" android:singleLine="true" //必需,否则设置actionSearch不生效 <me.yezhou.lib.ui_widget.common.Th

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Multiple dex files define解决记录

Multiple dex files define解决记录

引用多个library时经常会遇到Multiple dex files define错误 Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.trans

Joe.Ye Joe.Ye 2023-03-11
0 0 0
解决OKHttp报java.lang.IllegalStateException closed

解决OKHttp报java.lang.IllegalStateException closed

原因:OkHttp请求回调中response.body().string()只能有效调用一次 在调用response.body().string()方法之后,response中的流就会被关闭,如果我们需要创建出一个新的response给应用层处理。 @Override public Respons

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android组件化开发之动态权限请求封装

Android组件化开发之动态权限请求封装

Dexter Github:https://github.com/Karumi/Dexter 依赖引用 implementation 'com.karumi:dexter:5.0.0' 封装调用 DexterPermissionHelper.requestPermissions

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android Gradle构建常见问题

Android Gradle构建常见问题

ButterKnife attribute value must be constant 在Project级的build.gradle中 buildscript { repositories { google() jcenter() mave

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android布局UI优化

Android布局UI优化

卡顿罪魁祸首 UI卡顿就是Android在界面渲染时丢帧。 Android系统要求每一帧都要在 16ms 内绘制完成,在这个时间内界面就是流畅的(能够达到流畅的画面所需要的60fps) 丢帧的各种原因: layout 太过复杂,层次过多,UI 上有层叠太多的绘制单元,过度绘制 CPU 或者 GP

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android ANR超时时间的定义

Android ANR超时时间的定义

ANR超时时间在ActivityManagerService.java文件中进行了定义 Broadcast超时时间为10秒 // How long we allow a receiver to run before giving up on it. static final int BROADCA

Joe.Ye Joe.Ye 2023-03-11
0 0 0
Android使用Parcelable序列化复杂数据结构

Android使用Parcelable序列化复杂数据结构

Android序列化方案Parcelable,相比Serializable更快,效率更高,占用内存更少。 Boolean类型 //write dest.writeByte((byte) (isDefault ? 1: 0)); //read isDefault = source.readByte

Joe.Ye Joe.Ye 2023-03-11
0 0 0
1 12 13 14 15 16 27