android开发
文章平均质量分 69
enly_stay
因上努力,果上随缘
Theory of 10000 hours
展开
-
Android 线程池管理
ThreadPoolExecutor线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,BlockingQueue workQue转载 2014-07-16 11:58:06 · 385 阅读 · 0 评论 -
android 提升性能总结
出色的用户体验有三个特征:速度快、响应及时以及无缝。下面的信息帮助你的应用如何能够在Android上实现这些特征。一、速度快你不能假设手机与桌面系统和服务器一样提速,更多的是你要关注你的代码是否高效。编写高效的Android代码,应遵循两个原则:不要做不必要的事不要分配不必要的内存以下是一些达到此目标的小技巧(有一些技巧是与oo的原则冲突,斟酌使用场转载 2014-06-17 08:27:54 · 542 阅读 · 0 评论 -
Android之如何避免系统回收
如何防止Android应用中的Service被系统回收? 很多朋友都在问,如何防止Android应用中的Service被系统回收?下面简单解答一下。 对于Service被系统回收,一般做法是通过提高优先级可以解决,在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = "1000"这个属性设置最高优转载 2014-06-16 21:48:02 · 752 阅读 · 0 评论 -
activity和service之间的相互通信方法
在android中Activity负责前台界面展示,service负责后台的需要长期运行的任务。Activity和Service之间的通信主要由IBinder负责。在需要和Service通信的Activity中实现ServiceConnection接口,并且实现其中的onServiceConnected和onServiceDisconnected方法。然后在这个Activity中还要通过如下代码绑转载 2014-06-17 08:55:35 · 526 阅读 · 0 评论 -
使用LRU算法缓存图片
在您的UI中显示单个图片是非常简单的,如果您需要一次显示很多图片就有点复杂了。在很多情况下(例如使用 ListView, GridView 或者 ViewPager控件),显示在屏幕上的图片以及即将显示在屏幕上的图片数量是非常大的(例如在图库中浏览大量图片)。在这些控件中,当一个子控件不显示的时候,系统会重用该控件来循环显示 以便减少对内存的消耗。同时垃圾回收机制还会释放那些已转载 2014-06-17 09:11:47 · 476 阅读 · 0 评论 -
Android 的进程和线程
android进程模型: 在安装Android应用程序的时候,Android会为每个程序分配一个Linux用户id,并设置相应的权限,这样其它应用程序就不能访问此应用程序所拥有的数据和资源了。 在 Linux 中,一个用户ID 识别一个给定用户;在Android上,一个用户ID 识别一个应用程序。应用程序在安装时被分配用户 ID,应用程序在设备上的存续期间内,用户ID 保持不转载 2014-06-16 20:27:14 · 437 阅读 · 0 评论 -
Android中如何查找内存泄露
1、首先确定是否有内存泄露及哪个程序造成。1.1、内存泄露已弹出out of memory对话框的情况。这种情况很简单,直接看对话框就知道是哪个应用的问题了。然后再分析该应用是否是因为内存泄露造成的out of memory对话框。1.2、对于有内存泄露,但没造成弹出out of memory对话框的情况使用《Android中如何查看内存》中介绍的各种方法进行分析,确定是否有内存泄转载 2014-06-17 23:38:32 · 429 阅读 · 0 评论 -
Android实现推送方式解决方案
本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也转载 2014-10-07 14:57:24 · 537 阅读 · 0 评论 -
[Android分享] [开源]Google code Android开源项目(一)
开源项目不胜枚举,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。1. ZXing http://code.google.com/p/zxing/条形码、二维码2. K-9 Mail http://code.google.com/p/k9mai转载 2014-12-16 21:54:00 · 620 阅读 · 0 评论 -
Android中的Bmp图形格式(ALPHA_8,ARGB_4444,ARGB_8888,RGB_565)
android.graphics.Bitmap.Config是一个枚举类型,里面定义了位图的四种格式.起初有点奇怪,网上查了一下,大概指定了类型名字怪怪的缘由. 从名字中可以看出: ALPHA_8:数字为8,图形参数应该由一个字节来表示,应该是一种8位的位图 ARGB_4444:4+4+4+4=16,图形的参数应该由两个字节来表示,应该是一种16位的位图.转载 2014-12-16 22:18:31 · 3209 阅读 · 0 评论 -
Android_开源框架_AndroidUniversalImageLoader网络图片加载
1.功能概要 Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示。(1).使用多线程加载图片(2).灵活配置ImageLoader的基本参数,包括线程数、缓存方式、图片显示选项等;(3).图片异步加载缓存机制,包括内存缓存及SDCard缓存;(4).采用监听器监听图片加载过程转载 2014-12-16 21:57:53 · 471 阅读 · 0 评论 -
Android开发 解析JSON数据格式 如何去掉JSON数据文件的BOM头
Android开发中如何解析JSON数据格式?1.JSON解析 (1).解析Object之一:1{"url":"http://www.ideaex.net"} 解析方法:1JSONObject demoJson = new JSONObject(json转载 2015-01-10 12:42:34 · 1383 阅读 · 0 评论 -
如何成为Android高手
若立志成为Android高手,如有耐心,“一瓶一钵足矣”。 “天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。”想成为Android高手?这可不是想象中写几行代码那么容易的事情,但也不是不可实现。 如何做? 1,学会懒惰!奇怪吧?但是,你一定也听说过和感受过这个世界某种程度上是由懒人推动的,生命在于懒转载 2015-01-18 15:29:13 · 694 阅读 · 0 评论 -
滑动菜单SlidingMenu实例
设计原理在你的UI布局有限的情况下,放不下太多的控件的时候,可以考虑用这个滑动式菜单。效果图: 效果1 效果2 HorzScrollWithImageMenu.java[java] view plaincopyprint?package grimbo.android.demo.slidingmenu; impor转载 2015-01-03 22:43:10 · 614 阅读 · 0 评论 -
android 滑动菜单SlidingMenu的实现
首先我们看下面视图: 这种效果大家都不陌生,网上好多都说是仿人人网的,估计人家牛逼出来的早吧,我也参考了一一些例子,实现起来有三种方法,我下面简单介绍下:方法一:其实就是对GestureDetector手势的应用及布局文件的设计.布局文件main.xml 采用RelativeLayout布局. [java] view plainc转载 2015-01-03 22:30:48 · 523 阅读 · 0 评论 -
Android客户端通过socket与服务器通信
下面是一个demo,Android客户端通过socket与服务器通信。 由于Android里面可以完全使用java.io.*包和java.net.*包,那么,实际上,逻辑部分与J2SE没有区别。只是UI代码不一样。 Android客户端通过socket与服务器通信分为下面5步:(1)通过IP地址和端口实例化Socket,请求连接服务器; [java]转载 2015-03-27 13:46:10 · 468 阅读 · 0 评论 -
Android Application的作用
2015-03-25 14:07 1人阅读 评论(0) 收藏 举报目录(?)[-]What is ApplicationData passing between components using ApplicationData caching in ApplicationPitFallsMemoryLeakSnippetsapplicationand转载 2015-03-27 16:09:06 · 540 阅读 · 0 评论 -
Android中Dalvik和JVM的区别是什么?
Android中Dalvik和JVM的区别是什么?转载 2014-06-16 22:10:15 · 599 阅读 · 0 评论 -
Android常用知识点总汇
一、系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。 如果在你的android系统上安装了多种浏览器,能否指定某浏览器访问指定页面?答案当然是:肯定的。 具体方法如下:Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW");转载 2014-06-16 21:27:34 · 473 阅读 · 0 评论 -
一个打通jni,java framework,application三层的练习
练习:从jni层获得一个字符串,在屏幕上显示,当然是手机屏幕要求:1.需要包含三层结构:JNI, java framework, java application 2.字符串的内容为“Hello from JNI !”,必须在JNI层定义这个练习是在Android的源码工程下做的,我的Android源代码路径为/Android/android-1.6_r2开工:1. JNI层 :在 /Androi转载 2014-06-16 21:58:30 · 435 阅读 · 0 评论 -
Android有效解决加载大图片时内存溢出的问题
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的转载 2014-07-16 11:49:02 · 406 阅读 · 0 评论 -
Android - 文件操作 小结
在android中的文件放在不同位置,它们的读取方式也有一些不同。一、资源文件的读取: 1) 从resource的raw中读取文件数据:01String res = "";02try{03转载 2014-06-26 08:56:56 · 411 阅读 · 0 评论 -
Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
[-]添加和移除Action Bar修改Action Bar的图标和标题添加Action按钮响应Action按钮的点击事件通过Action Bar图标进行导航添加Action ViewOverflow按钮不显示的情况让Overflow中的选项显示图标转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/1823转载 2014-06-29 13:33:35 · 470 阅读 · 0 评论 -
Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/guide/topics/ui/actionbar.html限于篇幅的原因,在上篇文章中我们只学习了ActionBar基础部分的知识,那么本篇文章我们将接着上一章的内容继续学习,探究一下ActionBar更加高级的知识。如果转载 2014-06-29 14:20:18 · 475 阅读 · 0 评论 -
Android Volley完全解析(三),定制自己的Request
经过前面两篇文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的一张图片转载 2014-06-29 15:55:07 · 873 阅读 · 0 评论 -
Android Volley完全解析(一),初识Volley的基本用法
1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpCl转载 2014-06-29 15:51:46 · 636 阅读 · 0 评论 -
Android Volley完全解析(四),带你从源码的角度理解Volley
经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。多数朋友突然看到一张这样的图,应转载 2014-06-29 15:57:39 · 742 阅读 · 0 评论 -
Android Volley完全解析(二),使用Volley加载网络图片
在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知转载 2014-06-29 15:53:38 · 733 阅读 · 0 评论 -
【Android开发】如何实现android和服务器长连接呢?推送消息的原理
前言:现在的大多数移动端应用都有实时得到消息的能力,简单来说,有发送消息的主动权和接受消息的被动权。例如:微信,QQ,天气预报等等,相信好处和用户体验相信大家都知道吧。提出问题:这种功能必须涉及client(客户端)和server(服务器),所以到底client如何和server实现实时连接通讯?分析问题:这种功能实际上就是数据同步,同时要考虑手机本身、电量、网络流量等等限转载 2014-06-11 16:14:04 · 596 阅读 · 0 评论 -
Android 中Parcelable的作用
android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。 Parcelable实现要点:需要实现三个东西1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下:writeToParcel (Pa转载 2014-06-11 17:17:35 · 443 阅读 · 0 评论 -
线程间通讯机制——深入浅出实现原理
前言:这一篇博文主要是和大家讲解一下线程间通讯机制的内部实现原理,即Handler、Message、MessageQueue、Looper、HandlerThread、AsyncTask类的实现以及之间的关系。如果还没有接触过Handler+Message+Runnable、HandlerThread、AsyncTask的朋友可以先看看基础篇:【Android开发】线程转载 2014-06-11 15:13:35 · 759 阅读 · 0 评论 -
Android Fragment完全解析,关于碎片你所需知道的一切(一)
现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到Fragment了,今天我们就来学习其中一个特别棒的应用技巧。很多手机应用都会有一个非常类似的功能,即屏幕的下方显示一行Tab标签选项,点击不同的标签就可以切换到不同的转载 2014-07-03 23:41:45 · 453 阅读 · 0 评论 -
Android Fragment应用实战,使用碎片向ActivityGroup说再见(三)
现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在即使只是在手机上,也有很多的场景可以运用到Fragment了,今天我们就来学习其中一个特别棒的应用技巧。很多手机应用都会有一个非常类似的功能,即屏幕的下方显示一行Tab标签选项,点击不同的标签就可以切换到不同的转载 2014-07-03 23:48:39 · 539 阅读 · 0 评论 -
Android手机平板两不误,使用Fragment实现兼容手机和平板的程序(二)
记得我之前参与开发过一个华为的项目,要求程序可以支持好几种终端设备,其中就包括Android手机和Android Pad。然后为了节省人力,公司无节操地让Android手机和Android Pad都由我们团队开发。当时项目组定的方案是,制作两个版本的App,一个手机版,一个Pad版。由于当时手机版的主体功能已经做的差不多了,所以Pad版基本上就是把手机版的代码完全拷过来,然后再根据平板的特性部分稍转载 2014-07-03 23:44:06 · 561 阅读 · 0 评论 -
Android开发中的多线程编程技术
多线程这个令人生畏的“洪水猛兽”,很多人谈起多线程都心存畏惧。在Android开发过程中,多线程真的很难吗?多线程程序的“麻烦”源于它很抽象、与单线程程序运行模式不同,但只要掌握了它们的区别,编写多线程程序就会很容易了。下面让我们集中精力开始学习吧! 多线程案例——计时器 我在给我的学生讲多线程的时候都会举一个计时器的案例,因为计时器案例是多线程的经典应用。 这个案例中,屏幕启动转载 2014-06-14 09:48:31 · 469 阅读 · 0 评论 -
Android--多线程之Handler
前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。但实际开发中,很多地方需要在 工作线程中改变UI组件的属性值,比如下载网络图片、动画等等。本篇博客主要介绍Handler是如何发送与转载 2014-06-14 16:54:32 · 424 阅读 · 0 评论 -
android intent和intent action大全
1.Intent的用法:(1)用Action跳转1、使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了相同的Action那么这个Intent就与这个目标Action匹配。如果这个IntentFilter段中没有定义 Type,Category,那么这个 Activity转载 2014-06-16 18:00:08 · 395 阅读 · 0 评论 -
Android启动过程
第一步:启动电源以及系统启动当电源按下,引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序到RAM,然后执行。第二步:引导程序引导程序是在Android操作系统开始运行前的一个小程序。引导程序是运行的第一个程序,因此它是针对特定的主板与芯片的。设备制造商要么使用很受欢迎的引导程序比如redboot、uboot、qi bootloader或者开发自己的引导程转载 2015-03-27 15:44:59 · 548 阅读 · 0 评论