android
serapme
理论联系实际
展开
-
关于 contentObserver()中的onChang()执行两次的问题
计划是写一个监听信息的东西,在网上一查,好多大婶们都说如果监听广播的话很有可能被第三方的信息应用比如飞信或者GO短信把广播截取了,因为急着做出东西,就没采取这条路,有机会试试监听广播的方法,看看是否可行,毕竟自己看到了才确定嘛!鼓励动手,坚持执行力~~ 我采用的是监听数据库变化的方法来监听信息,监听数据库的话就用到了本文的主角了ContentObserver(handler),当然它对我们有用原创 2012-03-28 19:34:59 · 6560 阅读 · 4 评论 -
JAVA字符串的优化
Java 程序优化:字符串操作、基本运算方法等优化策略 看了这篇文档,略有所感,所以本篇算是一个读后感。和上篇JAVA一种提升输出速度的方法 进一步。 主要涉及了7种优化方式。 1.subString(begin,end): subString是截取String中一段的方法,我在这个上面还吃过苦头的,之前做过一个大数据量的subString一直OOM,没找到解决办法,今天看到文中提到如果使用原创 2015-07-01 14:48:15 · 1304 阅读 · 0 评论 -
Android Studio编译大工程报错:java.exe'' finished with non-zero exit value 1
困扰了三天的Android Studio编译报错终于解决了! 三天尝试了各种不同的方案针对各个不同的方方面面,然而真相只有一个! 原问题情景:由于项目工程特别大,在编译一段后就会报下面这个错误:Error:Execution failed for task ':dexAppDebug'.> com.android.ide.common.process.ProcessException: org原创 2015-06-29 18:58:56 · 51844 阅读 · 27 评论 -
Volley学习之一AtomicInteger
RequestQueue中第一行代码private AtomicInteger mSequenceGenerator = new AtomicInteger();用来产生一个自增的计数,这里用AtomicInteger主要考虑到应用场景为高并发,使用普通count++计数会出现问题。那么AtomicInteger是怎么处理高并发的场景呢? 我们来看下这个类的几处核心代码public class A原创 2015-06-11 16:01:28 · 666 阅读 · 0 评论 -
细节取胜的javadoc
今个以为开发经验丰富的同事提出有个修改有问题,希望改一下,老前辈发话,心虚的紧,马上看了下,问题说是我的方法注释中写了一个** doesn't **建议改为does not说这个生成javadoc有问题,咦,不禁困惑,这个写法我记得没有违反javadoc的语法规则。 但前辈说了必然不虚,赶快查阅了ORACLE的javadoc文档 how to write docdocument for java原创 2015-07-02 14:08:23 · 828 阅读 · 0 评论 -
androidStudio 又添一个新武器 findBugs
今天为我的androidStudio开发又添了一个新武器:findBugs,可以在code和编译过程中查找代码存在的问题,这个对我这种编程风格的人来说帮助很大(PS:我的编程风格是写代码先写更改,然后通过不断测试样例进行改进,调试需要花些时间,之前有文说这种编程风格比先想好再写需要更多时间,所以也在不断调整)。 好吧,给出添加插件方法:AndroidStudio->Settigns->Plugin原创 2015-07-13 19:11:57 · 9726 阅读 · 0 评论 -
soundPool和audiofocus
audiofocus试验: 使用soundPool来写一个播放音频的porject. 资源初始化:setContentView(R.layout.activity_main); Button bt1 = (Button)findViewById(R.id.bt1); Button bt2 = (Button)findViewById(R.id.bt2);原创 2015-07-14 13:54:42 · 1483 阅读 · 0 评论 -
material颜色采样
http://www.materialpalette.com/light-blue/cyan 默默地收下这个materia设计的网站,用来颜色采样棒棒的!原创 2015-07-14 14:44:08 · 751 阅读 · 0 评论 -
animation-circleProgress
CircleProgress github上一个开源项目 代码的主要目录是这样 1. CircleProgress 2. EaseInOutCubicInterpolator 3. MainActivity MainActivity是主界面负责布局的初始化和动画的启动暂停等控制 EaseInOutCubicInterpolator是时间插值生成的类 下面附上加了注释的代码原创 2015-07-16 11:08:27 · 2337 阅读 · 0 评论 -
animation之objectAnimator
这次借助github上的开源项目ShapeLoadingView来学习下ObjectAnimator和animatorSet. 代码结构目录:ShapeLoadingView.javaLoadingView.java LoadingView是绘制三个基本图形的类。 ShapeLoadingView初始化图形并操作图形进行动画。 下面上加了注释的代码:package com.mingle原创 2015-07-17 12:12:22 · 4318 阅读 · 1 评论 -
三次贝塞尔曲线画圆的方法。
上一篇说的仿58同城loadingview的项目,中有一个利用贝塞尔曲线进行绘制圆的步骤,这个贝塞尔曲线理论挺复杂,特此单独说一下所知的和能用到的。 比如上一个loadingView的项目中,要用到Path.cubic()来使用贝塞尔曲线画一个圆,那么首先要了解的是 Path.cubic()方法的定义:void cubicTo(float x1,float y1,float x2,float y原创 2015-07-20 10:26:20 · 18048 阅读 · 3 评论 -
Android动画学习笔记-Android Animation
转载一篇动画的博文原文点这里 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 可通过NineOldAndroids转载 2015-07-22 16:52:29 · 2076 阅读 · 0 评论 -
android的focus问题
因为工作关系,涉及到很多的安卓物理键盘引起的Focus问题。汗,我估计在Android code这群人里,每天要和Focus问题打交道的少之又少了吧,现在好多应用在设计时很少考虑物理键盘或者蓝牙键盘了,因为应用场景极少,在这少之又少的项目中估计就是我参与的产品了。 言归正传,focus属性在谷歌亲儿子不用物理键盘后基本上没有设计上的升级了吧(个人感觉).且在现在为了界面美观绚丽而进一步复杂的布局设原创 2015-05-15 19:57:00 · 1555 阅读 · 0 评论 -
android自定义属性三部曲
我们在开发中经常需要为了保持应用在不同的移动设备平台下显示统一的UI风格,毕竟各个平台厂商针对界面风格进行自定义导致UI风格千变万化。所以我们需要使用自定义属性。原创 2015-06-09 11:23:19 · 611 阅读 · 0 评论 -
android创建工程时自动创建的V4和V7工程
使用Eclipse新建一个简单的有Blank activity的工程时,会自动创建一个继承于actionbarAcyivity的类,实现了以下代码: @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu);原创 2015-04-30 12:11:41 · 1159 阅读 · 0 评论 -
viewstub中使用merge遇到的问题
今天写viewStub中用了merge标签 出了问题 布局demo如下: 主布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_p原创 2015-05-04 11:56:54 · 4000 阅读 · 0 评论 -
LRU缓存机制
今天在看Android内存优化的文档的时候,有一段提到了LRU内存缓存机制,当时一下没想起来,遂search in net.然后知道真相的我眼泪掉下来,%>_<% 大学时候学的操作系统只是都扔了,想起操作系统老师的满头白发╮(╯▽╰)╭ 老师 对不起您 鞠躬 下面背一段书。LRULRU是Least Recently Used 的缩写,翻译过来就是最近最少使用。机制是把最近最少使用的数据移除,放原创 2015-05-15 19:21:25 · 800 阅读 · 0 评论 -
性能分析与优化的故事
今天偶然听到一个传闻,来自于刚跳槽的2个同事,说是找新工作面试前都看过Android性能优化的技术文档,说现在面试官爱问这个,看了这个薪水能有很大提升。 安卓性能优化已经这么迫切了么?原创 2015-05-14 18:54:04 · 482 阅读 · 0 评论 -
判断Intent是否安全的方法queryIntentActivities的使用
刚看到一篇博文,提到验证是否有APP可以接受一个Intent,这样可以在发送Intent前,避免发送的Intent没有能够接收的APP,导致FC。因为没有这个习惯~,所以特意试了一下。核心代码:PackageManager packageManager = getPackageManager();List<ResolveInfo> activities = packageManager.query原创 2015-05-07 12:10:28 · 7049 阅读 · 0 评论 -
LocalBroadcastManager使用简析
LocalBroadcastManager属于v4包里面的类。android.support.v4.content.LocalBroadcastManagerdeveloper里面OverView是这么写的: Helper to register for and send broadcasts of intents to local objects within your peocess.this原创 2015-06-23 15:34:24 · 515 阅读 · 0 评论 -
LruCache缓存方法
package android.util;public class LruCache <K, V>{ public LruCache(int maxSize){} ...}LRU是Least Recently Used 近期最少使用算法。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存. 明白了LRU,原创 2015-06-24 16:08:36 · 2493 阅读 · 0 评论 -
同一个应用程序的不同Activity可以运行在不同的进程中么?
今在网上看到这个问题,挺理论化的一个问题,值得掰扯同一个应用程序的不同Activity可以运行在不同的进程中么?这个问题重点是:一个应用程序的两个activity可以在两个进程中跑么?如草图(→_→) 好吧,好不容易画了个图传不上来…. 直接上段子:android:process=""此属性强有力的证明了这个问题的可行性.翻了下老罗的博客,找到以下代码 public class Acti原创 2015-06-08 19:46:29 · 7150 阅读 · 0 评论 -
升级JDK后SdkManager无法启动的问题
今天要把一个古老的工程从Eclipse迁移到AndroidStudio。于是开始了编译环境的搭建。 首先启动AndroidStudio遇到一个错误提示:Prime size must be multiple of 64,什么512-1024之间的search了一下,说这是java1.7的一个bug,已经在新版本中fix了。于是下载了java8安装了下,然后sdkManager就启动不了了。 由于原创 2015-06-26 10:49:11 · 4076 阅读 · 0 评论 -
使用Android Studio遇到JAVA (TM) Platform SE binary stop working的问题
使用Android Studio编译项目时总提示:JAVA (TM) Platform SE binary stop working,导致编译出错。 如题遇到该问题,费劲脑汁,百思不得其解。百般尝试后找到办法: 原问题地址:http://blog.csdn.net/serapme/article/details/46647449问题原因:项目中文件地址路径过长,超过255bytes.解决办法:原创 2015-06-29 12:20:55 · 4009 阅读 · 0 评论 -
String.getBytes() 与float数据类型比较
今天使用了代码检测工具跑了一遍工程代码,报了几个预料之外的问题,有两个看到就知道问题所在的但是平时一不注意就忽视了,mark一下 1.String.getBytes() 报了一个编码问题,因为String.getBytes()默认采用的是系统的编码方式,凡是default的都需要注意,因为在不同平台上的编码格式不同,可能导致在不同平台上出现不同的结果。 JAVA中默认的unicode或者数据库原创 2015-06-09 10:33:39 · 768 阅读 · 0 评论 -
使用SpannableString实现一个load小动画
依旧是github开源项目:WaitingDots 这个项目代码不多,实现的很简单,但是很有意思因为动画的基本元素不是画出来的,而是使用了spannableString来实现。DotsTextView.javaJumpingSpan.javaMainActivity.java DotstextView是动画的实现主体。 JumpingSpan是基本元素,是动画中的插件 MainA原创 2015-07-23 17:51:03 · 2294 阅读 · 2 评论