- 博客(14)
- 收藏
- 关注
原创 程序员Android安卓面试精品(走心)
我现在是找完工作了,前几天总结一下走过的路程了,做了一个梳理,接下里我就用20分钟左右的时间,和大家分享一下,希望能给你们一点指引和总结,也希望能使大家少走点弯路 , 如果能耐心听完,相信你会找到你需要的东西。 我先说一下我本人的情况,是南京理工大学计算机科学与技术学院计科专业大四的一位无名之辈,我们年级大佬真的是很多的。当然我也得感谢他们,不仅帮助我很多,也促进了我一步步的成长。从大一到...
2018-12-21 13:26:01
347
转载 Android缓存机制详解
一、Android中的缓存策略一般来说,缓存策略主要包含缓存的添加、获取和删除这三类操作。如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓存,它们的缓存大小都是有限的。当缓存满了之后,再想其添加缓存,这个时候就需要删除一些旧的缓存并添加新的缓存。因此LRU(Least Recently Used)缓存算法便应运而生,LRU是近期最少使用的算法,它的核心思...
2018-05-06 19:46:12
1514
原创 ListView源码分析
在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,List...
2018-05-06 19:41:33
202
原创 Activity启动模式及应用场景
在实际项目中,我们应该根据特定的需求为每个活动指定恰当的启动模式。启动模式一共有四种,分别是standard、singleTop、singleTash和singleInstance。可以在AndroidManifest.xml中通过给<activity>标签指定android:lanchMode属性来选择启动模式,下面我们逐个学习。1.standard这是活动默认的启动模式,在不进行显...
2018-05-05 23:57:09
351
1
转载 粗暴快速Android全屏幕适配方案
一、现状由于Android碎片化严重,屏幕适配一直是开发中较为头疼的问题。面对市面上五花八门的屏幕大小与分辨率,Android基于dp与res目录名称来适配的方案已无法满足一次编写全屏幕适配的需求,为了达到最优的视觉效果,开发过程中总是需要花费较多资源进行适配。也有开发者给出了一些自己的解决方案。首先来分析一下一些常见的解决方案的现状:1.官方适配方案 dp。dp是Android开发中特有的一个...
2018-05-05 23:36:11
228
原创 fragment和activity通信
FragmentManager提供了一个类似于findViewById()的方法,专门用于从布局文件中获取碎片的实例,代码如下RightFragment rightFragment=(RightFragment)getSupportFragmentManager().findFragmentById(R.id.right_fragment)调用FragmentManager的findFragmen...
2018-05-04 21:02:40
572
转载 RxJava 详解
前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJav...
2018-05-03 22:33:40
104
原创 Incompatible HAX module version 3,requires minimum version 4AS虚拟器打不开
Android更新到3.0之后,虚拟器打不开,是版本问题Incompatible HAX module version 3,requires minimum version 4 异常信息,我是直接更新了intel的HAXM,安装了最新版本的就解决了问题,最新版本链接:https://software.intel.com/en-us/articles/intel-hardware-accelera...
2018-05-03 22:31:18
600
原创 Android滑动菜单简单实现
所谓的滑动菜单就是将一些菜单选项隐藏起来,而不是放置在主屏幕上,然后可以通过滑动的方式将菜单显示出来。如果全靠自己实现的话会非常的困难,幸运的是,谷歌提供了一个DrawerLayout控件假设我们要实现这样一个功能,点击一个导航按钮,展示滑动菜单<android.support.v4.widget.DrawerLayout android:layout_width="matc...
2018-05-03 22:29:41
1836
原创 activity生命周期一看就懂
Acitvity类中定义了7个回调的方法,覆盖了活动生命周期的每一个环节,下面来一一介绍1.onCreate() 每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用,你应该在这个方法中完成活动的初始化操作,比如加载布局、绑定事件2.onStart() 这个方法在活动由不可见变为可见的时候调用3.onResume()这个方法在活动准备好和用户进行交互的时候调用,此时的活动一定位于返回...
2018-05-03 19:52:20
162
转载 滑动冲突完美解决方案
外部拦截法情景:一个ViewPager嵌套了一个Listview,一个是左右滑动,一个上下滑动。这个时候我们可以用外部拦截法,来处理冲突。在父容器ViewPager中,重写onInterceptTouchEvent()方法,判断当左右滑动时就拦截事件,上下滑动就不拦截,将事件交由子元素Listview来处理。首先我们需要重写一个ViewPager,叫MyViewPager,然后重写onInterc...
2018-05-03 19:31:06
254
原创 点击app图标启动过程
1.点击桌面app图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求;2.system_server进程收到请求后,向zygote进程发送创建进程的请求(zygote进程是Android系统的第一个进程,zygote意为受精卵,所有进程都是由它孵化而来)3.zygote进程fork出新的子进程,即App进程;4.App进程,通过Bi...
2018-05-01 12:24:59
1410
原创 AIDL讲解——深度剖析
第一次接触aidl的时候,就感觉这个很难,对于我一个Android小白来说,理解他的原理也没什么必要,觉得会用就行。其实一步步看,也是蛮简单的。aidl的使用最常见的aidl的使用就是Service的跨进程通信了,那么我们就写一个Activity和Service的跨进程通信吧。首先,我们就在AS里面新建一个aidl文件(ps:现在AS建aidl不要求和java包名相同了):interface IM...
2018-05-01 00:15:07
273
原创 LitePal操作数据库详解
1. LitePal简介LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用的一些数据库功能进行了封装,是的不用编写一行SQL语句就可以完成各种建表和增删改查的操作。2.LitePal的配置第一步就是编辑app/build.gradle文件,在dependencies闭包中添加如下内容compile'org.litepal.android...
2018-04-30 21:03:12
491
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人