- 博客(17)
- 收藏
- 关注
转载 Java迭代器Iterator令人迷惑的方法名 hasNext(),next()解析
Java迭代器Iterator令人迷惑的方法名 hasNext(),next()解析推荐,文章很清晰,再也不会迷惑啦:https://blog.youkuaiyun.com/weixin_44062380/article/details/107179698点击查看
2022-03-15 15:11:53
643
原创 view设置进出场动画
进场动画<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:duration="300" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXD
2022-01-18 13:35:50
806
原创 Android最强工具类库,很全面很强大
Android最强工具类库,很全面很强大github地址:https://github.com/Blankj/AndroidUtilCode使用可参考:https://blog.youkuaiyun.com/dodod2012/article/details/86678097?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.no_search_link&spm=1001.2
2021-11-05 16:57:12
2547
原创 list的迭代器遍历时修改数据真的会导致异常吗?
刚学习java时就被告知使用迭代器遍历list时不要做修改操作,否则会异常:ConcurrentModificationException但经过源码解读发现该异常的出现全部都是由于一个变量modCount的值改变导致的:protected transient int modCount = 0;if (modCount != expectedModCount) { throw new ConcurrentModificationException(); }而
2021-10-18 01:51:01
721
原创 打开另一个APP工具类
从一个APP打开另一个APP的工具类,直接上代码:public class OpenAPPUtil { public static void OpenApp(Context context, String packname) { PackageManager packageManager = context.getPackageManager(); if (checkPackInfo(context, packname)) { Intent
2021-10-17 23:42:55
584
原创 AndroidManifest 中标签permission使用探索
配置文件中通常使用uses-permission标签来为APP声明权限,但是permission标签的使用一直以来都很模糊,主要是从来没用过,这次准备面试无意中升起关于permission的疑问就顺便试验了一番,有点效果,不足之处还望各方大佬多多指点。permission标签是我们为自己的APP声明的自定义权限,如下声明在manifest节点下 <permission android:name="com.zzs.test" android:description="
2021-10-17 23:39:41
2060
原创 Android 服务(Service)详解
总结学习类文章service(服务)是安卓中的四大组件之一,它通常用作在后台处理耗时的逻辑,与Activity一样,它存在自己的生命周期,也需要在AndroidManifest.xml配置相关信息。服务(Service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行。不过需要注意的是,服务并不是运行在一个独立的进程当中的,而是依赖
2021-10-16 03:53:26
15731
转载 runOnUiThread()详解
在Android开发的过程中,主线程主要来完成UI绘制和响应用户的操作,默认情况下,我们大部分的代码都是在主线程中执行的,因此我们时刻要考虑主线程的情况。我们都知道要开启一个子线程来完成一个耗时操作,以避免阻塞主线程影响用户体验,甚至ANR。但是子线程执行完要更新UI的时候,我们又必须回到主线程来更新,实现这一功能常用的方法是执行Activity的runOnUiThread()方法:runOnUiThread(new Runnable() {void run() {// do something
2021-10-16 02:33:19
10491
转载 Activity的生命周期详解(转载文章)
学习总结之用,上图Activity作为四大组件之一,出现的频率相当高,基本上我们在android的各个地方都能看见它的踪影,因此深入了解Activity,对于开发高质量应用程序是很有帮助的。今天我们就来详细地聊聊Activity的生命周期,以便我们在以后的开发中能如鱼得水。一、初识Activity 在日常应用中Activity是与用户交互的接口,它提供了一个用户完成相关操作的窗口。当我们在开发中创建Activity后,通过调用setContentView(View)方法来给该Activity指定一
2021-10-16 01:33:25
2560
转载 View.post()详解 转载大神的文章 很精彩
前言在Android里,获取View宽高的时机是个老生常谈的话题了。众所周知,在Oncreate里直接调用View.getWidth或者View.getMeasuredWidth返回都是0。所以获取宽高时机很重要,对于这个问题的解决方法概括起来有四种之多,具体可以看看任玉刚老师的《Android开发艺术探索》中的View章节或者网上也有非常丰富的资料。而本文主要讨论的是其中的一个解决方法。View.post()获取View宽高这个方法相信大家都很熟悉了,就是这样:@Overrideprotect
2021-10-16 01:11:02
2064
原创 java中的单例模式详解
准备换工作面试时,被问到了,突然卡壳,羞愧的无地自容,老程序员的我懵逼了。什么是单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例为什么要用单例:单例模式解决了类实例生成个数的问题,2.1:对于频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销;2.2:由于new操作的次数减少,所以系统内存的使用评率也会降低,这将减少GC压力,缩短GC停顿时间。2.3:解决多线程并发访问问题为什么不用静态:一个全局的静态变量并不
2021-10-16 00:05:54
184
原创 Android Studio无故爆红处理
Android Studio无故爆红处工作中Android Studio遇到爆红但又可以打包运行的情况,还有编译非常耗时间,代码确认没有问题,很恼火(此次遇到的情景是ShareSDK爆红,但之前一行代码都没动,之前编译耗时间且容易编译失败的情况也有过)。可以试下清除缓存的方法处理:根据查到的资料解释,这是清理Android studio缓存的操作,可以处理一些编译中出现的问题。...
2021-09-09 09:56:28
1554
原创 签名打包时报错:Execution failed for task ‘:app:lintVitalRelease‘.
签名打包时报错:Execution failed for task ‘:app:lintVitalRelease’. 签名打包时莫名遇到这个错误,赶时间百度解决,但到现在仍然不知所以,如有哪位大佬路过 望请教解决方案:在app的gradle的android标签下添加如下代码即可解决:lintOptions { checkReleaseBuilds false abortOnError false }...
2021-09-01 18:32:20
895
1
原创 Android中TextView设定限制字数详解
项目场景:recyclerview列表中标题文字来自网络,长短不受控制,为方便展示且不影响其他控件需要限制TextView显示的字数或者说宽度,超出部分…问题描述:之前设定时直接就是如下设置:android:ellipsize=“end”android:maxEms=“10”android:maxLines=“1”但事后检查却发现字符的数目根本就对不上(原以为maxEms控制的是字符数量),严重影响了布局。原因分析:解决问题最重要,排除网上一堆复制水贴后发现干货,maxEms控制的居然是字
2021-08-31 03:30:19
3779
1
原创 Android中倒计时跳转的两种实现方式
Android中倒计时跳转的两种实现方式`Handler().postDelayed方式设定延时操作 new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(getApplicationContext(), MainActivity.class);
2021-08-29 17:28:36
966
原创 RecyclerView设置每个页面出现指定数量的子item,并填充高度
Android 显示实时系统时间接到需求 要求视频列表页面内出现固定数量的N个(需求中是3个)视频,无论手机型号大小。实现这一需求需要在RecyclerView的Adapter中指定出现的viewHolder数量,并设置每个viewHolder所占据的高度,看代码: @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View inflate = Lay
2021-07-23 14:28:28
1024
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人