- 博客(18)
- 资源 (10)
- 收藏
- 关注
原创 service息屏保活 和 service的相关使用简介
1.各种点击情况前提:mainactivity.java private ServiceConnection connection = new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) {
2018-03-31 17:43:56 1161
原创 startService stopService bindService unbindService各种点击情况汇总
各种点击情况前提:mainactivity.java private ServiceConnection connection = new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) {
2018-03-31 13:35:48 1845
原创 ContentProvider的getType()的作用
1. MIME类型有什么用那现在看看在android中,MIME类型是用来干什么的呢?首先,MIME类型主要是Activity的Intent-filter的data域;比如下面这个Activity: [html] view plain copy android:name=".SecondActivity" android:label="@string/titl
2018-03-30 15:49:06 3380 2
转载 如何成为一个大牛
Do more: 做的更多, 拓展周边业务熟悉更多业务熟悉端到端自学Do better:你负责的系统和业务,总有不合理和可以改进的地方重复代码太多,是否可以引入设计模式?系统性能一般,可否进行优化?目前是单机,如果做成双机是否更好?版本开发质量不高,是否引入高效的单元测试和集成测试方案?目前的系统太庞大,是否可以通过重构和解耦改为3个系统?阿里中间件有一
2018-03-30 13:19:59 193
转载 App的启动和跳转与binder的关系
点击桌面图标. Launcher和要启动的app是两个不同的App, 他们之间的通讯是通过ActivityServiceManager完成的.整体流程:(1)点击相应图标之后, Launcher通知AMS要启动哪个app. 而且指定要启动MyApp的哪个界面.action = “android.intent.action.MAIN”category = “android.inten
2018-03-29 13:23:45 463
原创 AIDL原理和调用
1.用法(1)服务端声明和创建<!--exported:允许外界访问该服务,AIDL必备条件--><serviceandroid:name=".MyService"android:exported="true"/></application>(2)添加aidl文件, 比如一个+方法右键包添加aidl. 在生成的文件中写上自己的方法interface IMyAid...
2018-03-27 14:15:12 502
原创 c单链式表
#include#includetypedef struct Node_{int data;struct Node_* pNext;}Node;typedef struct LinkList_{Node* pHead;Node* pTail;}LinkNode, *LinkList;LinkList createLinkList();void a
2018-03-22 11:13:56 191
原创 c栈
#include#include#includetypedef struct Node_ { int data; struct Node_ *pNext; }Node,*pNode; typedef struct stack_ { pNode pTop; //栈顶指针 pNode pBottom;//栈底指针 //需要用一个空节点来占位底部}
2018-03-22 10:50:54 336
原创 抽象类与接口区别
接口 抽象类私有方法和变量 不能有可以有继承和实现 实现多个 继承1个数据成员和方法 成员必须是static final的且必须赋初值可以有数据成员,也可以有非abstarct的成员方法成员方法默认都是 public abstract 类型 数据可以在子类中重新定义和赋初值设计理念 has-a is-a实现 必须实现接口里所有方法有选择地实现需要的方
2018-03-20 23:17:18 98
原创 view绘制相关
1. 绘制顺序绘制过程从布局的根节点开始,然后对整个布局树型结构(layout tree)进行测量并绘制,绘制过程沿着布局树型结构(layout tree)进行,依次渲染其中的各个View。在这个遍历过程中,遇到ViewGroup时,每个ViewGroup(注意,ViewGroup也属于View的一种)将依次绘制包含于其中的View;遇到View时,View将绘制自身。由于绘制的过程是沿着布局
2018-03-20 17:01:54 137
原创 AndroidVedioCache的简单分析
基本原理AndroidVideoCache 通过代理的策略实现一个中间层将我们的网络请求转移到本地实现的代理服务器上,这样我们真正请求的数据就会被代理拿到,这样代理一边向本地写入数据,一边根据我们需要的数据看是读网络数据还是读本地缓存数据再提供给我们,真正做到了数据的复用。使用:(1)把自己的真实网络url替换成另一个url(2)可自定义文件名, 大
2018-03-12 16:21:36 241
转载 一看就懂viewgroup事件分发 view事件分发
1.三个关键方法public boolean dispatchTouchEvent(MotionEvent ev)View/ViewGroup处理事件分发的发起者,View/ViewGroup接收到触控事件最先调起的就是这个方法,然后在该方法中判断是否处理拦截或是将事件分发给子容器public boolean onInterceptTouchEvent(MotionEvent ev
2018-03-09 17:11:11 466
原创 dagger2所有的用法都在里面了
本demo包含(1)MVP模式更新view(2)基本用法(3)@Named用法和自定义Qualifier(4)@Singleton和自定义Scope(5)全局Singleton和当前Activity的Singleton(6)subcomponent结合demo查看:/*总结:(1)总的来说,Module就是用来提供主界面Activity @Inject的对象, 提供的方法是provide开头, 并...
2018-03-08 16:59:45 502
原创 dagger2简单使用
Dagger是真正的inject。Butter Knife的确不是严格意义上的注入,之所以会叫View injection,Butter Knife可以直接叫他是findViewById 都没问题。1. 添加插件依赖, 在根目录下的build.gradlebuildscript { repositories { jcenter() } dependencie...
2018-03-06 13:56:19 134
转载 instant run
1.功能Instant Run,是androidstudio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。 2. 构建周期流程对比2.1典型构建2.2 instant run = 增量构建+ 热 温冷插拔热拔插:代码改变被应用、投射到APP上,不需要重启应用,不需要重建当前activity。场景:适
2018-03-05 11:41:54 381
转载 有序广播
有序广播:广播发送后同一时间只有一个广播接收器能收到,第一个接收器处理完之后才能继续被下一个接收器接收到,每一个接收器都可以将这段广播截断不再继续流传跟标准关闭比起来,区别只有一点,只需要修改发送广播的方法即可sendOrderedBroadcast(intent,null); 第二个参数是指定接收者必须拥有的接收权限,如果设为NUll,就是不需要接收权限,所有匹配的Rec
2018-03-03 19:49:20 256
转载 Https的那些事
1.验证证书的合法性流程(1)证书一般包括:证书内容(F),加密算法(A),F加密密文(F'),在这里,A不是一个算法,而是两个,所以密文F'是F两次加密后的结果。(2)首先,F会被散列算法SHA1计算出hash值h1(称为128bit的摘要),然后h1会被发布这个数字签名的CA认证机构的用私钥进行RSA加密,RAS加密完后,就形成密文F'。(3)当你要验证这个数字证书可信/合法性
2018-03-01 23:10:00 156
dagger2的所有用法
2018-03-08
AndroidStudio利用DiskLruCache和LruCache实现简单的照片墙
2017-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人