Learning Path
浏览 开发笔记 相关教程与章节。
社区笔记、经验文章、测验题库与零散教程入口。
教程
1237
我为什么要辞职 首先介绍一下背景,我是一枚iOS程序猿,到现在已经差不多工作3年了。2016年7月底裸辞,待业之后花了半个月时间去了一趟稻城,然后差不多9月中旬左右找到新工作,开始一段新的经历。 这就是简单的背景,如果把这讲成一个好听点的故事,可能就是很多人想听的生活不止眼前的苟且,还有诗和远方,一个程序员辞职去了远方,找了一份自己喜欢的工作等等。但是我想说的不是这个,我想说的是一个普普通通的程序猿失业迷茫寻找方向的历程。 首先说..
这几日一篇《中国男人配不上中国女人?》的文章成了众人议论的热点,毕竟基本触动了所有网民的心声。正好这个炎热的夏天,有用户来信说,老胡的文章太科技,晦涩,干瘪。于是,今天老胡也人文一把,说说科技人对这一热点的心声。毕竟,越科技越人文嘛。 《中国男人配不上中国女人?》一文,其核心是指出中国男人主要在外表上配不上中国女人。言之凿凿论据如下: 1、从外在的观看,中国男人形象气质差。 中国女人,从打工妹到白领丽人,个个有型有款,至少穿着得体、顺眼..
1.4 Android6.0权限管理-开源框架源码分析 引言 Android6.0这个系统中迎来的最大的特征莫过于就是它的权限管理,因为小猪在写教程的时候应该6.0还没出,但是我感觉随着Android6.0的普及,对于它的权限管理是开发中必备的技能,同时也是基础。 乱入一些话 对于这种开发中所必备的技能,已经系统对此的简化操作,很多博主已经写了类似的博客。这里感觉我再废话一篇文章依旧是废话。 Android 6.0 运行时权限处理完..
引言 自定义 View,一个顾名思义的东西,在 Android 开发中说多也不多,不多在面向百度/谷歌的开发大快人心的使用着,说少也不少,任何 APP 都想把自己的应用做的美轮美奂的。 简介 在开始关于自定义的 View 的话题时,先对对他做个简单的介绍把,虽然小猪前辈在之前的问题也有提及( View 与 ViewGoup 的概念),但是感觉有点粗糙(这是前辈一年多前写的,那时候我还在搭酱油呢!)。 Android 给我们有限的控..
引言 第一篇给大家分享的是picasso,非常有名的一个图片加载缓存框架。每个强大的框架往往使用是非常简单的,但是背后还有很多不容忽视的功能或者技巧,Picasso也是如此。 目录 Picasso入门 Picasso高级 在适配器(ListView,GridView...)中使用 列表中处理null/空值 placeholder(),error(),淡入淡出 图像缩放,大小调整 Picasso入门 添加到依赖 ..
目录 图像请求排序 tag() 分组请求 回调, RemoteView与Notifications 图像旋转与转换 图像缓存 缓存指示器,日志,统计 使用 Picasso.Builder 自定义Picasso 自定义请求处理 picasso2-okhttp3-downloader 与 picasso-transformations 图像请求排序 优先级:HIGH,MEDIUM,LOW 假设有一种场景,就是图片加载需要优先级显示,..
本章引言 移动端的崛起,引入了大量的开发者(本人乃小码农一枚),随着时间的推移,我也顺理成章的成为了一个过得去的开发者,但是不乏有一些真正牛C的人为开发提供很多开发高效方案。说广一点,就是混合式开发,一次编写,多平台使用,但是因为本章是专属Android教程,所以这里就不展开关于混合式开发的内容。然后再说实际一点,就是我们在开发中使用的插件,比如网络,图片,一些自定义控件等,当然还在当下最火的RxJava系列、Retrofit、Dagg..
引言 Andriod开源所带来的梗莫过于在各种不同型号、版本的手机中兼容的问题,同时成为每一位Android开发者中所要面临的挑战,或者说各种七七八八的问题来的毫无防备,本文接下来将主要介绍兼容性问题中适配问题。 基本概念 屏幕大小屏幕对角线的长度,通常使用“寸”来表示分辨率指手机屏幕的像素点个数屏幕像素密度(Pixels Per Inch)每英寸像素点个数。说的详细点就是对角线的像素点除以屏幕大小。 结合屏幕以上几点,Androi..
引言 上一节我们讲了自定义 View,接下来就要说说和他差不多的自定义 ViewGroup。两个实现的方法名差不多,比如他们的构造方法,比如同样需要去测量,布局,自定义属性,所以就不再重复说明这些,不如写一个 demo 吧。 View 与 ViewGroup 的不同点总结 测量: ViewGroup 作为一个容器,他需要去测量子 View 的宽高,打包成他们的期望 布局: ViewGroup 要去覆写 onLayout,去布局孩子,调..
项目开发用到了AnimationDrawable,调用start后没有运行,很纳闷。google搜了下。记录一下。 这个AnimationDrawable.start不能直接写在onClick,onStart,onResume里面,是无效的,无法启动动画,只能写在比如事件监听当中。 以下有几种运行AnimationDrawable的方式。 第一种:在事件监听中start AnimationDrawable 下面一个例子举例 当一个视..
这篇文章主要介绍了Android APP开发入门教程,从SDK下载、开发环境搭建、代码编写、APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,需要的朋友可以参考下。 工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣。于是凌晨一点睡不着写..
最近想要重构代码,因为项目需要给几个学校使用,而每个学校的界面是有差别的,但是功能几乎一模一样,虽然用gradle的分支可以做到代码的差异,但是公共部分的代码逻辑也越来越多,所以想重构一下,最近比较火的MVP模式看了一下,觉得很合适,不过网上很多资料也是抄来抄去,有的还有错误,就想按照自己的理解把MVP模式描述一下,方便他人理解,先说一下大家最熟悉的MVC设计模式吧。 MVC模式解耦合了M层和V层,M层和V层通过C层来交互 然后看一..
在android应用中,有时候会用到系统通知是否开启的状态,以便进行下一步操作,所以,获取到状态是很有必要的,之前一直苦于找不到合适的方法来解决,因为毕竟涉及到系统,不好办,今日看到大神支招,试了一下,很好用,贴出来,大家看,干了这碗安利! 有图有真相,首先到设置里边关闭该应用的通知开关: 然后在应用中,点击按钮,获取状态: 这时候,回到设置里,打开通知按钮: 再次点击应用中的测试按钮,可以看到,通知已经可用了: 代码量很少..
1.什么是OOM? 03-21 21:05:28.771: E/dalvikvm-heap(13316): Out of memory on a 10485776-byte allocation. 03-21 21:05:28.779: E/AndroidRuntime(13316): java.lang.OutOfMemoryError 这几句的意思是,我们程序申请需要10485776byte太大了,虚拟机无法满足我们,羞愧的s..
在这篇文章中,我们讨论一下Android应用开发中的一个重要组件——Android Service。与Activity不同,Service在Android中运行在后台,Service没有界面并且生命周期也与Activity不同。使用Service可以实现一些后台操作,例如从远程服务器上加载一个网页。我们可以使用Service在Android中实现多任务。 Android Service概述 我们知道,如果系统资源变得紧张,Androi..
1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png这样的图片 2. .9图片能干嘛? 答: 在图片拉伸的时候特定的区域不会发生图片失真,而不失真的区域可以由我们自己绘制 3. .9图片用什么做? 答:工欲善其事,必先利其器,做.9图片的工具有: ①Android SDK自带:draw9patch.bat,不过这玩意出了好久,谷歌竟然没更新过... ..
本节引言 前面已经介绍了,Android中的五大布局,在本节中会讲解第六个布局AbsoluteLayout(绝对布局), 之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,当然你也可以直接跳过这一 篇博文,不过作为一个喜欢增长姿势的程序员,我们还是可以了解这个AbsoluteLayout布局的, 相信大部分学过Java的都知道,我们在Java swing(不是spring哦)都用过这个绝对布局,但是Android 中我们..
1.Activity,Window与View的关系 好吧,本来就想了解下他们几个的关系,然后手多多,然后就开始看起他们的调用过程来了...结果扣了两个小时,只理解了很小很小的一部分,果然,到底层撸源码的都是大神,比如老罗,还没到那个等级,下面是自己查阅资料,看了下一点源码的归纳所得,如果哪写错了欢迎指出!下面贴下小结图: 流程解析: Activity调用startActivity后最后会调用attach方法,然后在PolicyM..
本节引言: 上一节中我们对Activity一些基本的概念进行了了解,什么是Activity,Activity的生命周期,如何去启动一个Activity等,本节我们继续来学习Activity,前面也讲了一个App一般都是又多个Activity构成的,这就涉及到了多个Activity间数据传递的问题了,那么本节继续学习Activity的使用!另外关于传递集合,对象,数组,Bitmap的我们会在Intent那里进行讲解,这里只介绍如何传递基..
本节引言: 本节开始讲解Android的四大组件之一的Activity(活动),先来看下官方对于Activity的介绍: PS:官网文档:Activity 介绍如下: 大概意思: Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口, 而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其..
本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要, Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式显示到view上,提供 给用户看! 1.MVC模式的简单理解 在开始学习Adapter之前我们要来了解下这个MVC模式概念: 举个例子:大型的商业程序通常由多人一同开发完成,比如有人负责操作接口的规划与设计, 有人负责程序代码的编..
本节引言: 本节带来的Android中的AlarmManager(闹钟服务),听名字我们知道可以通过它开发手机闹钟类的APP, 而在文档中的解释是:在特定的时刻为我们广播一个指定的Intent,简单说就是我们自己定一个时间, 然后当到时间时,AlarmManager会为我们广播一个我们设定好的Intent,比如时间到了,可以指向某个 Activity或者Service!另外官方文档中有一些要注意的地方: 另外要注意一点的是,Al..
本节引言: 本节继续给大家带来是显示提示信息的第三个控件AlertDialog(对话框),同时它也是其他 Dialog的的父类!比如ProgressDialog,TimePickerDialog等,而AlertDialog的父类是:Dialog! 另外,不像前面学习的Toast和Notification,AlertDialog并不能直接new出来,如果你打开 AlertDialog的源码,会发现构造方法是protected的,如果我们..
本节引言: 本节带来的是Android三种动画中的第二种——补间动画(Tween),和前面学的帧动画不同,帧动画 是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束“关键帧”, 而动画变化的“中间帧”则由系统计算并补齐!好了,开始本节学习~ 1.补间动画的分类和Interpolator Andoird所支持的补间动画效果有如下这五种,或者说四种吧,第五种是前面几种的组合而已~ AlphaAni..