![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android-基础
文章平均质量分 82
CameloeAnthony
android开发工程师 || 程序猿 || 码农
展开
-
真实案例出发,再谈retrofit封装
原文链接:Anthony的简书博客 项目代码:CameloeAnthony/Ant前言在使用了一段时间的Retrofit之后,今天终于在这里讲解到了网络的部分。目前开源的HTTP 框架有很多,Volley,Android Async Http,以及OkHttp +Retrofit等。而我在自己的使用中选择了Retrofit,这里就从基础到原理,再到实例的方式,讲解我对Retrofit做出的一些封装原创 2016-10-13 18:18:01 · 2349 阅读 · 0 评论 -
从Dagger2基础到Google官方架构MVP+Dagger2架构详解
博客原地址:http://www.jianshu.com/p/01d3c014b0b11 前言前段时间分享了一篇文章:google官方架构MVP解析与实战 ,针对这是对google官方示例架构的一个分支todo-mvp/ 的项目解析与实际运用,google官方示例架构项目googlesamples/android-architecture 目前还有两个分支在开发中 在我的前一篇文章分享的时候原创 2016-06-02 13:12:01 · 16481 阅读 · 4 评论 -
绝对不容错过,ButterKnife使用详谈
本博客原地址:http://www.jianshu.com/p/b6fe647e368b(1)ButterKnife是什么?在开发过程中,我们总是会写大量的findViewById和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得特别麻烦,当然不会偷懒的程序员不是好程序员,自然也出现了相应的解决方案–依赖注入。而ButterKnife则是依赖注入中相对简单易懂的很不错的开源框架原创 2016-04-26 17:13:29 · 5371 阅读 · 0 评论 -
SwipeBackLayout 和SwipeBackActivity最完全解析
大屏幕时代的到来,目前大部分的APP都支持侧滑关闭Activity及切换Activity的动画效果,这些效果极大的提高了用户体验。比如苹果的safari中的滑动返回操作。 我也参考了github上面的 ikew0ng/SwipeBackLayout项目写了一个自己的swipebacklayout。在源码的基础上,添加了一些注释,并没有对源码做出太大改动。 项目github地址:https:/原创 2016-03-25 17:33:55 · 6546 阅读 · 0 评论 -
干货文章整理(建议有时间多看几遍)
开发经验总结: 我的 Android 开发实战经验总结android新技术-RxJava: 给 Android 开发者的 RxJava 详解原创 2016-03-30 12:03:37 · 707 阅读 · 0 评论 -
Handler当做内部类,导致内存泄露的问题
按照以前的handler的写法 ,现在的android studio总是会提示说什么内存泄露 。于是上网,stackoverflow上面真的能解决很多问题啊,比国内的论坛真的是水平不知道高到哪里去了。 这里转载一篇国外的这个问题的分析文章。并作出翻译。 首先给出网址链接: http://www.androiddesignpatterns.com/2013/01/inner-class-hand翻译 2016-03-08 17:48:43 · 2268 阅读 · 0 评论 -
友盟即时通讯-导入到你的项目中
友盟即时通讯官方链接 点击这里 友盟即时通讯demo github地址(Android Studio版本) 点击这里 最近在开发一个软件,需要用到即时通讯。在网上看到友盟提供的文档还比较完备。这里讲应用友盟即时通讯模块到我们的开发中来。 先来一起学习一下官方提供的demo。以及官方文档。我已经将项目上传到我的github上去了。可以在上面的链接地址中点击下载下来。1项目结构(主要的jar包如图原创 2016-03-22 17:59:22 · 3262 阅读 · 0 评论 -
怎么设置Android Activity的动画
Android Activity动画属性简介在Android当中 设置activity的动画 需要复写 android:windowAnimationStyle这个属性我们自定义一个动画样式来继承 @android:style/Animation(Base style for animations. This style specifies no animations)这原创 2016-03-30 17:52:02 · 870 阅读 · 0 评论 -
简化后续工作,打造一个通用的fragment
先在开发的项目和微信这个界面差不多的。由底部的导航栏+中间内容+顶部组成。当然可能有的时候多了一个滑动菜单在左边或者右边。 那么这个主界面实现的方式也是底部的四个选项按钮和上方内容组成。其实上方就是一个fragment。当然也可以将fragment 放在viewpager中,让这四个页面实现滑动。但是多数时候是不需要这个效果的。 然后我的上面的fragment就会由顶部topView和中间内容C原创 2016-03-18 15:49:23 · 786 阅读 · 0 评论 -
【译】Android中构建快速可靠的UI测试
博客原地址:Android中构建快速可靠的UI测试 译文原链接:Fast and reliable UI tests on Android 翻译:Anthony 译者注:如果你关注android架构,那么你肯定之前看过小鄧子翻译的这篇文章Android应用架构。本篇文章的正是其原作者Iván Carballo的又一篇经典之作。也推荐你关注github项目Android架构合集以翻译 2016-07-10 11:23:41 · 1911 阅读 · 0 评论 -
【进阶】从linux到android,进程的方方面面
原文链接 : Anthony的简书博客最近在阅读《Linux内核设计与实现》,这里做一下linux中进程相关的知识点整理,以及android中进程的浅析。 下面1,2小节整理自《Linux内核设计与实现》 第三章《进程管理》和第四章《进程调度》。第3节整理android中进程的知识点。1 Linux中的进程管理 以下内容整理自:《Linux内核设计与实现》 第三章《进程管理》1.1进程和线原创 2016-06-14 17:15:22 · 5232 阅读 · 0 评论 -
【译】安卓中的自动化测试(3)
博客原地址:【译】安卓中的自动化测试(3) 译文原链接:Introduction to Android Testing – Part 3 翻译:Anthony在之前的两篇文章中我们讲到了如何进行测试的配置以及创建了一个示例项目。这里是第一篇 ,第二篇的链接。 在这片博客中我们将会获取Github API中的用户列表,并且编写相应的单元测试。我们将从这个项目节点开始。创建API调用我们翻译 2016-09-06 10:49:24 · 764 阅读 · 0 评论 -
【译】安卓中的自动化测试(2)-配置
博客原地址:【译】安卓中的自动化测试(2) 译文原链接:Introduction to Automated Android Testing – Part 2 – Setup 翻译:Anthony在第一篇文章中我们讲解到了进行测试的原因,测试文件夹的位置以及安卓中的不同的测试类型。 在本篇文章中,我们将从一个易于测试的架构出发,从零开始创建一个简单的app,并且讲解其中的每一个思路。整翻译 2016-09-06 10:47:17 · 560 阅读 · 0 评论 -
【译】安卓中的自动化测试(1)
博客原地址:【译】安卓中的自动化测试(1) 译文原链接:Introduction to Automated Android Testing – Part 1 翻译:Anthony我已经看到很多的人对于安卓中如何进行测试感到困惑和不解。在过去,我们会发现在安卓中进行测试不仅困难而且毫无头绪。而这个系列文章将会给你阐述安卓中的测试并将在接下来的几篇文章中逐渐深入进行分析。为什么需要测试?下翻译 2016-09-06 10:46:06 · 477 阅读 · 0 评论 -
Gson全解析(下)-Gson性能分析
gson github地址google/gson 本篇文章是本系列博客的第三篇文章。将从源码角度以及Gson的深入用法讲起,一起来学习吧。 本系列文章是基于Gson官方使用指导(Gson User Guide)以及Gson解析的优秀外文(来自http://www.javacreed.com/ )做出的一个翻译和归纳。 博客原链接: [Gson全解析(上)-Gson基础原创 2016-08-05 10:30:27 · 3465 阅读 · 0 评论 -
Android开发架构规范
原文链接:从零开始搭建android框架系列前言在开发中,一个良好的开发习惯以及一个开发规范可能会让你少走很多弯路,也会一定程度上的提高代码的可读性,可维护性和可拓展性。当随着需求的不断变更,需要维护项目的时候。当随着项目的代码量的提升,需要重构的时候。你会明白一个好的开发规范多么多么的重要。 这里整理一下自己android开发中的一些规范。希望对各位有帮助。命名规范包命名规范包名全部采用小写原创 2016-07-28 15:23:30 · 2280 阅读 · 1 评论 -
Gson全解析(中)
gson github地址google/gson 本篇文章是基于Gson官方使用指导(Gson User Guide)以及Gson解析的优秀外文(来自http://www.javacreed.com/ )做出的一个翻译和归纳。 博客原链接: Gson全解析(上) Gson全解析(中)TypeAdapter介绍前面的Gson全解析(上)中我们理解并分别运用了JsonSer原创 2016-07-15 15:04:51 · 2751 阅读 · 0 评论 -
一款功能强大的滑动开源库UltimateSwipeTool
开源库地址:UltimateSwipeTool 作者:Anthoyandroid swipe tool, this is a useful project support swipe gesture in your activity/fragment/other views.(combine and recomb from some swipe Open-Source )对网络上的几个开源原创 2016-07-01 13:29:15 · 896 阅读 · 0 评论 -
Gson全解析(上)
gson github地址google/gson 本篇文章是基于Gson官方使用指导(Gson User Guide)以及Gson解析的优秀外文(来自http://www.javacreed.com/ )做出的一个翻译和归纳。 博客原链接:Anthony的简书博客前言最近在研究Retrofit中使用的Gson的时候,发现对Gson的一些深层次的概念和使用比较模糊,所以这里做一个知识点的原创 2016-07-12 16:51:42 · 3176 阅读 · 0 评论 -
使用CrashHandler来获取应用的Crash信息
在我们的实际开发中,我们都避免不了遇到我们程序crash直接崩掉的情况,这对用户来说是很不友好的 ,当然也是我们开发者不想看到的。所以我们希望当我们的程序发生异常crash的时候,我们能够得治用户的crash信息,我们也可以在程序crash的时候弹出一个对话框告诉用户程序crash了。然后再退出,这样比闪退会好一些。在安卓中我们可以利用CrashHandler来监视我们应用的crash信息原创 2016-03-17 09:24:13 · 2315 阅读 · 0 评论 -
超全的文件工具类 FileUtil
结合以前的项目开发中遇到的不同的文件操作,在这里基本上提取出了所遇到过的文件操作的工具类。1 我项目中用到的文件工具类1 读取raw文件、file文件,drawable文件,asset文件,比如本地的json数据,本地文本等; 如:String result =FileUtil.getString(context,”raw://first.json”) 2 读取本地的property文件,并原创 2016-03-04 17:55:48 · 10331 阅读 · 0 评论 -
Android 风格与主题(style and theme)
官网地址:http://developer.android.com/guide/topics/ui/themes.html国内镜像地址:http://wear.techbrood.com/guide/topics/ui/themes.html1、什么是Style,什么是Theme? Style 和 theme:是一个包含一种 或者 多种格式化翻译 2016-01-18 17:50:18 · 396 阅读 · 0 评论 -
程序员必读书单
关于本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读。旨在成为最好最全面的程序员必读书单。前言Reading makes a full man; conference a ready man; and writing an exact man.Francis Bacon优秀的程序员应该转载 2016-01-07 16:35:42 · 816 阅读 · 0 评论 -
二十六个月Android学习工作总结【转】
1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍. 2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该功能的运行过程写出来. 3.要有自己的知识库,可以是一个工具类,把写过的,看过的好的代码放进去,也可以是一个笔记本软件.因为只有放在知识库里的东西,才是你最重要的财富. 4.如果你想做自由职业者,你需转载 2016-01-04 13:44:21 · 492 阅读 · 0 评论 -
程序员关于提高工作效率
程序员被誉为一群智商很高的人,是一群帮助其他人提高效率的人,局外人会估计程序员一定是很聪明地、很高效地工作,可事实上却不是如此。周围很多人,也包括我自己,总是做一些重复性的工作,很机械,很低效地工作,前段时间读了经典书籍《卓有成效的程序员》,发现工作确实存在很多提高效率的改进点,只要自己花一点时间,花一点心思,用一点技术,很能出出其不意的效果。结合这本书,加上自己和他人的低效工作,总结了以下几个可原创 2015-12-31 15:29:24 · 419 阅读 · 0 评论 -
Activity的四种launchMode
我们今天要讲的是Activity的四种launchMode。launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里。这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就转载 2015-12-31 14:20:12 · 335 阅读 · 0 评论 -
Activity的启动模式与flag详解
Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。以下逐一举例说明他们的区别:standard:Activity的默认加载方法,即使某个Activity在 Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中。例如:现在栈的情况为:A B C转载 2015-12-30 16:13:31 · 289 阅读 · 0 评论 -
[Andriod官方训练教程]管理Activity的生命活动之停止和重启一个Activity
原文地址:https://developer.android.com/training/basics/activity-lifecycle/stopping.html-------------------------------------------------------------------------------------------------------翻译 2015-12-30 15:42:38 · 400 阅读 · 0 评论 -
android&java 正则表达式
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编转载 2015-12-16 09:04:49 · 626 阅读 · 0 评论 -
android学习路线:如何成长为高级工程师
转载地址:http://blog.csdn.net/singwhatiwanna/article/details/42343847一 明确自我定位现在你是初级工程师,但是你想当个高级工程师,所以,你就要给自己定个目标,即:我是要成为高级工程师的男人。有了这个定位,并且努力朝着这个目标去努力,然后内心深处就会有一个感觉,这个感觉就会成为你的B格,也就是说,虽然我现在是小菜,但是我不转载 2015-12-11 14:46:43 · 592 阅读 · 0 评论 -
res/raw和assets 文件读取
res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.res/r原创 2016-01-26 16:27:12 · 775 阅读 · 0 评论 -
将Github下载的项目导入android studio
原网址点击这里从github下载两个开源项目:PagerSlidingTabStrip | Android-Universal-Image-Loader-masterhttps://github.com/astuetz/PagerSlidingTabStrip https://github.com/nostra13/Android-Universal-I转载 2016-01-27 15:41:55 · 486 阅读 · 0 评论 -
Android反射机制实现与原理
一、JAVA反射基础介绍.详细请参考来源网站http://blog.163.com/ahszrj123@126/blog/static/109529029201261473243868/反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。在计算机科学领域,反射是一类应用,它们能够自描述和自控制。这类应用通过某种机制来实现对自己行为的描述和检测,并能根据自身行为的状态和结果,调整转载 2016-03-04 11:34:26 · 569 阅读 · 0 评论 -
AndroidStudio学习笔记
这里分享一个[学习android Studio最棒的网址] ,如果你使用SDK manager无法更新support libarary ,SDK以及build tool等等,你可以在你的AS中参考一下这个网站里面的配置。亲测有效AndroidStudio项目结构(http://www.androiddevtools.cn/) android studio 的项目结构有很多种,我们主要用的是andr原创 2016-01-29 22:07:59 · 940 阅读 · 0 评论 -
bug修复-android中的onCreate两个参数的方法是什么鬼?
一 bug阐述和解决今天,在开发中遇到了这样一个问题:就是没有界面显示。明明有setContentView xml文件在可视化开发环境下也正常显示.,原来是复写onCreate函数时出现了问题在安卓5.0版本之前onCreate函数默认为@Overrideprotected void onCreate(Bundle savedInstanceState)原创 2016-03-16 10:50:49 · 6172 阅读 · 0 评论 -
关于如何将时间转化成多少分钟前,多少天前,多少月前,多少秒前的工具类
关于如何将时间转化成多少分钟前,多少天前,多少月前,多少秒前的工具类。只需要调用format方法,public class TimeUtil { public static long getNowTime() { return System.currentTimeMillis(); } private static final long ONE_MINUTE =原创 2016-03-02 15:13:11 · 1378 阅读 · 0 评论 -
Android 中的MVP模式
项目github地址:https://github.com/CameloeAnthony/AndroidMVPDemo一. MVP模式简介相信大家对MVC都是比较熟悉了:M-Model-模型、V-View-视图、C-Controller-控制器,MVP作为MVC的演化版本,那么类似的MVP所对应的意义:M-Model-模型、V-View-视图、P-Presenter-表示器。 从MVC和MVP两者结原创 2016-02-15 13:59:05 · 455 阅读 · 0 评论 -
Android UI 优化(1)——使用HierarchyViewer工具
项目github地址:https://github.com/CameloeAnthony/CascadeLayout 1 在开发中,不合理的布局会使我们的应用程序UI性能变慢,HierarchyViewer能够可视化的角度直观地获得UI布局设计结构和各种属性的信息,帮助我们优化布局设计。HierarchyViewer是我们优化程序的工具之一,它是Android自带的非常有用的工具,可以帮助我们更好原创 2016-02-01 10:24:33 · 550 阅读 · 0 评论 -
Android点击切换主题theme
android点击按钮切换主题google设计官方网址1效果图 2theme上面的颜色值对应的属性3 改变属性的方法注意:通过overridePendingTransition(0,0)来实现无缝切换。不然activity之间的切换回显得非常生硬4在oncreate中切换属性注意:切换主题必须切换当前的activity,必须在setContentView之前切换主题5按钮点击切换6theme1原创 2016-01-30 12:50:25 · 735 阅读 · 0 评论 -
Github提交代码方法
网上的文章真的是看都看不懂,这里自己整理一下。下面的步骤是默认你在github网站上已经建立好自己的仓库,并且下载好github的工具。这里比较简单,不做过多讲解。第一:从网上clone github代码最为常用,当我们需要clone别人代码的时候。比如:$ git clone https://github.com/CameloeAnthony/CascadeLayout.gi原创 2016-01-28 17:43:05 · 534 阅读 · 0 评论