![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android终极面试篇之工资翻倍篇
不能停止前进
居安思危才能生存
展开
-
适配器模式在Android中的应用
通过Android中常用到的适配器模式来分析适配器模式的用法原创 2016-01-09 16:19:13 · 2229 阅读 · 0 评论 -
Application回收重启程序
背景: Android系统会自动回收退到后台的应用,我们可以运行一个后台Service,让我们的应用被回收的优先级变低,当时终归还是无法保证我们的进程被系统回收。当系统被回收之后,我们缓存的一些数据也会被回收,当再次进入Activity的时候很可能会出现NULL指针异常。我们可以将数据持久化到本地,然后恢复Activity的时候从本地获取我们需要的数据。 有一些我们继承的第三方的sdk,当进程被回收之后,需要重新进行初始化,并不是简单的恢复数据就能解决的,这个时候我们可以考虑在进程被回收之后原创 2017-04-25 14:12:47 · 1849 阅读 · 0 评论 -
Android权限管理
我们在开发中会遇到两个问题第一:当用户第一次使用权限的时候,比如语音录制,第三方弹出对话框,这个时候我们的语音到底有没有在录制,这个录制是否有效第二:当用户永久拒绝的时候,我们如何提醒用户权限已经被拒绝,保持和6.0的一致交互。原创 2017-04-21 16:12:23 · 876 阅读 · 0 评论 -
MVC模式中业务抽离的方法
导读:MVC模式的应用中,现在存在的一个普遍的问题就是用户图形界面GUI和业务逻辑的强耦合,导致在一个Activity中出现大量的业务代码,随着产品的迭代,Activity显得臃肿不堪,维护起来困难。本文将和大家分享如何将业务逻辑的代码从Activity中抽离,达到MVC模式的真正效果。原创 2016-04-28 15:31:51 · 2992 阅读 · 0 评论 -
如何对Android设备进行网络抓包
问题描述: 前段时间自己的app访问服务器的url总是会出现间接性失败的问题,于是和服务器的同事开了个会,提出了他们服务器存在的这个bug,我的同事自然说自己的服务器没问题,然后要我重现bug然后提供抓包给他分析。所以我自己去折腾了各种网络抓包的方法,下面介绍一种实际可行的对android设备抓包的方法。原创 2016-01-30 13:34:01 · 3687 阅读 · 0 评论 -
Handler.post执行时所在线程分析
问题描述:Android中Handler.post可以用来修改UI布局,handler.post(Runnable r)方法是将Runnable对象发送到主线程中执行,并且源码注释如下* Causes the Runnable r to be added to the message queue.* The runnable will be run on the thread to which this handler is * attached. 注释的意思是runnable会在handle原创 2016-01-29 16:35:48 · 5026 阅读 · 0 评论 -
抓包分析TCP的三次握手和四次握手
问题描述: 在上一遍对android设备的抓包中提到了,服务器的开发人员需要我bug重现然后提供抓包给他们分析,所以抓好包自己也试着分析了一下。发现里面全是一些TCP协议和HTTP协议。所以要想进行抓包分析,必须先了解TCP的原理。在这里通过网络抓包介绍了TCP的建立连接的三次握手和断开连接的四次握手。原创 2016-01-30 14:31:05 · 17291 阅读 · 0 评论 -
Handler详解
问题描述:利用Handler能够轻松的将任务发送到Handler所在的线程进行处理。Android中用到最多的是将在线程中访问网络获取到的数据通过Handler发送到UI线程进行UI操作。那么Handler的实现原理是什么呢。原创 2016-01-29 17:08:37 · 967 阅读 · 0 评论 -
Android View的事件分发机制
1 案例描述我们在开发中经常会遇到滑动冲突和点击冲突的情况,比如ScrollView和ListView的滑动冲突,listView中button点击事件和ListView本身的点击事件冲突等,这些问题都是开发中会经常遇到的,处理起来也比较棘手,下面我们来详细的分析View的事件分发机制,从原理上弄清楚到底是什么导致了冲突事件的发生。2 案例分析2.1 冲突事件重现比原创 2016-01-03 16:42:24 · 1272 阅读 · 0 评论 -
工厂方法模式(factory method)
试想一下这样的场景,假如代码中用new创建一个类创建了20次,也就是说new了20次,突然有一天发现这个类的构造方法需要改变,里面需要新加一个参数,这个时候,就需要去找到这20个new的地方,然后分别更改,工厂模式就能解决这个问题。只需要更改factory中的创建方法就可以同时修改任意地方创建出的类。这只是一种场景,另一种场景,假如我们new一个对象的时候需要进行一些判断,比如原创 2016-01-02 21:36:38 · 513 阅读 · 0 评论 -
通过Observer(观察者模式)来看Android的MVC
android中运用最多的observer模式就是listener的使用比如一个activity中点击button响应onClick事件View就是一个被观察者(observable)这个View里面一定有一个onClickListener观察者,activity中调用的view.setOnClickListener(this)就是对监听器观察者的初始化,将观察者添加到被观察者中。原创 2016-01-02 23:00:38 · 1063 阅读 · 0 评论 -
webview js注入提取html内容
需求:加载第三方的web链接时,他们的错误直接抛出在webView显示,所以我们需要抓取到webview中的html内容,然后解析出里面的错误日志,通过dialog弹出给用户。方案:1、通过HttpPost接口访问url拿到里面的错误日志,然后弹出,没有错误日志的时候,webview加载url,该方案需要额外多访问一次url,并且需要拦击到该url,如果是通过js表单的形式提交的url,web原创 2018-01-24 15:47:08 · 2281 阅读 · 0 评论