随笔分类 - android
摘要:##TraceView在应用运行时,可以使用Debug类打开操作日志记录功能,打开后Android会详细记录应用花在每个线程以及线程的每个函数的调用时间。操作日志记录完毕后,可以使用Android SDK自带的traceView工具将应用操作日志图形化显示,在应用开发的过程中,可以用它来观察应用的性...
阅读全文
摘要:在Android开发过程中,总免不了要调试,无论是Debug,还是Android自带的Logcat,抑或DDMS等等,使用得当会给我们开发带来事半功倍的作用。平时各种调试手段都试过,但很多东西,特别是一些命令,用完就忘了,想起来要用又要google;所以打算把这些东西整理出来,方便日后查看,也算是对...
阅读全文
摘要:##1.http缓存机制要弄明白volley缓存机制,那么肯定是和浏览器的缓存机制有关了,简单来说volley整套框架要做的事都是模拟浏览器来进行一次次的http交互###1.1.概述http缓存的是指当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始服务器中提取...
阅读全文
摘要:一、android 软件盘事件响应在android中,有时需要对EditText实现软件盘监听的场景。当android按下软键盘的时候,响应完成、发送、搜索或者其他事件。Google 提供了 EditorInfo、KeyEvent 的一些方法,能够实现我们需要的功能。详细可研究:EditorInfo...
阅读全文
摘要:为什么使用Volley Android提供了两个HTTP库给开发者来进行实现一个HTTP请求,一个是AndroidHttpClient(从apacheHttpClient拓展而来),另一个是HttpUrlConnection。两者都互有优缺点。当我们开发一个应用,一般来说,我们会写一些Http连...
阅读全文
摘要:SpannableStringBuilder 官方文档解释:这个类可以使文本的内容和标记都可以改变。当我们要为TextView或者Edittext里面的文字加入加入一些效果,如下划线,颜色标 识,超链接等,类似word文档一样。这时候可以用到SpannableStringBuilder ,Spann...
阅读全文
摘要:当我们想做一个类似于微信菜单很快我们应该可以想到可以用support-v7包或者actionbarshecklock,然后就写menu布局,如下 然后就是在onCreateOptionsMenu中调用一下menu布局,貌似一切都大功告成了,在类似于nexus5这样...
阅读全文
摘要:HashMap是java里比较常用的一个集合类,我们一般用来缓存一些处理后的结果。但当你做一个Android项目时,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个performance警告。意思是说Map已经不用了,使用SparseArray代替,以获取更好性能。为什么用SparseArray呢,单从字面意思,SparseArray就是稀疏数组(参见http://hi.baidu.com/piaopiao_0423/item/d8cc2b99729f8380581461d1)。 所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造..
阅读全文
摘要:从开发的角度来讲,一款软件的优秀与否,除了与软件整体架构有关,还决定于开发者的编码是否规范以及能否对相关平台特性的充分利用。对于软件的整体架构, 目前阶段我们只能依靠开发者的经验,去构建良好的架构。对于编码是否规范以及平台特性的使用,除了开发者的编码经验,我们还可以依赖一些工具来对我们编写 的源码进行检查,来提高代码的质量。本文将以Android为平台,对三种代码质量检查的工具进行介绍。一、Android SDK中自带的StrictMode(限制模式) 最新的Android平台中(Android 2.3起),新增加了一个类,叫StrictMode(android.os.StrictMo...
阅读全文
摘要:BitmapFactory.decodeFile(imageFile);用BitmapFactory解码一张图片时,有时会遇到该错误。这往往是由于图片过大造成的。要想正常使用,则需要分配更少的内存空间来存储。BitmapFactory.Options.inSampleSize设置恰当的inSampleSize可以使BitmapFactory分配更少的空间以消除该错误。inSampleSize的具体含义请参考SDK文档。例如:BitmapFactory.Options opts = new BitmapFactory.Options();opts.inSampleSize = 4;Bitmap
阅读全文
摘要:前言:目前一般手机的相机都能达到800万像素,像我的Galaxy Nexus才500万像素,拍摄的照片也有1.5M左右。这么大的照片上传到服务器,不仅浪费流量,同时还浪费时间。在开发Android企业应用时,会经常上传图片到服务器,而我们公司目前维护的一个项目便是如此。该项目是通过私有apn与服务器进行交互的,联通的还好,但移动的速度实在太慢,客户在使用软件的过程中,由于上传的信息中可能包含多张图片,会经常出现上传图片失败的问题,为了解决这个问题,我们决定把照片压缩到100k以下,并且保证图片不失真(目前图片经过压缩后,大约300k左右)。于是我就重新研究了一下Android的图片压缩技术。
阅读全文
摘要:在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView, GridView 或者ViewPager控件),显示在屏幕上的图片以及即将显示在屏幕上的图片数量是非常大的(例如在图库中浏览大量图片)。在这些控件中,当一个子控件不显示的时候,系统会重用该控件来循环显示 以便减少对内存的消耗。同时垃圾回收机制还会释放那些已经载入内存中的Bitmap资源(假设您没有强引用这些Bitmap)。一般来说这样都是不错的,但是在用户来回滑动屏幕的时候,为了保证UI的流畅性和载入图片的效率,您需要避免重复的处理这些需要显示的图片。 使用内存缓存和磁盘缓
阅读全文
摘要:由于这两天在做listView的东西,所以整理出来一些我个人认为比较特别的属性,通过设置这样的属性可以做出更加美观的列表首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true"第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。an
阅读全文
摘要:把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢?那个更合理? 1. 常量接口Java代码 publicinterface ConstInterfaceA { publicstaticfinal String CONST_A = "aa"; publicstaticfinal String CONST_C = "ac"; } 存在问题: 1) 无法限制开发员继承/实现接口. 2) 开发员能够在子接口里继续添加常量.而这些常量可能得不到祖先层的支持. 3) 常量作为参数时,是String,int等弱类型,开发员可以传入没有在常量接口里定义的值,
阅读全文
浙公网安备 33010602011771号