Android
IceHermes
这个作者很懒,什么都没留下…
展开
-
一些英文词的标准缩写
有些词可能共用一些缩写。带星号的缩写或词来源于PeopleSoft标准。The following standard word abbreviations should be used in naming records, fields, and SQRs:Word(s)AbbreviationDescriptionAbbreviateA转载 2015-12-03 16:27:26 · 5807 阅读 · 0 评论 -
Android系统性能调优工具介绍
经作者授权,发表Tieto某青年牛的一篇《程序员》大作。Android系统性能调优工具介绍在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:测评:对系统进行大量有针对性的测试,以得到合适的测试数据。分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。性能优化:对hotspot相关的代码进行优化。转载 2015-02-01 17:13:27 · 672 阅读 · 0 评论 -
使用Gradle构建Android项目
新项目中,使用了Google I/O 2013发布的新工具,使用Gradle构建android项目,并且在新版的Intellig IDEA以及google的Android Studio对其支持。本文就介绍一下怎么使用gradle构建android项目,进行多个版本编译。Gradle是什么?Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是goo转载 2015-02-01 17:30:45 · 739 阅读 · 0 评论 -
“APP_NAME" IS NOT TRANSLATED IN ZH, ZH_CN……..解决办法
今天把Android Studio更新到0.8.9,一如既往出现各种神坑。调试的时候没啥问题,在打包的时候出现了"app_name" is not translated in zh, zh_CN…..的问题,说到底就是本地化不完全的意思。新版的Android Studio至少有点改进,就是这种奇怪问题出现的时候,会有些小提示来帮助解决,甚至有时候会自动帮你解决。这次的提示至少算不上傻瓜化,转载 2015-01-10 18:47:47 · 24151 阅读 · 8 评论 -
Fragment生命周期
官方文档中有详细的文字说明,不过最好还是实践下,熟悉过程。http://developer.android.com/guide/components/fragments.html一、Activity的生命周期图:二、Fragment生命周期图三、对比图四、测试代码:[java] view plaincopy转载 2014-12-19 11:21:29 · 638 阅读 · 0 评论 -
JAVA字符串格式化-String.format()的使用
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Lo转载 2014-12-19 11:16:49 · 488 阅读 · 0 评论 -
单例的最佳实现方式
public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() { } /** * SingletonHolder is loaded on the first execution of Singleton.g原创 2014-12-01 11:38:34 · 515 阅读 · 0 评论 -
Sparse类和ListView,GridView多选的学习
最近用到ListView展示数据的时候需要有编辑删除功能,这就涉及到item多选的操作。之前实现的都是自己来保存选中的position,但项目中看到有人使用SparseBooleanArray可以直接取到选中的item,不禁查了下原来ListVIew早在API1的时候就保存了item的选中与否。下面就自己测试过程,记录几个使用中可能遇到的问题。public SparseBooleanAr转载 2014-11-24 14:35:55 · 1324 阅读 · 0 评论 -
Android Application对象必须掌握的七点
1:Application是什么?Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 App转载 2014-09-16 19:21:47 · 879 阅读 · 0 评论 -
Head First学习笔记
OO基础:封装 继承 多态 抽象OO原则:封装变化 多用组合,少用继承 针对接口编程,不针对实现编程为交互对象之间的松耦合设计而努力依赖倒置原则(要依赖抽象,不要依赖具体类.不要让高层组件依赖底层组件,都应该依赖抽象)最少知识原则:只和你的密友交谈。减少对象之间的交互,只留下几个密友。OO模式:策略模式:定义算法族,分别封装一起,让它们之间可以相互替换,此模式让原创 2014-03-19 18:13:33 · 572 阅读 · 0 评论 -
Android源码分析:HeaderViewListAdapter
对于手机开发,我一直坚持的是“用iPhone的方式开发iPhone应用,用Android的方式开发Android应用”。但如何去把握iPhone或者Android的方式呢?在iPhone开发时可能需要看大量Apple文档。而Android在看文档的同时还可以看看源码。这源码中有时可以发现一些内部实现加深理解,有时可以受到某些可以在应用中使用的启发。总之源码是一个需要去发掘的“矿场”,时而不时地都会转载 2014-06-12 18:48:23 · 762 阅读 · 0 评论 -
android dialog圆角显示及解决出现的黑色棱角
原文地址:http://blog.csdn.net/jj120522/article/details/7871289最近在开发一个天气预报的app,看到一个比较不错友情提示,如下: 怎么样,看起来比原始的dialog好看吧.好了,做法也许有很多,我介绍下我的做法吧, 首先,我第一个想到的就是重写dialog.自定义一个layout转载 2014-06-11 13:59:02 · 11165 阅读 · 1 评论 -
Android中.9.png图片的使用过程和原理
原文链接:http://www.2cto.com/kf/201403/285698.html1、Android中放置图片资源的文件夹Android中一般有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-xxhdpi等放置图片资源的文件夹,这几个文件夹分别对应的像素密度为:转载 2014-06-10 16:55:30 · 13152 阅读 · 0 评论 -
常用正则表达式大全!(例如:匹配中文、匹配html)
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:]*>.*?|转载 2014-06-25 17:10:24 · 483 阅读 · 0 评论 -
Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/21696315),请尊重他人的辛勤劳动成果,谢谢!今天这篇文章主要分析的是Android的事件分发机制,采用例子加源码的方式让大家深刻的理解Android事件分发的具体情况,虽然网上很多Android的事件分发的文章,有些还写的不错,但是我还是决定转载 2014-06-25 14:56:18 · 846 阅读 · 0 评论 -
使用ListView应该注意的地方
ListView的Item中含有Button时无法响应onItemClick()? 解决办法就是将Button的Focus设置为非默认获取 方法一:将ListView的Item Layout的子控件focusable属性设置为false 方法二(推荐):对Item Layout的根控件android:descendantFocusability="blocksDescendan转载 2014-06-24 17:30:52 · 641 阅读 · 0 评论 -
当ViewPager嵌套在ScrollView/ListView里时,手势冲突如何处理?
有时我们需要将ViewPager嵌套在其他已经含有手势动作的ViewGroup里,如ScrollView,ListView时,会造成手势冲突,如表现为ViewPager向左划时,不小心向上移动了一点距离,ViewPager立刻回弹到原始位置。主要问题出在ScrollView/ListView作为ViewPager的ParentView,会先接受到触摸信息,而且他们对上下滑动是会做出拦截动作转载 2014-05-15 11:44:05 · 1246 阅读 · 0 评论 -
Android视觉规范-间距规范与文字规范单位换算(dip、sp与px)
1、dip与pxAndroid工程师在写页面时,margin值的单位是dip,而视觉设计师通常情况下是通过px来控制margin值的,不同单位之间的差别是什么呢?看下面的参数。 在WVGA(800x480)下dip与px之间的视觉测算结果: 1dip=2px9dip=14px17dip=26px转载 2014-05-06 09:51:52 · 934 阅读 · 0 评论 -
ScheduledThreadPoolExecutor实现原理
自jdk1.5开始,Java开始提供ScheduledThreadPoolExecutor类来支持周期性任务的调度,在这之前,这些工作需要依靠Timer/TimerTask或者其它第三方工具来完成。但Timer有着不少缺陷,如Timer是单线程模式,调度多个周期性任务时,如果某个任务耗时较久就会影响其它任务的调度;如果某个任务出现异常而没有被catch则可能导致唯一的线程死掉而所有任务都不会再被调转载 2015-02-01 17:21:13 · 830 阅读 · 0 评论 -
如何有效的减少重复的代码
重复的代码一直都是可维护性的大敌,重构的重要任务之一也就是要去除掉重复的代码,有效的减少重复代码,可以大大提高软件的扩展性。在Android开发中,很容易产生重复的代码。因为Android是组件,模板式开发,每个页面都是独立用Activity或Fragment实现,布局文件都是用XML方式去写,所以很容易造成代码的重复,虽然二个页长的差不多,但毕竟是二个Activity,于是就拷一份出来,转载 2015-02-01 17:28:55 · 1990 阅读 · 0 评论 -
Activity生命期的代码含义
在过去的应用程序开发中,读者大多数已经了解了Activity生命期中的几个主要状态,并知道如何在这些状态中做不同的事情。但多多少少还是存在一些疑惑,比如start和stop状态从代码的意义上来讲,差别到底在哪里。尽管你可能会说:"stop代表了Activity的停止,而start代表了Activity的开始",那么,问题是"开始"和"停止"的差别又在哪里?诸如此类,本节就来揭示这些不同状态背后所隐转载 2015-10-29 11:17:15 · 670 阅读 · 0 评论 -
简明 Git 命令速查表(中文版)
创建复制一个已创建的仓库:$ git clone ssh://user@domain.com/repo.git创建一个新的本地仓库:$ git init本地修改显示工作路径下已修改的文件:$ git status显示与上次提交版本文件的不同:$ git diff把当前所有修改添加到下次提交中:$ git add把对某个文件转载 2015-06-26 10:25:29 · 668 阅读 · 0 评论 -
android shape的使用
android shape的使用shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下:按 Ctrl+C 复制代码按 Ctrl+C 复制代码填充:设置填充的颜色间隔:设置四个方向上的间隔大小:设置大小圆角:同时设置五个属性,则Radius属性无效android:Radius="20dp"转载 2015-06-04 17:08:12 · 625 阅读 · 1 评论 -
SelectorChapek插件
SelectorChapek是一款帮助我们快速完成Selector的AndroidStudio插件安装选择Preferences→Plugins→Browse repositories搜索SelectorChapek安装下载并在Preferences→Plugins→Install plugin from disk选择安装使用在资源文件夹上右击,如drawabl转载 2015-06-03 19:03:48 · 2106 阅读 · 0 评论 -
Android中的Thread与AsyncTask的区别?
Android 原生的 AsyncTask.java 是对线程池的一个封装,使用其自定义的 Executor 来调度线程的执行方式(并发还是串行),并使用 Handler 来完成子线程和主线程数据的共享。预先了解 AsyncTask,必先对线程池有所了解。一般情况下,如果使用子线程去执行一些任务,那么使用 new Thread 的方式会很方便的创建一个线程,如果涉及到主转载 2015-06-02 10:49:38 · 2976 阅读 · 0 评论 -
Android TextView显示中文不对齐问题
在最近迭代的版本中,根据测试的反馈,说有些内容显示很不整齐,会给用户体验带来不好的影响,比如有些行还有可以现实很多内容的,但是却无缘无故换行了。其实这在我看来不是什么大问题,但是既然测试要把这个当做bug来处理,一直关注产品bug的我是必须要解决这个问题的。原理造成TextView排版内容显示不整齐的原始是因为半角字符和全角字符混用,这样的情况一般是汉字与数字、英文字母混用的结果转载 2015-04-10 16:02:16 · 7609 阅读 · 2 评论 -
ADB server didn't ACK,adb无法正常启动
adb server is out of date. killing...ADB server didn't ACK* failed to start daemon *error: unknown host service 使用adb时,若出上面的错,使用adb kill-server是没有用的,因为此时是其他进程的监听了abd端口(5037),而不是adb。我用cm原创 2015-04-10 10:19:56 · 604 阅读 · 0 评论 -
手机淘宝性能优化
前言为了满足不同用户的多样性购物需求,过去两年里手机淘宝的业务不断膨胀,已经从单一的购物工具成为了购物内容平台。在业务快速增长的同时,也带来一些副作用,很多操作环节和页面因为承载功能太多,展示速度变慢,用户等待时间变长,性能优化势在必行。通过大半年的摸索总结,从实践中我们得出了App性能优化的七大策略:1.建立监控体系,善用分析工具2.完转载 2015-03-24 18:25:48 · 1118 阅读 · 0 评论 -
OkHttp使用教程
Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient。关于HttpURLConnection和HttpClient的选择>>官方博客尽管Google在大部分安卓版本中推荐使用HttpURLConnection,但是这个类相比HttpClient实在是太难用,太弱爆了。OkHttp是一个相对成熟的解决方案,据说Android4.4的源码中可转载 2015-03-30 17:09:01 · 71088 阅读 · 6 评论 -
Android WebView开发问题及优化汇总
我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题。就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来。有些是老生常谈,有些则是个人摸索得出解决方法。下面就是整理得到的些干货。1.加快HTML网页装载完成的速度默认情况html代码下载到WebView后,webkit开始解析网页各个节点,发现有外部样式文件或者外部脚本文件时,会异转载 2015-03-27 18:51:51 · 757 阅读 · 0 评论 -
LayoutInflater.inflate方法解析
LayoutInflater.inflate方法应该是Android程序员最常使用的方法之一了,但是如果使用不当,你会碰见很多的坑。。。今天我就碰到了一个,我找到了解决方法,也打算把它记下来。。。事情是这样的,我有一个LineaLayout,然后在代码中会inflate若干个View添加到这个LineaLayout中,但是坑出现了。。。0x00 一个栗子需要添加到Lin转载 2015-02-03 19:10:08 · 2805 阅读 · 2 评论 -
最好的5个Android ORM框架
在开发Android应用时,保存数据有这么几个方式,一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择)。对于第一种方式,即本地数据存储,如嵌入式SQLLite,你可以选择直接使用SQL语句、Content Provider 或 ORM(对象关系数据映射)。对于 Android 应用的开发,主要是使用转载 2015-02-04 17:34:23 · 653 阅读 · 0 评论 -
Andriod开发技巧——Fragment的懒加载
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样的结果,我们当然不会满意。那么,能不能做到当切换到这个fragment的时候,它才去初始化呢?答案就在Fragment里的setU转载 2015-02-03 18:37:57 · 652 阅读 · 0 评论 -
ViewHolder模式超简洁写法
ViewHolder是什么就不解释了。 大家通常怎么写ViewHolder呢?[mw_shl_code=java,true] ViewHolder holder = null; if(convertView == null){ convertView = mInflater.inflate(R.layout.x转载 2014-12-10 18:57:06 · 601 阅读 · 0 评论 -
Instagram工程师教你如何改善App的性能
扁平化设计仅仅只是一个漂亮的外表,还是一个性能利器,从而触发一场UI革命?实践证明是后者。Tyler Kieft 是Instagram一名工程师,他详细解释了这其中的缘由,更详细的内容请关注他在@scale会议上的演讲: 标准安卓手机上的Instagram 。这个演讲是由Facebook提供的,是“如何在实际情况下设计移动应用程序”系列的一部分,这里的“实际情况”是指那些手机速度更慢、屏幕转载 2015-02-01 17:13:01 · 655 阅读 · 0 评论 -
Android中View大小的确定过程
View and ViewGroup安卓中有5种基本的 ViewGroup:FrameLayoutRelativeLayoutLinearLayoutTableLayoutAbsoluteLayoutViewGroup可以添加子View,在xml文件里面,我们可以这样写: android:layout_width="match_paren转载 2015-02-01 17:22:13 · 3806 阅读 · 0 评论 -
android ListView几个比较特别的属性
通过设置这样的属性可以做出更加美观的列表首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true" 第二是transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望转载 2014-04-18 13:48:55 · 596 阅读 · 0 评论 -
让我的头像圆起来--Android之圆头像
在很多应用中,我们看到,个人主页里面的头像一般都是圆的,设计成圆的会使整个界面布局变的优雅漂亮。那么,怎么使头像变圆呢?有的人说可以在上面加一个中间为透明圆形的png图,用它来遮盖住头像不就行了嘛,但是png四周始终始终是不透明的,怎么做也达不到如下的效果图的。下面我们讲讲怎么做成的吧。首先创建一个继承ImageView的抽象类MaskedImage。让他重转载 2014-03-31 14:19:50 · 850 阅读 · 0 评论 -
Android Service完全解析,关于服务你所需知道的一切(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,转载 2014-03-19 11:51:29 · 657 阅读 · 0 评论 -
Android官方的SlidingMenu--Navigation Drawer
SlidingMenu相信都不陌生,很多应用采用了这个方案,像facebook、人人网、everynote等等。因为效果确实比较新颖,所以有很多开发中开始去实现,解决办法也是不尽相同。其中比较好的算是开源https://github.com/jfeinstein10/SlidingMenu,说实话这个用起来比较麻烦,要导入很多类库。 也许谷歌也对SlidingMenu这个效果比较感兴趣,转载 2013-05-30 17:43:01 · 3605 阅读 · 0 评论