Android 杂记
LaterEqualsNever
这个作者很懒,什么都没留下…
展开
-
记,基于Android开发类似于微博的东东时,值得记录的几个问题~
作为一个Java的使用者,在经历了Web到服务端开发的工作后,今年终于开始接触一些android开发方面的工作了。新的挑战~~最近有一个需求是在应用里开发一个类似于微博的功能模块,说难不难,说易不易~~作为一名Android上的菜鸟,在开发的过程里还是遇到不少问题的。当然,紧接着的就是一个个的想办法解决问题~~~~~一直想把过程中遇到的,自己觉得几个比较有意义的问题,及其解决方法记录下原创 2015-03-21 16:06:56 · 3053 阅读 · 2 评论 -
Android-Activity 启动模式解析
1.Standard 标准模式 Activity的默认启动模式,在不显示指定启动模式的情况下,Activity都以这种方式进行启动。 在Standard模式下,每启动一个新的Activity,就会在返回栈中进行入栈,并处于栈顶的位置。 对于使用Standard模式启动的Activity,系统不检查该Activity之前是否已经在返回栈中存在,每次启动都会创建一个该Activity的原创 2016-01-04 16:49:08 · 1837 阅读 · 0 评论 -
从源码一次彻底理解Android的消息机制
情景重现 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { Thread.sleep(5 * 1000);原创 2016-07-26 17:59:37 · 4518 阅读 · 3 评论 -
由浅入深 细细体会Android的视图滚动
其实对于接触过Android开发的人来说,视图的滑动并不陌生,因为这一功能特性可以说是随处可见。 常用的就例如ScrollView、HorizontalScrollView、ListView,还有熟悉的ViewPager等控件,就都支持这一特性。之所以这一类的控件在Android系统中如此受欢迎,其实也不难想象,最显而易见的: 手机的屏幕(可视区域)是十分有限的,那么如何在有限的区域内提供给用户原创 2016-07-12 19:32:53 · 4694 阅读 · 2 评论 -
从源码切入 透彻理解Android的weight属性
最近在看一本古董书《50 Android Hacks》,而书中开篇的第一个Hack就是”使用weight属性实现视图的居中现实“。事实上weight是一个使用简单,但却又十分强大的属性。但关于其的实现原理和使用细节我们却不一定真正深入的进行过理解。 今天我们就来由浅入深,从源码中去好好的研究研究这个东西。看看它有哪些可能被我们忽视的地方。以上述书中的案例来说,它的需求很简单,请实现“让一原创 2016-07-02 10:54:51 · 5289 阅读 · 0 评论 -
一步步理解Android事件分发机制
回想一下,通常在Android开发中,我们最常接触到的是什么东西?显然除了Activity以外,就是各种形形色色的控件(即View)了。 与此同时,一个App诞生的起因,终究是根据不同需求完成与用户的各种交互。而所谓的交互,本质就是友好的响应用户的各种操作行为。 所以说,有很多时候,一个控件(View)出现在屏幕当中,通常不会是仅仅为了摆设,而是还要能够负责响应用户的操作。 以最基本的例子而言原创 2016-07-21 18:57:36 · 4317 阅读 · 4 评论 -
用Canvas和属性动画造一只萌蠢的“小鬼”
最近没事的时候想自己写一个支持下拉刷新,上拉加载的自定义View。写着写着,就觉得最常见的“一个圈转啊转”的进度条太普通了。 于是,就想看看有没有更有趣的一点的加载效果。在GitHub上以”android loading”为关键字一搜索,就发现有作者开源了这么一个库:库的地址是:https://github.com/ldoublem/LoadingView。里面提供了很多有趣的加载动画(非常棒),原创 2016-09-18 18:37:59 · 5502 阅读 · 1 评论 -
自己动手写一个轻量级的Android网络请求框架
最近有空在看《App研发录》一书,良心之作。书中第一部分第二章节讲了不少关于网络底层封装的知识,看后觉得学到了不少干货。 索性自己也动手完成了一个非常轻量级的网络请求框架,从该书中获得了不少帮助。特此记录,回顾一下思路,整理收获。OK,一起来看。就如书中所言,通常我们可以通过AsyncTask来进行网络请求的处理。而不少网络请求框架的底层也正是基于AsyncTask来进行封装的。 显然Async原创 2016-08-05 16:19:42 · 6525 阅读 · 1 评论 -
自个儿写Android的下拉刷新/上拉加载控件 (续)
本文算是对之前的一篇博文《自个儿写Android的下拉刷新/上拉加载控件》的续章,如果有兴趣了解更多的朋友可以先看一看之前的这篇博客。事实上之所以会有之前的那篇博文的出现,是起因于前段时间自己在写一个练手的App时很快就遇到这种需求。其实我们可以发现类似这样下拉刷新、上拉加载的功能正在变得越来越普遍,可以说如今基本上绝大多数的应用里面都会使用到。当然,随着Android的发展,已经有不少现成的可以实原创 2016-11-04 10:45:38 · 3536 阅读 · 0 评论 -
一点点有助于巧用RecyclerView的小技巧
在RecyclerView问世之前,ListView可能是我们使用频率最高的系统控件之一了。而随着Android的发展,虽然ListView依旧重要,但确实越来越多的时候大家都开始选择使用RecyclerView了。当然这也是事物发展的必然,个人觉得最重要的原因就是RecyclerView相对来说,确实灵活性更高。但是显然并不能说RecyclerView就优于ListView,二者各有优劣,我们应该原创 2016-10-26 09:24:34 · 1414 阅读 · 2 评论 -
自个儿写Android的下拉刷新/上拉加载控件
前段时间自己写了一个能够“通用”的,支持下拉刷新和上拉加载的自定义控件。可能现如今这已经不新鲜了,但有兴趣的朋友还是可以一起来看看的。与通常的View配合使用(比如ImageView)与ListView配合使用与RecyclerView配合使用与SrcollView配合使用局部刷新(但想必这种需要实际应该还是不多的….)好啦,效果大概就是这样。如果您看后觉得有一点兴趣。那么,以下是相关的信息:原创 2016-09-27 16:58:26 · 8437 阅读 · 18 评论 -
深入一点 让细节帮你和Fragment更熟络
有一段时间没有写博客了,作为2017年的第一篇,初衷起始于前段时间一个接触安卓开发还不算太长时间的朋友聊到的一个问题: “假设,想要对一个Fragment每次在隐藏/显示之间做状态切换时进行监听, 从而在这个时候去完成一些操作,应该怎么去实现呢?” 相信大家听到这类问题第一反应都会觉得是很容易的。而又经过一番讨论过后,发现他的问题场景相对来说比较特殊一点的是: 其想要监听的Fragment是嵌原创 2017-03-08 09:23:40 · 2073 阅读 · 1 评论 -
Android - SurfaceView + MediaPlayer实现分段视频无缝播放
Android当中实现视频播放的方式有两种,即:通过VideoView实现或者通过SurfaceView + MediaPlayer实现。由浅至深,首先来看下想要在Android上播放一段视频,我们应当怎么做。前面我们已经提到了两种方式,这里我们来看一下具有更好的拓展性的第二种方式,也就是通过SurfaceView + MediaPlayer进行实现。首先,我们来定义一原创 2015-04-10 16:09:46 · 14170 阅读 · 9 评论 -
Android — 长按ListView 利用上下文菜单(ActionMode) 进行批量事件处理
好久没写博客拉```````最近终于稍微闲一点了```````无聊拿手机清理短信,发现批量事件的处理还是挺管用的``````那么自己也来山寨一记看看效果吧`````闲话少说,首先,我们来看下手机自带的短信功能里执行批量删除时的效果:然后 是我们自己简单山寨的效果: 模拟的操作过程很简单,但也很有代表性。我们假定我原创 2015-07-10 10:59:44 · 4424 阅读 · 3 评论 -
Android - Acitivty生命周期 理解
1、Activity的四种状态理解Activity的生命周期之前,先理解对android的生命周期的特点进行整理,从而归纳出的Activity的四种活动状态。那么,通常来说,一个Activity的整个生命周期内,会经历如下的几种状态:运行状态: * 当一个Activity位于返回栈栈顶的时候,既是处于这种状态之下。原创 2015-11-18 20:45:33 · 2611 阅读 · 0 评论 -
对Android-MVP架构模式的理解与初尝试
通常,如果你是一名面向对象的开发者,或多或少都了解和接触过大名鼎鼎的“MVC”模式。到了Android移动端上,因为其自身的某些特性。于是,从“MVC”模式里又衍生出了一种新的模式,既“MVP”模式。关于其二者的特点,从根本来说,十分相似:Controller/Presenter负责接受数据,并命令View或Model做出相应的修改;Model负责封装应用程序的数据模型原创 2015-11-23 14:35:02 · 2268 阅读 · 0 评论 -
Android关于Activity的一些使用和全局管理技巧
今天以一个小的Demo,来总结一点在Android关于Activity的使用和全局管理的技巧。效果图:从这个效果图,我们最直观的能看到的两个比较简单但也具有代表性的功能:在某个Activity处于非可见状态时(或在非属于于该Activity类的代码中),对其进行一定的界面更新工作。在任一界面退出程序(管理自己的App里的所有Activity)。原创 2015-11-27 17:22:13 · 2638 阅读 · 1 评论 -
Android - ViewPager + Fragment 实现仿微信界面
效果图:要实现的效果如图所示,简单归纳:安置一个底部菜单栏,共有4个功能选项。4个功能选项分别联系4个不同内容的fragment。支持通过滑动屏幕的方式,完成fragment的切换。支持通过类似tabhost,点击选项卡的方式,完成fragment的切换。项目结构: 通过Project的结构,我们可以看到实际上逻辑还是比较清晰。原创 2015-12-02 15:53:23 · 2004 阅读 · 0 评论 -
Android屏幕适配 px,dp,dpi及density的关系与深入理解
px(Pixel) :既传统计算机语言中描述的像素,在Android则代表绝对像素。之所以Android中不推荐使用这种单位,正是因为:Android中不同品牌,不同屏幕的设备,其分辨率亦不一。例如,我们现在将某个Button的width设为160px,则出现如下情况:在分辨率为:320宽的设备里,该按钮占屏幕宽度一半;在分辨率为:640宽的设备里,该按钮则只占原创 2015-11-25 21:31:20 · 11466 阅读 · 2 评论 -
Android ContentProvider UnderStanding
ContentProvider是Android里的四大组件之一。顾名思义,其作为内容提供者,为不同应用之间提供了一个数据访问通道。对于其的使用,无非也就是两方面: 在我们自己的应用里,通过ContentProvider访问外部应用的数据。 我们在自己的应用里编写ContentProvider,提供给其它想要访问我们应用某些数据的应用使用。 那么,首先我们来看一下,如何最基本的通过原创 2016-01-06 16:55:15 · 1306 阅读 · 0 评论 -
理解Android图像处理-拍照、单/多图选择器及图像优化
如以上DEMO截图所示效果,我们对于这种类似的功能肯定不算陌生,因为这可以说是实际开发中一类非常常见的功能需求了。而关于它们的实现,其实主要涉及到的知识面应该就是 Android当中的图像处理了。简单来说就比如:图像获取(例如常见的设置头像(获取单张图片);发布动态/朋友圈(获取多张图片))、图像显示以及图像优化等等。所以理解和掌握关于这方面的原理和相关技术、手段等肯定对我们是非常有帮助的。所以在这原创 2017-07-31 15:56:08 · 1922 阅读 · 0 评论