- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 沉浸式状态栏
沉浸式状态栏参考:http://www.jcodecraeer.com/a/opensource/2017/0526/7976.html app/build.gradle中dependencies{ //状态栏implementation 'com.gyf.barlibrary:barlibrary:2.3.0' } /** * 开启沉浸式模式 设置透明度/protected void ful...
2018-06-19 18:06:06 302
原创 Android 注解
一、ButterKnife优势:1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率2.方便的处理Adapter里的ViewHolder绑定问题3.运行时不会影响APP效率,使用配置方便4.代码清晰,可读性强 使用:1.app/build.gradle中加入implementation 'com.jakewharton:butterknife:8.8.1' annotationP...
2018-06-19 16:19:01 562
原创 算法与数据结构基础
1.链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表在进行循环遍历时效率不高,但是插入和删除时优势明显2.二叉树二叉树:每个结点最多有两个子树的树结构树的深度:树中最大的结点层...
2018-05-22 18:09:31 264
原创 Java多线程与android多线程
一、start()与run() 1) start: 用start方法来启动线程,真正实现了多线程运行。通过调用Thread类的start()方法来启动一个线程,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运...
2018-05-07 23:10:33 335
原创 JAVA基础
基础部分一.String、stringbuffer与stringbuilder1、String 字符串常量Java中对String对象进行的操作实际上是一个不断创建新的对象并且将旧的对象回收的一个过程,所以执行速度很慢。2、StringBuffer 字符串变量(线程安全)类似于 String 的字符串缓冲区,预估初始化大小,较少扩容的次数。默认16个字节数组的大小,超过默认的数组长度时,则扩容为原...
2018-05-03 21:51:26 253
转载 App 启动时间统计
一 启动类型冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化 Application 类,再创建和初始化 MainActivity 类,最后显示在界面上。热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保...
2018-04-28 18:13:20 400
原创 进程、线程、Application
一、进程的基本状态进程经常讨论的基本状态为:就绪状态(Ready)、运行状态(Running)、阻塞状态(Blocked)。此外,还包括不常讨论的创建和结束。就绪状态:当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。运行状态:进程已获得CPU,其程序正在执行。在单...
2018-04-28 17:50:03 676
转载 事件分发机制原理
https://blog.csdn.net/carson_ho/article/details/54136311 Android事件分发机制 详解攻略,您值得拥有https://www.cnblogs.com/Jason-Jan/p/8448277.html1.基础认知1.1.事件分发的对象是谁? 答:事件。 当用户触摸屏幕时(View或ViewG...
2018-04-19 16:12:19 174
转载 Android中AsyncTask使用详解
转自:https://blog.csdn.net/iispring/article/details/50639090https://blog.csdn.net/iispring/article/details/50670388 源码解析Android中AsyncTask的工作原理在Android中我们可以通过Thread+Handler实现多线程通信,...
2018-04-18 19:26:09 1037
转载 Android 序列化
https://www.cnblogs.com/yezhennan/p/5527506.htmlhttps://blog.csdn.net/wangchunlei123/article/details/513451301.序列化的目的 (1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中 (2).通过序列化操作将对象数据在网络上进行传输(由于网络传输是以字节流的方式对数据进行传输...
2018-04-18 15:10:16 156
转载 mvc、mvp、mvvm
一、MVC(Model-View-Controller)MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。MVC使用非常广泛,比如JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View, STL)-S...
2018-04-16 13:02:50 145
原创 异常处理
1.空指针(NullPointerException) java层代码问题调用 null 对象的实例方法。访问或修改 null 对象的字段。如果一个数组为null,试图用属性length获得其长度时。如果一个数组为null,试图访问或修改其中某个元素时。在需要抛出一个异常对象,而该对象为 null 时。2.CalledFromWrongThreadExcept...
2018-04-12 23:11:08 186
转载 Binder
https://blog.csdn.net/huachao1001/article/details/51504469https://www.jianshu.com/p/4920c7781afe?from=jiantop.com什么是Binder Binder是Android跨进程通信方式,它实现了IBinder接口,是ServiceManager连接各种Manager(如WindowM...
2018-04-07 22:16:57 144
转载 SQLite
https://blog.csdn.net/cangchen/article/details/44063597https://blog.csdn.net/cangchen/article/list/6 SQLite采用动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身...
2018-04-07 19:44:23 165
转载 线程安全
本文转发自技术世界,原文链接 http://www.jasongj.com/java/thread_safe/多线程编程中的三个核心概念原子性这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效)。关于原子性,一个非常经典的例子就是银行转账问题:比如A和B同时向C转账10万元。如果转账操作不具有原子性,A在向C转账时,读取了C...
2018-04-05 23:54:01 159
转载 Fragment
Fragment的介绍Fragment:碎片、片段,碎片表示轻量级和灵活,是开发android平板电脑必须掌握的技术。其将界面UI进行分块,以块的方式组织UI,完全可以达到界面UI组件的复用。它在一个activity里面表示一个行为或者用户接口的一部分。我们可以将不同的Fragments组合起来放到一个activity中,或者在不同的activity中重用一个fragment。你可以将一个frag...
2018-04-03 14:41:37 202
转载 AlertDialog,popupWindow,Activity区别
https://blog.csdn.net/android_cmos/article/details/51223776AlertDialog,popupWindow,Activity区别AlertDialog builder:用来提示用户一些信息,用起来也比较简单,设置标题类容和按钮即可,如果是加载的自定义的view ,调用 dialog.setView(layout);加载布局即可
2018-03-30 15:18:20 2333
原创 Activity-任务栈和启动模式
栈https://blog.csdn.net/showdy/article/details/54911239简单点来理解,可以把栈比作一个开封的箱子,我们可以往里面塞东西,这里假设塞的东西的底面积和箱子的底面积是相同的,那么这些东西就具备有从下往上一定的顺序,当我们想要取出箱子里面的东西时,我们没有办法一下子拿到箱子最底层的东西,我们只能拿到最上面一层的东西,从上往下。当我们每打开一个Activi...
2018-03-30 10:38:29 242
转载 XML解析
http://www.cnblogs.com/longqingyang/p/5577937.htmlSAX解析器:它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的,也就是ContentHandler为重要核心,解析过程中每遇到一个事件源,只有调用事件解析器才能得到相应的处理;不过它的优点主要是解析速度快,占用内存少。非常适合在Android移动设备中使用; DOM解析器:dom解析...
2018-03-29 16:52:25 162
转载 JSON
https://blog.csdn.net/miaozhenzhong/article/details/52585726https://www.cnblogs.com/garfieldcgf/p/5967590.htmlJSON简介JAVAScript Object Notation是一种轻量级的数据交换格式具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表...
2018-03-29 15:41:25 208
原创 Socket与SocketChannel
网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,三者从本质上来说没有可比性,socket则是对 TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要 解决如何包装数据。socket是
2018-03-29 11:10:23 6834
原创 TCP/IP协议
https://www.cnblogs.com/roverliang/p/5176456.htmlTCP/IP协议是一个协议集合。TCP/IP 是供已连接因特网的计算机进行通信的通信协议。TCP/IP协议族中有一个重要的概念是分层,TCP/IP协议按照层次分为以下四层。应用层、传输层、网络层、数据链路层。一个层只负责一个层次的问题,如果出问题了,和其他的层次无关,只要维护这个层次也就好了。
2018-03-28 17:25:15 172
原创 Http协议及get、post请求
https://www.cnblogs.com/qdhxhz/p/8468913.htmlhttps://blog.csdn.net/a360316515/article/details/77272128https://www.cnblogs.com/Garnett-Boy/p/8251561.htmlHTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,...
2018-03-28 16:48:58 1405
转载 SugarOrm使用
http://www.mamicode.com/info-detail-1051862.htmlORM(Object-Relational Mapping)即对象关系映射模式,是Java开发中常用的技术。它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。因为Android开发也是
2018-03-27 11:14:46 1196
原创 接口回调
接口回调egg: a:demo类(调用打印) b:打印类 c:打印接口,其中有抽象方法suc()和fail() a调用b的打印方法时传入c接口的实现类,b的这个打印方法中在合适的位置去调用a传入的接口的对应方法1)定义接口: 定义一个接口、定义其中的抽象方法、抽象方法含有参数(被传递的数据);2)编写回调方法: 在定义接口的类中,编写用户回调的方法,要传递一个接
2018-03-24 11:38:23 168
原创 自定义View
http://www.gcssloop.com/customview/CustomViewProcess 安卓自定义View进阶-分类与流程自定义View绘制流程函数调用链(简化版) 1.自定义ViewGroup自定义ViewGr
2018-03-23 16:20:02 168
原创 Canvas画布
http://www.gcssloop.com/customview/Canvas_BasicGraphics 安卓自定义View进阶-Canvas之绘制图形http://www.gcssloop.com/customview/Canvas_Convert 安卓自定义View进阶-Canvas之画布操作http:/
2018-03-23 11:16:27 183
原创 Bitmap类及BitmapFactory类中的常用方法
http://blog.csdn.net/coderyue/article/details/50103639#t9 Bitmap总结 https://www.cnblogs.com/wangjiaghe/p/7358445.htmlhttp://blog.csdn.net/zxw136511485/article/details/51957962http://blog.csdn.net/...
2018-03-21 19:38:00 3175
原创 文件读写
public class ShowLog extends Activity {// log文件 sdcard/agingtest/AgingtestLog.txt private static String LOGFILENAME = "AgingtestLog.txt"; private static String LOGFILEPATH = Environment ...
2018-03-13 09:25:22 122
原创 java集合类
http://blog.csdn.net/u014136713/article/details/52089156集合类存放于java.util包中。都是实现了Collection接口。主要有3种:set(集)、list(列表)和map(映射)。
2017-12-28 11:53:53 367
原创 java.lang.object与Arrays
java.lang.objectjava.lang包在使用的时候无需显示导入,编译时由编译器自动导入。Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。可以使用类型为Object的变量指向任意类型的对象。Object()默认构造方法clone(
2017-12-26 17:26:38 316
原创 Broadcast
http://blog.csdn.net/jiangwei0910410003/article/details/19150705http://blog.csdn.net/as02446418/article/details/46930005 广播(Broadcast):顾名思义,就是一处发出通知,多处得到通知后分别进行处理。和观察者模式有相似之处。一般Activity发送广播。当需要App...
2017-12-25 14:10:14 221
转载 事件分发前的拦截过程
https://m.2cto.com/kf/201611/563390.html第一次事件拦截 interceptKeyBeforeQueueing返回0则意味着事件被拦截,返回1则意味着事件允许被发送到应用程序中第二次事件拦截 interceptKeyBeforeDispatchingprivate static final bool
2017-12-22 11:38:34 568
原创 观察者模式和代理模式
单例模式 工厂方法模式 观察者模式 代理模式命令模式。适配器模式、合成模式、访问者模式观察者模式http://blog.csdn.net/fangchongbory/article/details/7774044 对象间的一种一(Subject)对多(Observer)的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 。观察者模式解
2017-12-22 11:06:17 1188
转载 单例模式与工厂方法模式
单例模式http://blog.csdn.net/happy_horse/article/details/51164262http://blog.csdn.net/beyond0525/article/details/22794221/http://blog.csdn.net/liguangzhenghi/article/details/8076361单例模式保证了在程序中只有一个
2017-12-16 14:36:10 327
转载 面向对象的六大原则
http://www.uml.org.cn/sjms/201211023.asphttp://blog.csdn.net/wangjunkg/article/details/3762132http://blog.csdn.net/bboyfeiyu/article/details/50103471一、单一职责原则: 就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因。一个
2017-12-15 11:28:34 157
原创 控件处理
... ... mDataList.clear();//更新数据列表 mDataList = response.getData();//进行notifyDataSetChangedshowView(); ... ...在网络请求完毕后删除List的数据,然后直接进行notifyDataSetChanged,这样始终保持ListView与数据列
2017-11-27 11:29:29 161
原创 延时
1.Thread.sleep()是java提供的函数。在调用该函数的过程中可能会发生InterruptedException异常。2.SystemClock.sleep()是android提供的函数。在调用该函数的过程中不会发生InterruptedException异常,中断事件将要被延迟直到下一个中断事件。还会调用Thread.sleep()。3.使用Handler的postDelay
2017-11-27 10:03:00 226
原创 android 图形处理
声明:此文非本人原创,为整理网络资料加自己的一些注解所得。在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型:1、Translate————平移变换2、Scale ————缩放变换3、Rotate ————旋转变换4、Skew ————错切变换在Android的API里对于每
2017-09-23 14:48:00 303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人