自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

原创 Glide报错:FileNotFoundException: XX open failed: EACCES (Permission denied)

targetVersion:33,Manifest已经申请了READ_MEDIA_IMAGES,WRITE_EXTERNA权限,代码里也动态申请了权限。如果用glide直接加载uri就没问题。Android13将READ_EXTERNAL_STORAGE和 WRITE_EXTERNAL_STORAGE权限细分为:READ_MEDIA_IMAGES、 READ_MEDIA_VIDEO和 READ_MEDIA_AUDIO。所以权限加上READ_MEDIA_IMAGES就没有问题了。

2024-03-20 15:11:07 240

原创 android studio 如何查找不同版本的包重复引用

3、点击gradle->app->Tasks->help->dependencies就可以看到app里面的包引用关系。1、首先要确保android studio->setting里面开启了build gradle task list。编译报错,原因是重复引用。但是代码全局搜索只发现一个地方引用了包。2、gradle列表里面要取消选中offline。

2022-12-14 10:55:43 617 1

原创 Android ⽂件系统 API

不会因为app删除而消失的,有特定目录这些目录都是以DIRECTORY开头的,例如:DIRECTORY_MUSIC , DIRECTORY_PICTURES。使用方法(1)使用方法(2)结果会是:sdcard/Pictures。

2022-12-13 10:22:40 341

原创 安卓开发中JNI,NDK,SDK,JDK的概念

SDK(oftware development kit):软件开发工具包,辅助开发某一类软件的相关文档、API必需资料、范例和工具的集合都可以叫做 "SDK"。NDK(native development kit):在android中,通过NDK使用JNI与本地代码(如c、c++)交互。JNI(java native interface):使得java与本地其他类型语言(如c、c++)交互的接口。JDK(java development kit):Java语言的软件开发工具包,即java开发使用的sdk。

2022-12-01 11:10:29 2049

原创 Android Studio Gradle相关

gradle是一个构建工具,理论上来说,它可以用来构建任何项目(如java项目,ios项目)。它可以与任何类型的IDE集成(如ecllipse,android studio),方便的帮我们将项目代码进行构建打包,是一个脚本工具。配置gradle version的地方在项目目录下的或者在->project menu里的gradle versionAndroid Gradle Plugin(简称AGP)是android基于gradle开发,整合了几项专门用于构建Android应用的功能。

2022-11-29 15:52:38 4540

原创 TabLayout使用反射更改下划线长度注意版本

api 28的Tablayout 的源码中,原来的mTabStrip和mTextView已经改名为slidingTabIndicator和textView。所以要使用反射获取texView属性改成这样写Field mTextViewField;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { mTextViewField = tabView.getClass().getDeclaredField("textView");}

2021-05-11 11:19:01 95

原创 NewbieGuide setBackgroundColor为transparent无效

公司的项目要做一个引导页,同事使用了NewbieGuide,测试人员发现背景不是半透明的,像是全黑的,把问题抛给了我。看了一下代码,问题大概是ui给的引导页图片是半透明带遮罩的效果,叠加了控件本身的半透明导致看起来像是全黑的。但是代码里面同事使用了setBackgroundColor(Color.TRANSPARENT),应该是想让控件的遮罩为透明,明显不起作用。我去github里看了一下...

2019-07-15 16:37:45 1175

原创 动态设置高德地图中心点(坐标点),始终位于屏幕中心

项目需求是做一个类似于滴滴的车辆救援,界面是地图上面再覆盖一部分表单。订单状态不同,表单里的信息不同,那么表单的高度就不同。因为界面都使用到了map,所以尽管订单有不同的状态,但是我都在一个界面做,通过状态变化来控制表单的显示状态。但是有一个问题是,不同的订单状态因为表单高度不同,导致地图的定位坐标点可能不在可视区域的中心。特别是我使用了bottomsheet来实现抽屉式表单,地图和表单肯定是有部...

2019-05-15 14:55:48 36068 3

原创 android 隐藏输入法

