android进阶
程序编织梦想
不断否定自我,不断重塑自我,不断挑战自我
展开
-
android序列化讲解
序列化在android中使用的频率非常高,尤其是在intent传递对象的时候。学习序列化非常有必要,在android中有二种序列化方式:1、实现Serializable接口2、实现Parcelable接口1 为什么要将对象序列化?打个比方:雨伞在不用的时候要把它缩短、折叠起来存放。用的时候要伸长,伸展开使用。在这个例子中:”缩短、折叠”属于序列化,为了方便保存。”伸长,伸展”为了使用。原创 2017-01-05 08:33:44 · 599 阅读 · 0 评论 -
android contentprovider简单讲解
文章的开头奉送上代码方便大家对照学习。1 ContentProvider简介ContentProvider是android4大组件之一,它的出现是为了在二个应用之间共享数据。在Android中,对数据的保护是很严密的,除了放在SD卡中的数据,一个应用所持有的数据库、文件、等等内容,都是不允许其他直接访问的。但有时候沟通是必要的,不仅对第三方很重要,对应用自己也很重要。比如,一个联系人管理的应用。。。原创 2017-02-10 16:20:55 · 705 阅读 · 0 评论 -
android 网络篇简单介绍
1 简介本文简单介绍android 开发中常用的webview 、url、 volley、 json解析等网络工具。由于篇幅问题,这里只做简单介绍并不做详解展开。原创 2017-02-14 11:13:30 · 478 阅读 · 0 评论 -
android service简单讲解
文章开头奉送上本文用到的部分代码,方便大家对照学习。1 简介Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。我们可以用服务处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。作为四大组件之一的Service,在面试中也是是常考的内容,所以我们必须掌握。注意 有一点希望大家注意,Service默认是执行在UI线程中,它既不创建自己原创 2017-02-15 11:03:17 · 952 阅读 · 0 评论 -
Android开发之ThreadLocal的使用
1 前言今天在学习handler源码,发现了handlder中使用了ThreadLocal。不但如此,在开源框架EventBus中也使用了ThreadLocal,所以对这个ThreadLocal做了一个研究,这里做一个总结,为一下篇handler讲解打下基础。2 什么是ThreadLocal官网:实现一个线程本地的存储,也就是说,每个线程都有自己的局部变量。所有线程都共享一个ThreadLocal对原创 2017-05-05 15:48:08 · 775 阅读 · 0 评论 -
android webview获取html代码和根据id获取value
1 前言最近做一个项目,需要webview获取网页中input的内容,把知识整理一下,做个记录,也希望对大家有所帮助。2 获取html内容2.1 初始化webviewwebview.getSettings().setJavaScriptEnabled(true);webview.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj原创 2017-05-05 17:01:38 · 5937 阅读 · 0 评论 -
Android 深入讲解Handler机制
1 前言众所周知,在我们android中有主线程和子线程之分,我们对它们做一下区分:1.在主线程中刷新UI,但不能做耗时操作,否则很可能报ANR异常2.在子线程中不能刷新UI,但可以做耗时操作这是二者的区别,也是一对矛盾。有没有办法解决这种问题呢?google官方给出的方法就是:在子线程中进行耗时的业务逻辑,然后利用Handler通知主线程刷新UI。学习Handler机制意义: 在androi原创 2017-05-06 10:43:11 · 650 阅读 · 0 评论 -
android ViewDragHelper讲解
文章的开头奉送上代码,方便对照学习。1 前言2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用, 其实研究他们的源码你会发现这两个类都运用了ViewDragHelper来处理拖动。 ViewDragHelper解决了android中手势处理过于复杂的问题,下面让我们总结一下android中都有那些处理vie原创 2017-04-25 14:15:10 · 475 阅读 · 0 评论 -
Android LayoutInflater讲解
一、前言以前用adapter的时候每次就知道copy代码,对LayoutInflater不求深入了解,真是惭愧!今天抽空把LayoutInflater的源码看了看,终于有些感悟,记录下来,希望对大家有些帮助。二、方法介绍我们最常用的就是以下2个方法:1.LayoutInflater.from(MainActivity.this).inflate(int resource, ViewGroup ro原创 2017-04-14 11:36:21 · 497 阅读 · 0 评论 -
爱的贝塞尔曲线讲解
1.贝塞尔曲线介绍贝塞尔曲线的数学基础是早在 1912 年就广为人知的伯恩斯坦多项式。但直到 1959 年,当时就职于雪铁龙的法国数学家 Paul de Casteljau 才开始对它进行图形化应用的尝试,并提出了一种数值稳定的 de Casteljau 算法。然而贝塞尔曲线的得名,却是由于 1962 年另一位就职于雷诺的法国工程师 Pierre Bézier 的广泛宣传。他使用这种只需要很少的控制原创 2017-04-26 11:45:38 · 809 阅读 · 0 评论 -
android不用context弹dialog
最做项目时需要在没有context的情况下弹出dialog。遇到了不少坑,这里做个记录,也希望对遇到这个问题的小伙伴有帮助...原创 2017-01-05 08:53:21 · 3631 阅读 · 1 评论 -
Fragment讲解
在文章的开头奉送上代码,方便大家对照学习。1 前言项目中frgment是常用的东西,最近有空想把它整理整理。 fragment是“片段”的意思。在android中fragment是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间(如:平板上应用)、解决activity负载过重的问题等。。。原创 2017-01-16 09:25:23 · 991 阅读 · 0 评论 -
android多线程下载
1 前言1.1多线程下载APP更新的时候如果单线程下载的话相对来说是比较慢的。但是如果能把APK分成几段,分别用线程下载的话,就会快很多。接下来就来讲解一下多线程下载...原创 2016-12-29 14:55:30 · 491 阅读 · 0 评论 -
android事件分发机制
android中的事件分发机制是非常重要的知识。网上的介绍事件分发机制的文章确实不少,最近也看了不少。但是很多都是贴代码用log日志找规律来介绍,看的我头痛。下面用图文结合的方式来给大有介绍一下。1.方法介绍事件分发的机制牵扯到的3个方法,我们会介绍Activity,ViewGroup和View中对这些方法的处理流程。原创 2016-12-26 15:35:15 · 367 阅读 · 1 评论 -
学习Scroller类看这篇就够了
老实说这个Scroller类不太好理解,我看了好几遍才明白怎么回事,希望对大家有所帮助。1.概念Scroller是一个处理滚动效果的工具类,可能这么说大家太抽象,但是如果我跟你说咱们常用的ViewPager、ListView中都使用了Scroller类,你可能就有形象的概念了。原创 2016-12-20 18:36:02 · 595 阅读 · 0 评论 -
AccessibilityService讲解
1.概念AccessibilityService它运行在后台,而且当AccessibilityEvents事件被触发的时候系统会自动回调AccessibilityService中的相关方法。这些AccessibilityEvents事件表示用户界面上的一些状态的改变,例如:焦点发生变化,一个button被点击等等。AccessibilityService可以根据自己的需要查询活动窗口的内容(也就是说原创 2016-12-15 14:13:04 · 5318 阅读 · 1 评论 -
java反射讲解
先看一个类:Personpublic class Person{}Person p1 = new Person();众所周知,p1是Person的实例对象,那么请大家想一个问题:Person这个类是不是一个实例对象呢?答案:是!Person类是java.lang.Class类的实例对象。原创 2016-10-07 22:19:23 · 1100 阅读 · 0 评论 -
Android 架构心得
什么是架构在我看来,软件架构绝对不只是框架的堆砌,看我看来,架构是为了方便软件维护、扩展、安全性、切入性(我也不知道有没有人提出过这个关键字,因为的确很少看见,简单来说我这里说的切入性就是指一个以前没有接触过这个项目的人,能快速加入到这个项目中,对项目进行维护、修改和扩展)原创 2016-12-30 10:43:12 · 399 阅读 · 0 评论 -
android UI线程讲解
前言本文章主要简单介绍主线程,并且在使用的过程中如何避免ANR异常。当一个应用启动时,系统会为该应用创建一个名为“主线程(或UI 线程)”的执行线程。此线程非常重要,作用如下:1.它负责将事件分派给相应的用户界面小部件,其中包括绘图事件。 2。它也是应用与 Android UI 工具包组件(来自 android.widget 和翻译 2016-12-01 07:24:27 · 821 阅读 · 1 评论 -
MVP模式简单介绍
1.前言今天琢磨MVP模式,看着网上那么多介绍的文章看的我头痛。 这会突然恍然大悟:原来早在很久以前我就一直在项目中用,只是我不知道而已!!!2.逻辑思维这个东西还是很简单的,这里做个记录,以备以后用到的时候能快速想起。原创 2016-12-30 15:57:42 · 416 阅读 · 0 评论 -
android Sqlite简单讲解
文章前面奉上代码,方便大家对照学习。1 Sqlite简介Sqlite作为嵌入型数据库出现在android中,它的作用是为了解决大量数据存储。2 Sqlite基本语法简单介绍2.1 sqlite数据类型android开发中sqlite支持的数据类型:NULL、INTEGER、REAL、TEXT、BLOB。 但是sqlite也支持如下的数据类型: 名称 介绍 smallint 16位整数原创 2017-02-06 15:28:17 · 702 阅读 · 0 评论 -
为RecyclerView打造通用adapter
上周我才开始接触RecyclerView,感谢我们鞠老师教会我使用。用了之后发现确实不错,但是我想把adapter封装一下,变一个通用的,岂不是用起来更方便?!如果有不会用RecyclerView的同学请参考我男神的这篇文章,讲的非常详细。本来也想写一篇来着,但是感觉没鸿洋大神写的好就放弃了,这章来说一下如何封装通用adapter。原创 2016-09-09 22:00:00 · 1126 阅读 · 1 评论 -
android贝塞尔曲线之波浪效果
1 前言为了给我以前的博客填坑,这章讲解贝塞尔曲线的几个常用的应用:1.波浪效果2.qq聊天列表上的沾粘体效果3.翻书页效果4.弹性球效果大家如果把这些看懂并掌握,以后做和贝塞尔曲线相关的效果应该都能信手拈来!2 波浪效果 原理分析: 其实这个效果应用了2个阶的贝塞尔曲线来完成的,先看一下原理分析图: 有上面的图可以看出:在屏幕的左面画出了1.5个波长,在屏幕中画出1个波长,然后让它原创 2017-04-28 12:05:40 · 9065 阅读 · 2 评论