在Android Support Library19.1版本中,Android工具小组引入了几个很酷的注解类型,供开发者在工程中使用。Support Library自身也使用这些注解,这是一个好兆头。就让我们好好研究下。 通过gradle可以很容易的把这些注解添加到我们的工程中: compile 'com.a...
安卓开发
要为Android应用找到一个好的架构不是一件容易的事情。谷歌似乎不太在乎这个事情,因此在设计模式上,除了Activity 生命周期管理之外,再也没有官方的推荐。 但是,为你的应用打造一个架构是非常重要的。不管你是否喜欢,任何应用最终都会有一个架构。因此你...
说到软件开发,有人或许会感叹了解平台SDK和API比了解语言本身更重要。 如果你是一个进入Android开发的Java开发人员,或者是一家想要确保团队使用的是正确工具的初创企业CxO,那么本文中列举的这些SDK和API或许会非常有用。 在过去4年时间里,我一直致力于构...
Google近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。 下面是渲染篇章的学习笔记,部分内容和前面的性能优...
这篇文章主要介绍在实际Android应用程序的开发中,容易导致内存泄露的一些情况。开发人员如果在进行代码编写之前就有内存泄露方面的基础知 识,那么写出来的代码会强壮许多,写这篇文章也是这个初衷。本文从Android开发中的资源使用情况入手,介绍了如何在Bit...
介绍 该篇文章将介绍如何编写一个只有200行的Python脚本,为两张肖像照上人物的“换脸”。 这个过程可分为四步: 检测面部标记。 旋转、缩放和转换第二张图像,使之与第一张图像相适应。 调整第二张图像的色彩平衡,使之与第一个相匹配。 把第二张图像的特...
Fresco是facebook推出的一款强大的图片加载的框架,这个框架出来一段时间了,前一段时间使用过了ImageLoader的框架,生命在于折腾,今天就来折腾一下Fresco这个强大的框架。 1.配置环境 由于我用的是android studio所以这里就只是说一下android studio下如何...
在Google的广大支持下,便捷开发Android程序的Native工具层出不穷。其实Android开发涉及到的范围也不小,一些Web工具有时候也会带来事半功倍的效果。有些甚至是一些native应用无法做到的。本文,将简单列举一下本人正在使用的一些工具,当然也会持续更新。查...
前言 两周前我开始用 Unity 开发一个叫 SkyBlocks 的 Android 游戏。游戏已经在 Google Play 上架了,如果你有时间可以下载来玩一玩儿。 开发的过程中遇到的最大的问题就是性能问题。我开始慢慢尝试分析到底是什么导致的性能问题以及我该怎么解决它。 Sky Bl...
Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 将 plugin 修改为library后 build 出 aar,再提取 aar 里面的 classes.jar 使用 jarjar 等工具剔除多余的 class 对第二步得到的 jar 进行混淆 无...
命名规则 1). 类名,接口名: 以大写开头,如果一个类的类名由多个单词组成,所有单词的首字母必须大写,单词尽量写全称,不要简写,除非约定俗成的名字,例如:URL,RTMP,RTSP 这些广泛使用的专有名词,可以全部大写,也可以首字母大写。 例如 HttpReques...
开发工具的选择 开发工具我将选用 Android Studio,它是Google官方指定的Android开发工具,目前是1.2.2稳定版,1.3的预览版也已经发布了。 Android Studio的优点就不需多说了,GitHub上大部分的Android开源库也都已迁移到Android Studio上来,在未提供 jar文...
Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨startService的使用,不涉及任何bindService方法调用的情况。 当我们通过调用了Context的startService方法后,我们便启动了Service,通过...
在图片加载库烂大街的今天,选择一个适合自己使用的图片加载库已经成为了每一个Android开发者的必经之路。现在市面上知名的图片加载库有UIL,Picasso,Volley ImageLoader,Fresco以及我们今天的主角Glide。它们各有千秋,不能评定谁一定比谁好,只能说哪一个更...
什么是缓存? 缓存技术原理就是把用户访问的所有对象看作一个全集,经过算法标记哪些是用户经常访问的对象,把这些对象放到一个集合里,这个集合是全集一个子集,下一次用户再访问的时候会先从这个子集集合中查找用户要访问的对象如果找到就直接返回这个对象...
动态加载图片是很多安卓应用的基础。在Yelp(美国最大点评网站)中,图片在把消费者与商家联系起来的过程中至关重要。随着网络通信和硬件水平的越发强大,消费者对于图片数量和图片质量的期望日益增长。图片可以轻易的成为内存和网络流量的消耗大户,处理图片...
不废话,先看效果,嗯...看起来有点卡,截图软件的问题: 图中普通列表是ListView样式,没有设置Header和Footer时使用默认的下拉刷新和上拉加载。而宫格列表和瀑布流列表使用的是自定义Header和Footer的下拉刷新和上拉上拉加载。 用法: Gradle: dependenci...
最近想录制一段视频用来演示自己的作品 XBrowser 的网址补全及搜索提示功能 , 通过屏幕录制生成的.mp4文件把视频放到'某酷' 视频网站,本来才十几秒的产品演示,前置广告就近一分钟。这是实在是让人崩溃,无奈之下只好放弃,突然我在想为什么不用gif呢?gif图...
Android 程序中实现Tab类型界面很常见,本人在做项目的时候也经常用到,所以想在这里总结一下,实现tab类型界面的几种方式,供大家参考。如有不对之处,欢迎大家指正! 一、TabActivity + TabWidget + TabHost. 实现TAB类型界面,首先想到的就是这种方式...
自己学了两三个月的Android,最近花了一周左右的时间写了个App——Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧;我刚开始学习总结的——《我是如何自学Android,资料分享》,如果是初学Android 的话,不应该...
Android中的TextView是整个framework中最复杂的控件之一,负责Android中显示文本的大部分工作,framwork中 的许多控件也直接或者间接的继承于TextView,例如Button,EditText等。其内部实现也相当复杂,单论代码行数来说,android- 22中TextView有足足9509行...
早期的Android系统几乎只支持ARMv5的CPU架构,你知道现在它支持多少种吗?7种! Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应...
由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:binlog或者relay log数据损坏 数据不同步给应用带来的危害是致命的,当出现主从数据不一...
嘿!经过一段时间收集了大量反馈意见后,我认为应该来说说这个话题了。我会在这里给出我认为构建现代移动应用(Android)的好方法,这会是另一番体味。 开始之前,假设你已经阅读过我之前撰写的文章“ Architecting Android…The clean way ”。如果还没有...
在这次的工作开发项目中,涉及到一个视频缩略图的视频列表;这个在大家看来,制作视频缩略图就是两行代码就搞定的事。确实是这样的,百度一下,每个 帖子都知道制作视频缩略图的方法,在这里确实也是一样的,但是我要实现的是让缩略图 在ListView上显示,而且...