试过hideSoftInputFromWindow不起作用,只有toggleSoftInput其作用,但是这个方法是:输入法隐藏的时候显示,输入法显示的时候隐藏。我的应用场景是dialogFragment关闭的时候要把输入法隐藏,如果输入法本身就是隐藏状态,那么输入法会显示出来,这样是不对的。所以要加一个判断输入法是否是显示状态(参考https://www.jianshu.com/p/2bdb40...

2019-05-06 10:01:00 1968

原创 启动页与登录页的动画

想要实现的效果如图所示。可以划分为两个界面,启动页和登录页,动效是做在登录界面的,这样当用户登录的时候,就不会有整个动效出现。显示的界面其实是三个:1、启动APP时会显示一个临时窗口Starting Window,所以在启动app之后会看到一个window背景,这个背景会根据theme来显示是黑屏还是白屏。所以我们要给启动页设置android:windowBackground为启...

2019-05-05 14:10:37 1400

原创 android.os.BadParcelableException: ClassNotFoundException when unmarshalling报错

低端机上intent使用bundle传递parcelable对象,一直crash,报错android.os.BadParcelableException: ClassNotFoundException when unmarshalling只要将下面的写法Bundle bundle = new Bundle(); bundle.putParcelable(BUNDLE_L...

2019-04-26 14:18:10 1090

原创 BottomSheet的使用

一、需求产品需要实现地图上层放一个类似抽屉效果的表单,我想到可以用BottomSheet实现。BottomSheet有三种:BottomSheets,BottomSheetDialog,BottomSheetDialogFragment。而上面三种又可以分为两种:一种是没有蒙层的,可以对没有遮盖住的地方进行操作,如BottomSheets:它依赖于Coordinato...

2019-04-26 10:50:30 4033 1

原创 使用高德地图MapView

跳过导入高德地图,导入包,直接到使用一、在Activity中使用1、在布局中使用mapview<com.amap.api.maps.MapView android:id="@+id/amapView" android:layout_width="match_parent" android:layout_height="0dp" ...

2019-04-23 09:59:29 5257

原创 智能卡夹

一、需求:主要是对接第三方sdk将服务短信转为卡片并储存,所以需求是在收到短信的时候需要将短信传给第三方api。二、流程:1、数据存储在Application里就启动Service,并初始化第三方sdk。Service里注册ContentObserver,用来监听短信数据库变化,并读取短信cursor,将字段构造成sdk所需的entity并解析,将解析出来的结果存入智能卡夹intelcar...

2019-03-31 20:34:01 177

原创 对接移动Voip

对接移动实现voip前言利用系统dialer模块完成UI功能快捷键前言此博客只为记录自己工作思路,可能逻辑比较混乱,但是怕后面自己忘记项目过程中遇到的问题和解决思路,所以要先记下来,同时也便于自己梳理逻辑利用系统dialer模块完成UI因为移动的任务比较急,它的功能点包括拨号盘界面,联系人界面,通话记录界面等。如果全部自己做周期比较长,且遇到的问题也会比较多。在组长的指导下决定利用原生的d...

2019-03-26 00:27:51 1428

原创 NotificationListenerService失效的两种情况

1、在NotificationListenerService onCreate或Onbind过程中crash。2、被第三方软件杀掉或者service被系统杀掉.

2017-01-04 10:54:32 9473

原创 HTML的超链接标签

<body><a name="top" href="#bottom">底部</a><br/><a href="div.html">本文本</a>指向div页面<br/><a href="http://www.baidu.com">本文本</a>指向百度<br/><a href="http://www.baidu.com" target="_blank">本文本</a>通过新窗口打开百度<br

2016-04-27 16:25:45 1809

原创 VS2010中VB.NET中API函数的调用

API有两种调用方式:第一种使用declare的API调用,Declare Function publicname Lib "libname" [Alias "alias"]     [([[ByVal] variable [As type]     [,[ByVal] variable [As type]]...])] As Type 其中 function表示有返回值,也可

2015-12-20 14:29:41 4306

转载 VB.NET Declare语句

原文链接:http://www.educity.cn/develop/1403904.html本文向大家介绍VB.NET Declare语句,可能好多人还不了解VB.NET Declare语句,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。  要声明一个DLL过程,首先需要在代码窗口的"通用(General)"部分增加一个VB.NET Declare语句。如果该过程

2015-12-20 13:31:03 3689

原创 八数码宽度优先算法

相关代码要感谢网上的一些大神给予的分享、一、程序思路结构体map用来作为一个结点的数据结构。PrintMap用来打印一个结点MoveMap函数用来扩展一个结点的后继结点(上、下、左、右)RandomMap函数用来随机产生beginMapIsSuccess函数用来判断某节点是否为目标结点

2015-11-29 17:52:46 11346 1

转载 java

1.TreeSet原理:   /* * TreeSet存储对象的时候, 可以排序, 但是需要指定排序的算法 *  * Integer能排序(有默认顺序), String能排序(有默认顺序), 自定义的类存储的时候出现异常(没有顺序) *  * 如果想把自定义类的对象存入TreeSet进行排序, 那么必须实现Comparable接口 *   在类上implement Co

2015-06-25 01:27:23 390

转载 HashMap详解

java中HashMap详解     HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 Has

2015-06-25 01:21:47 319

转载 C++字符串转数字,数字转字符串

1. 字符串转数字  如将“32”转为32,将“3.1415”转为3.1415,将“567283”转为567283。使用://Convert string to integer, more @http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/int atoi ( const char * str );//Conve

2015-06-07 14:56:33 852

原创 Error Tips

1、指针要分配内存空间例:char*a=new char[4];//为指针a分配内存空间,否则运行会出现内存0x00....之类的错误2、不能将字符指针赋值给字符数组        例:char name[]="aa";                char* sname="bb";name=sname;//错误,数组名被看为常量,不能直接赋值,要使用Strcpy,而

2015-05-30 23:01:02 469

转载 vector

一、 resize和reserve  resize就是重新分配大小,reserve就是预留一定的空间。这两个接口即存在差别,也有共同点。下面就它们的细节进行分析。     为实现resize的语义,resize接口做了两个保证:            一是保证区间[0, new_size)范围内数据有效,如果下标index在此区间内,vector[indext]是合法的。     

2015-05-23 19:29:43 287

转载 java 中 null 与 空字符串""和string a的区别

问题一:null和""的区别String s=null;string.trim()就会抛出为空的exceptionString s="";string.trim()就不会抛,为什么?答:NULL代表声明了一个空对象,根本就不是一个字符串。""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。NULL代表声明了一个空对象,对空对象做任何操作都不行的

2015-03-29 15:48:13 590

压缩软件+排序程序+文档说明

南师大计科院的课程设计题,压缩软件和各种排序的程序(归并,快排……)和程序说明文档

2015-11-29

VB.NET资源管理器带图标+文档说明

VB.NET资源管理器+文档,使用SHGETFILEINFO等实现带图标的树形目录TreeView和ListView,同时可以实现点击ListView里面的文件可以打开进程

2015-11-29

程序员面试攻略

程序员面试攻略第2版帮助程序员更加了解市场需求,调整自身,一些经典问题的解答 让你面试更有自信

2015-05-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除