Android Kotlin 学习总结(一) 《KAE 优缺点并且深入字节码分析工作原理》 本章会分为以下内容:1.Kotlin KAE介绍,使用和原始Android findViewById对比优缺点2.Kotlin KAE所存在的问题3.通过字节码分析他的实现原理阅读本章内容大概需要您5分钟的时间 一、Kotlin KAE介绍,使用和原始Android findViewById对比优缺点说起Koltin大家可能不陌生,Android的小伙伴,谷歌Andro...
[踩坑记录]一行代码搞定RecyclerView 中CheckBox 重新绘制导致的数据混乱 今天项目开发的时候,做类似于优惠券的功能,点击优惠券,底部会弹出一个Dialog,Dialog里面有一个RecyclerView,每个优惠券都会有一个CheckBox,可以多选,天真的我心想这有啥难得一会搞定!,结果咧,数据混乱的问题搞得我头疼。 点击第一个,可能每隔几个就会重复第一个一样的数据,而回滚到第一个的时候,数据又没了。。 这让我很差异,我的第一反应就是RecyclerVie...
Android drawable resource file,圆角,渐变,自定义Switch,从未如此简单! 在日常开发中,我们都知道drawable文件夹可以放图片的用处,可是它更为强大的用法是什么呢,比如说你需要做圆角背景,圆角摁扭? 渐变背景?类似IOS的Switch?当你无从下手的时候,drawable中的drawable resource file可以轻松帮你解决这些问题! 我们先在drawable中创建一个drawable resource file,我们会看到如下,...
Android实习第一周总结,浅谈工作与学校的区别,以及工作心得,学习到的东西。 前言: 从今年的6月开始对自己的未来迷茫,自己在大学自学Android一年了,在校期间做过一些小项目,在工作之前,我可能跟别人很自豪的说我做的项目是个大项目,但是在正式工作,接触到真正的上线项目之后,我现在只能说之前在校做的项目只能算是个demo ┭┮﹏┭┮ 6月迷茫的时候,海投简历,不夸张的说我投了大概500多份简历,4个APP,一样的公司也投,以为...
我的大三一年职业规划,预期毕业目标 为什么我要对自己做一个短期规划? 因为我现在处于一个分岔路口的阶段,很迷茫,需要找到一个方向来约束自己,让自己更优秀,并且发现自己的缺点以及潜在的优点,使自己不再那么迷茫,并且变得优秀。 在做这个规划的时候,我觉得我应该对自己有一个了解,优点在哪里,缺点在哪里,该怎么发展,如何发展,以及毕业时候的技能目标,毕业后进入IT发达的城市后,怎么才能在无数个应届毕...
自定义View 仿闲鱼底部圆形摁扭,已开源(暂无动画) 前言:学了两天自定义View兴致比较高,之前学习都比较片面,这几天学习的比较系统,也明白了很多东西例如自定义View的整体流程,自定义View要是用的一些类 ,比如Paint呀,TypedArray呀,MeasureSpec等等,都有了个初步了解,后续我也会在工作中通过文档补充更详细的知识点,为了巩固知识,就做了个闲鱼底部的菜单栏,突然就发现这种菜单栏也是越来越流行了呀,就做了一个,下面就是整体流...
简单使用Animator打造一个平滑的转场特效(开源) 废话不多说,先放效果图 下面就进入正文了,为什么要做这么一个动画呢,当然是为了让用户更舒服的享受APP(装逼)咯,再说说用处吧,比如说RecyclerView的Item点击后,可以使用这个转场动画来过渡,达到更佳的效果,说到这里是不是有点小心动呢,那么到底是怎么实现的呢,其实不难,这里就只用一个Anima...
Kotlin+DataBinding:入门篇(DataBinding的安装以及运行你的第一个demo) 前言:前几天导师叫我去学DataBinding,正好赶上这几天把以前放弃的Kotlin重新拾起(Kotlin的春天要来了?),所以就想到用Kotlin上使用DataBinding,前期踩了好多的坑(下面我会列出我踩到的坑,并提供解决办法),然后去看了点视频,学习了一些入门的使用,DataBinding相比Kotlin-android-extensions 来说,优点更多,在我理解,将它俩结合来用,...
[总结]手动实现一个Binder来实现跨进程通讯 今天在学习任主席的Android艺术开发探索时学习到了Binder,特此在本文中做一下对于Binder的总结。首先我们为什么会使用Binder呢?在Android系统当中,进程与进程是不可以进行直接访问的,这保证了Android进程的独立性(比如一个APP崩掉了,不会导致所有APP崩掉),同时也保证了Android进程的安全性。但是Andorid系统进程间不可以直接进行通讯,那么我们要如何实现通讯...
[随记] 注释//TODO的作用 今天在学习Binder中,看到了书中待实现类使用了伪代码,我已开始并没有留意这个,我也照着书上写那里的伪代码,我发现书中的//TODO 在Android Studio中变成了高亮,而一般注释并没有这种情况,此时比较好奇就去百度了一下,发现了//TODO的作用,所以才在有了这篇博文来记录一下。首先写法//TODO 或者//todo 都可以,后面加上要注释的内容,比如说如下:其次讲一下TODO的作用,...
合法括号匹配问题(深度,方案个数)已AC 合法括号满足的条件为左边第一个括号必须为( 其次满足(个数等于)个数,这样称为合法括号例如:() ((())) (()())了解了合法括号之后,先来看第一个 合法括号的深度问题例题1对于一个合法的括号序列我们又有以下定义它的深度:1、空串""的深度是02、如果字符串"X"的深度是x,字符串"Y"的深度是y,那么字符串"XY"的深度为max(x,y) 3、如果"X"的深度是x,那么字符串".
网易2019年实习生笔试题合集《牛牛找工作》 未ac(超时) 笔记 时间限制:2秒空间限制:65536K为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工...
【复习】Android四大组件之 BroadCast -- 广播 本文为我复习时的笔记一、广播 1.广播定义 在Android中,BroadCast是一种广泛运用在应用程序之间传输信息的机制,Android中我们要发送的广播内容是一个Intent 这个Intent中可以携带我们要传送的数据。 广播实现了不同程序之间的数据传输与共享。 2.广播场景 A.同一个app具有多个进程的不同组件之间的消息通信 B.不同的app之间的组件...
【复习】 排序之插入排序 插入排序是稳定的排序算法。插入排序有点类似与抓扑克牌,比如在玩斗地主,你在玩手机,然后将牌背面朝上一个一个的叠起来,抓完牌,手机放下了,这时就要一张一张的往手上递牌,然后会以第一张为基准,然后大于第一张就插左边,小于就插右边,插排也是这样的。遍历数组list,让基数为list[i] 然后如果找到比这个基数大的,则调换位置 如果没找到,就继续往右遍历 ,反复如此代码如下: public void C...
【复习】冒泡排序 ,快速排序。 冒泡排序每一次循环都是将最大的放在最右边直到循环结束,数组就会变成有序的了具体实现是使用了两个for循环,第一个for循环选定每一个位置的数字,第二个for循环将每一个位置的数字与它后一位的数字进行对比,如果前一位大于后一位,就交换位置。这样就把大的放在了后面,实现如下。 public void Maopao(int [] list){ for (int i = 0; i <...
[复习]Android四大组件之一 Activity Activity 是Android四大组件其中之一,我理解为他是应用和用户交互的窗口,可以跟用户进行交互。Activity是存储在栈中的,可以理解为Activity在栈中,可以调用startActivity方法将Activity放入栈顶,栈顶的Activity是用户所能看到的Activity。Activity粗略的分为3中状态, 创建 → 运行 → 销毁 ,细分分为7种,官方叫做 Activity...
通过自定义ImageView和实现OnTouchListener 来实现图片的手势滑动和缩放功能 本文会使用到的类 : PointF ,Matrix 以及 MutionEvent 。下面就来介绍一下这几个类在本文中的作用PointF :顾名思义 Point就是点的意思 ,F则是Float ,所以这个类实现了一个以Float为单位的一个点的功能。参数为x和y轴的坐标。实现方法:PointF point = new PointF(0.2f,0.2f);Matrix:这个类表示的是一个3x3的矩阵,...
给RecyclerView添加item的点击事件(笔记) 在做小项目的时候练习了使用RxAndroid + Retrofit + Gson进行网络的获取并使用RecyclerView进行展示,但是现在突然发现,光光单纯的展示还不够好,如果用户想要看大图怎么办呢(美女图片的Json (*^▽^*)),想到可以为RecyclerView的item设置一个点击事件,然后使用自定义的Dialog进行放大的详细查看,这样用户体验更佳,当我进入Adapter的时候,...
Java线程池的四种实现方法及实现原理及分析。 在阅读了《Android开发进阶,从小工到专家》的3.2.4.0~3.2.2.0 内容后启发很大,所以写了一篇博客总结一下关于线程池的部分内容。 0.首先什么是线程池?线程池就是创建多个线程并且进行管理的容器。(线程池是个容器,可以创建线程和管理线程,并且给线程分配任务)1.为什么要用线程池呢?我们都知道,在Java中创建一个线程其实是一个很简单的事情,只要new Thread就可以了,但是这样做...
剑指offer第12题 输出一个数的整数次幂 时间限制:1秒 空间限制:32768K 热度指数:208968题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。这道题主要考查我们对于doble和int类型的熟练度,还有当用例为负数的时候,我们该怎么做。解题的思路如下:1.创建for循环,进行用例的绝对值次循环,每一次都将做 乘自己的运算(*=)2.判断用例正负,如果是负,就将1...