不使用MANAGE_EXTERNAL_STORAGE权限,适配Android11保存图片和分享图片 一、其实Android11(targetSdkVersion 30)及以上在AndroidManifest.xml声明MANAGE_EXTERNAL_STORAGE权限(不在AndroidManifest.xml声明获得“所有文件访问权限”按钮为灰色不能授权)在加上下面的判断就能基本解决问题: //获取存储权限 private void getPermissions() {// 普通权限:只需要在清单文件中注册即可// 危险权限(Android 6.0 之
Android 11(targetSdkVersion 30)不能获得存储权限的问题和适配指南 虽然原文说的比较详细了,但我补充一两点,也为了方便自己总结和避坑。Android权限大致可分为三类:普通权限:只需要在清单文件中注册即可危险权限:需要在代码中动态申请,以弹系统 Dialog 的形式进行请求特殊权限:需要在代码中动态申请,以跳到系统 Activity 的形式进行请求下图是跳到系统 Activity 同意权限;测试也需要在清单文件中注册相关权限,不注册就如下图一样授权按钮为灰色,不能去授权而我们今天要讲的主题,是关于存储权限,在 Android 6.0 之后就变成了危险权
Databinding之 Cannot access class ‘xxxViewModel‘. Check your module clas 1.当我在MVVM模式下,使用Databinding使出现以下问题:Cannot access class 'xxxViewModel'. Check your module classpath for missing or conflicting dependenciesType mismatch: inferred type is xxxViewModel? but xxxViewModel? was expected2.当时的Package:3. 注意到没有ItemE...
TargetSdkVersion改为30后在Android版本为12的GOOGLE手机上判断是否安装第三方APP出现判断异常 1.判断手机是否安装第三方APP的代码://通过包名断是否安装了该程序public static boolean isAPPInstalled(Context context, String packageName) { PackageManager pm = context.getPackageManager();//获取packagemanager List<PackageInfo> pInfo = pm.getInstalledPackages(0);//获取所有已
MVVM与DataBinding简单使用 MVVM与DataBinding简单案例一、MVVM1.MVVM是什么MVVM(Model–View–Viewmodel)是一种软件架构模式。M----->Model层:请求的原始数据V----->View层:视图展示,由ViewController来控制VM---->ViewModel层:负责业务处理和数据转化MVVM与MVC的不同首先我们简化一下MVC的架构模式图:在这里,Contr...
OKHttp-轻量的 Java 网络请求框架 OKHttp-轻量的 Java 网络请求框架1.OkHttp介绍OkHttp是一个优秀的网络请求框架,可能一说到网络请求框架,可能很多人都会想到volley,volley是一个Google提供的网络请求框架,我的博客里也有一篇专门介绍volley的博客,博客地址在此Android网络请求 ------ Volley的使用 那么既然Google提供了网络请求的框架,我们为什么还要使用OkHttp呢,原来是volley是要依靠HttpCient...
DataBinding初步了解和简单使用 DataBinding一.DataBinding1.DataBinding是什么DataBinding 名为数据绑定,帮我们实现 view 和 data 绑定的工具,把数据映射到 view 的 xml中,可以在 xml 布局文件中实现 view 的赋值、方法的调用。使用 DataBinding 后,我们不用再写 findViewById,不用再获取控件对象,不用再设置监听,可以节省我们 activity 中...
Android应用内打开.docx/.pdf/.xlsx/.txt等文档——腾讯TBS Android应用内打开.docx/.pdf/.xlsx/.txt等文档-腾讯TBS1.功能借鉴:https://blog.csdn.net/xch_yang/article/details/80989631下说明并结合官网集成文档2.先上传效果图片:2.在应用的libs中添加sdk:或是是直接在应用的build.gradle中添加:api 'com.tencent.tbs.tbssdk:sdk:43903'3.添加s...
解决明明拥有了存储空间的权限还是提示没有权限不能读取文件的问题 Android开发的应用遇到把图片保存到本地,明明已经给了权限,前几天保存都没问题,应用权限管理里面也显示已经允许存储空间了,但为啥还提示没有存储空间的权限,保存图片失败呢?原来是系统升级到了android10(Android 10及以上系统)了,在application添加android:requestLegacyExternalStorage="true"就可以解决这个问题了...
TextView通过获得dimens.xml中定义的大小来动态设置字体大小 Android动态设置字体大小结论:Android中并不提供直接从dimens.xml获取dp/sp数值的方法,通过getDimensionPixelSize() getDimension() getDimensionPixelOffset()获取的值是经过处理的。所以正确地动态设置TextView字体大小的姿势应该是:int dimen ...
跑马灯、字体闪烁、跳动和抖动动画 跑马灯,字体跳动和抖动动画一.主要是记录我查找资料和研究的字体跳动和抖动动画,废话少说,直接干;1.主界面代码public class MainActivity extends AppCompatActivity { private JumpingBeans jumpingBeans1, jumpingB...
解决ScrollView嵌套RecyclerView出现item显示不全的问题 问题:ScrollView嵌套RecyclerView时,RecyclerView的item显示不全出现问题不要慌,耐心解决才是王道,哈哈。首先说下出现这个问题的情景吧,首先声明这个问题在23版本以上出现的,23版本是android 6.0版本,是的当我们targetSdkVersion=23的时候(也就是我们兼容到23版本)是没有问题的,一但兼容到23版本以上就会出现这个问题,这个坑也是第一...
Gradle3.2.1的一些问题 Gradle3.2.1的一些问题问题1:在String中设置空格,一个汉字宽度的空格(&#12288;和&#160;&#160;&#8201;)都没有显示一个汉字的空格,并且不管设置多少空格都只显示一个空格;解决方法:Gradle3.2.1降级处理;高版本兼容低版本,...
万能适配器写法 万能适配器写法写这个主要是记录如果在一个界面中加载(切换)十多种不同的布局,如果使用十多个适配器的话就太臃肿和麻烦:如下面的选择切换(每个Item布局都是不一样的):一、适配器代码public abstract class StickyListAdapter<...