Android
文章平均质量分 68
Courage_Insight
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android系统中GC什么情况下会出现内存泄露呢?
出现情况:1. 数据库的cursor没有关闭2.构造adapter时,没有使用缓存contentview 衍生listview的优化问题-----减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程/3.Bitmap对象不使用时采用recycle()释放内存4.activity中的对象的生命周期大于activit转载 2013-04-08 10:55:20 · 972 阅读 · 0 评论 -
Android高手进阶教程(十五)之---通过Location获取Address的使用!
大家好,上一节我讲了一下如何通过LocationManager来获取Location,没有看过上一节的同学,可以点击如下链接返回查看:Android高手进阶教程十四之---Android Location的使用!我们获取Location的目的之一肯定是有获取这个位置的详细地址,而我们有了Location在来获取Address就相对简单多了,因为GoogleApi已经封装好了方法,我们只需呀通过Lo转载 2014-02-19 15:17:37 · 440 阅读 · 0 评论 -
Android高手进阶教程(三)之----Android 中自定义View的应用.
大家好我们今天的教程是在Android教程中自定义View的学习,对于初学着来说,他们习惯了Android传统的页面布局方式,如下代码: [java] view plaincopy"1.0" encoding="utf-8"?> "http://schemas.android.com/apk/res/android" android:orientatio转载 2014-02-19 14:51:09 · 579 阅读 · 0 评论 -
Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!
今天我们的教程是根据前面一节扩展进行的,如果你没有看,请点击 Android高手进阶教程(三) 查看第三课,这样跟容易方便你的理解! 在xml文件里定义控件的属性,我们已经习惯了android:attrs="",那么我们能不能定义自己的属性能,比如:test:attrs=""呢?答案是肯定的. 好了我就不卖关子了,直接进入主题。大致以下步骤: 一、在res/values转载 2014-02-19 15:00:06 · 415 阅读 · 0 评论 -
Android高手进阶教程(五)之----Android 中LayoutInflater的使用!
大家好我们这一节讲的是LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于findViewById(), 不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。 为了让大家容易理解我转载 2014-02-19 15:02:09 · 602 阅读 · 0 评论 -
Android高手进阶教程(二十三)之---Android中的日历读写操作!!!
大家好,好久没有更新blog了,今天给大家分享一下Android中一些自带日历的操作方法,这里主要用到了ContentProiver的知识.如果大家不明白ContentProvider建议先查一下资料,知道它是干什么的。这样更容易下面的例子.好了废话不说,这里提个醒,Android中的日历,只有真机才有,模拟上是没有的,所以测试环境一定要真机!!因为日历是系统自带的,所以我们读写它一定要申转载 2014-02-19 15:50:48 · 815 阅读 · 0 评论 -
Android高手进阶教程(二十六)之---Android超仿Path菜单的实现!
Hi~大家好,出来创业快3个月了,一切还不错,前一段时间用了业余时间搞了个问答类网站YQMA(http://yqma.net).想做中国的stackoverflow,哈哈,只是YY下,希望大家多多支持!好了,今天给大家分享的是Path菜单的简单实现,可以支持自定义方向(左上,右上,右下,左下),并且可以自定义菜单的个数,难点就是菜单的摆放位置(动态设置margin),还有动画的实现,其实动画只转载 2014-02-19 15:55:40 · 643 阅读 · 0 评论 -
解决Android解析图片的OOM问题!!!
大家好,今天给大家分享的是解决解析图片的出现oom的问题,我们可以用BitmapFactory这里的各种Decode方法,如果图片很小的话,不会出现oom,但是当图片很大的时候就要用BitmapFactory.Options这个东东了,Options里主要有两个参数比较重要.[java] view plaincopyoptions.inJustDecodeBound转载 2014-02-19 15:59:37 · 439 阅读 · 0 评论 -
Android自定义action与permission!!!
大家好,今天给大家简单分享一下Android中自定义action与permission. 我们在实际开发中,经常会用到系统的功能,比如打电话功能只要如以下简单代码:[java] view plaincopyUri uri = Uri.parse("tel.xxxxxx"); Intent it =new Intent(Intent.ACTION_CALL,uri);转载 2014-02-19 16:13:19 · 650 阅读 · 0 评论 -
获取LayoutInflater的三种方法
[java] view plaincopy//获得inflater有3种方式,一种是通过getLayoutInflater(); //一种是通过getSystemService(Context.LAYOUT_INFLATER_SERVICE); //LayoutInflater.from(context)的静态方法; LayoutInflater inflater = Lay转载 2014-02-20 16:34:00 · 469 阅读 · 0 评论 -
IntentService 详解
不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的。所以,如果你的Service将要运行非常耗时或者可能被阻塞的操作时,你的应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,你应该在Service中重新启动一个新的线程来进行这些操作。现有两种方法共大家参考:① 直接在Service的onStartCommand()方法中重启一个线程来执行,如:转载 2014-03-06 17:09:12 · 550 阅读 · 0 评论 -
11中操作网络的Linux命令
本文由 极客范 - jerrylee 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。无论你是要下载文件、诊断网络问题、管理网络接口,还是查看网络的统计数据,都有终端命令可以来完成。这篇文章收集了久经考验靠谱的命令,也收集了几个比较新的命令。多数命令都可以在图形桌面执行,即使是没什么终端使用经验的Linux原创 2014-03-06 14:38:23 · 599 阅读 · 0 评论 -
Android 系统属性SystemProperty分析
Android System Property一 System Property 代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属性,肯定对整个系统全局共享。通常程序的执行以进程为单位各自相互独立,如何实现全局共享呢?System Propert转载 2014-10-14 19:13:32 · 466 阅读 · 0 评论 -
Android中LocalSocket使用
一 Socket Socket最初用在基于TCP/IP网络间进程通信中,以客户端/服务器模式进行通信。实现异步操作,共享资源集中处理,提高客户端响应能力。Tcp通信基本流程: 服务器端 客户端 1.创建socket转载 2014-10-14 19:18:47 · 406 阅读 · 0 评论 -
Android系统启动过程
Android系统启动过程首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。启动的过程如下图所示:(图片来自网上,后面有地址) 下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解转载 2014-10-14 18:09:29 · 456 阅读 · 0 评论 -
Android中消息系统模型和Handler Looper
Android中消息系统模型和Handler Looper 作为Android中大量使用的Handler,结合Thread使其具有众多的使用形式和方法,让我一时感觉这个东西有些玄乎,不明所以然,这到底是一个什么样的存在呢?通过网上资料和源码的学习,这个Handler也差不多弄清楚了,现在总结下这个学习结果。 一 Handler作用和概念通过官方文档转载 2014-10-14 19:20:35 · 370 阅读 · 0 评论 -
Framework层Ril控制流程分析
Framework层Ril控制流程分析RIL Native层分析:http://www.cnblogs.com/bastard/archive/2012/11/05/2754891.html一 RIL整体框架看一下整个RIL部分框架图: 实际上Framework部分比较复杂的,包含了很多类;但其核心的两个类是GSMPhone/,RIL.Java.转载 2014-10-14 19:15:21 · 509 阅读 · 0 评论 -
Android高手进阶教程(二)之----Android Launcher抽屉类SlidingDrawer的使用!
最近在研究Lanucher,看了源码,发现了SlidingDrawer这个类,也就是所谓的"抽屉"类。它的用法很简单,要包括handle,和content. handle就是当你点击它的时候,content要么抽抽屉要么关抽屉。别的不多说了,具体步骤如下. 1.新建Android工程,命名为SlidingDrawer. 2.准备素材,在这里我的图标是用Launcher2里面转载 2014-02-19 14:45:47 · 509 阅读 · 0 评论 -
Android应用自动更新功能的实现!!!
大家好,发现半年没有更新博客了,最近一直都比较忙,决定在凌晨 英超 阿森纳VS富勒姆 中场休息的时候,给大家分享Android里应用版本更新功能这一块的实现。一个好的应用软件都是需要好的维护,从初出版本到最后精品,这个过程需要版本不停的更新,那么如何让用户第一时间获取最新的应用安装包呢?那么就要求我们从第一个版本就要实现升级模块这一功能。自动更新功能的实现原理,就是我们事先和后台协商好一个转载 2014-02-19 16:17:07 · 589 阅读 · 0 评论 -
Android高手进阶教程(二十二)之---Android中几种图像特效处理的集锦!!
大家好,这一节给大家分享的是Android中几种图像特效处理的小技巧,比如圆角,倒影,还有就是图片缩放,Drawable转化为Bitmap,Bitmap转化为Drawable等等.废话少说了,直接讲解今天的实例,本例主要是先获取壁纸(getWallpaper()),然后对当前壁纸的一些特效处理.大家按步骤一步一步来:第一步:新建一个Android工程命名为ImageDemo,工程结构如下:转载 2014-02-19 15:35:18 · 598 阅读 · 0 评论 -
Android中如何提高UI的性能
1.减小主线程的阻塞时间 若一个操作耗时教长(超过5秒 用户无响应5秒 网络和数据库阻塞10秒 广播接收者执行超过10秒会导致ANR),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。 Android已经提供了AsynTask以实现从主线程生成新的异步任务的方法。具体用法参见异步任务。2.提高Adapter和AdapterView的效率转载 2013-04-08 11:04:10 · 677 阅读 · 0 评论 -
如何 Android编码 提高效率 节省电量?
1.避免建立对象,特别是循环啦之类的不能建很多临时的对象,开销销毁都很耗性能。2.尽量避免使用多维数组,如果不是开发api的话尽量使用一维数组代替多维数组。3.很多时候注意使用java自带的api方法,因为大部分api方法都经过了非常良好的设计,甚至调用了底层的c/c++方法,性能方便比较有保证。4.声明对象时最好用具体类来声明。虽然使用接口声明更能使程序松耦合,但是要注意调用一个接口转载 2013-04-08 11:07:20 · 622 阅读 · 0 评论 -
Service 和 IntentService 的比较
不知道大家有没有和我一样,以前做项目或者练习的时候一直都是用Service来处理后台耗时操作,却很少注意到还有个IntentService,前段时间准备面试的时候看到了一篇关于IntentService的解释,发现了它相对于Service来说有很多更加方便之处,今天在这里稍微来总结下我的心得。 首先IntentService是继承自Service的,那我们先看看Service的官方介转载 2013-04-08 10:56:54 · 490 阅读 · 0 评论 -
Eclipse导入 Android工程乱码问题解决办法
看网上流传的Eclipse导入项目的方法都是在新建Android程序时使用“Create projectform existing source”选项实现的导入,虽然也能实现,但感觉很山寨的样子,而且导入的项目还在原位,Eclipse不会自动将其复制到workspace目录,且如果预先将项目复制到workspace目录再导入的话就会报错,提示这里已经有一个同名项目了。正确的导入方法应该转载 2013-04-24 10:56:29 · 894 阅读 · 0 评论 -
AndroidPn实现消息推送
本文介绍AndroidPn项目实现推送的使用过程。Apndroid Push Notification的特点:快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制.无需架设服务器:通过使用"云服务",减少额外服务器负担.可以同时推送消息到网站页面,android 手机耗电少,占用流量少.具体配置过程:首先, 我们需要下载android转载 2013-04-24 12:56:26 · 748 阅读 · 0 评论 -
XMPP协议的原理介绍
XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。 XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;转载 2013-04-26 11:05:54 · 542 阅读 · 0 评论 -
Json解析
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。 – Json.orgJSON Vs XML1.JSON和XML的数据可读性基本相同转载 2013-05-06 10:32:16 · 537 阅读 · 0 评论 -
ListView加载 图片时的优化处理
在APP应用中,listview的异步加载图片方式能够带来很好的用户体验,同时也是考量程序性能的一个重要指标。关于listview的异步加载,网上其实很多示例了,中心思想都差不多,不过很多版本或是有bug,或是有性能问题有待优化。有鉴于此,本人在网上找了个相对理想的版本并在此基础上进行改造,下面就让在下阐述其原理以探索个中奥秘,与诸君共赏…贴张效果图先:转载 2013-04-08 11:34:53 · 987 阅读 · 1 评论 -
Activity 的启动模式的详解
在上一文中,我们说过,Activity就相当于一块块的七巧板,每个应用用这一个个七巧板组合成了美丽的图画,并用代码验证了每个Activity的生命周期。 那么,每个应用又是如何将各个Activity组合起来的呢?这就是本文要讲的内容。 通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合。而这些Activity又被组织成了堆栈的形式转载 2014-01-08 10:52:39 · 525 阅读 · 0 评论 -
android启动模式对activity的影响
intent的FLAG和activity在manifest文件中的定义也可以影响activity的行为1.task: 与Android系统是个多任务的系统中的任务是不同的。后者更倾向于多进程和多线程来说的,而这里的任务与application(应用程序)和activity(活动)有关系. 从activity的角度说,任务就是activity的集合,共同完成一项工作。这些ac转载 2014-01-08 11:37:22 · 617 阅读 · 0 评论 -
Android value文件夹语言的国际化
多國語言:在res目錄下建立不同名稱的values文件來調用不同的語言包Values文件匯總如下:中文(中國):values-zh-rCN中文(台灣):values-zh-rTW中文(香港):values-zh-rHK英語(美國):values-en-rUS英語(英國):values-en-rGB英文(澳大利亞):values-en-rAU英文(加拿大):val转载 2014-01-26 17:30:10 · 604 阅读 · 0 评论 -
Eclipse统计项目里的代码行数
在网上学到的一个简单方法,记录一下:打开File Search对话框, 在搜索文本框输入 \n, 并选中正则表达式,文件名称输入 *.java 在范围里选中Enclosing projects 然后就可以统计出整个项目的代码行数。原创 2014-02-21 11:38:03 · 500 阅读 · 0 评论 -
Maven 详解
Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。本教程将介绍如何使用Maven在Java开发,或任何其他的编程语言的任何项目。本教程是为初学者准备的,帮助他们了解Maven工具的基本功能。完成本教程后,希望能够熟悉使用Apache Maven。先决条件假设需要使用Maven来处理企业级Java项目开发。转载 2014-02-18 15:03:59 · 473 阅读 · 0 评论 -
Android高手进阶教程(一)-------Android常用名令集锦(图文并茂)!
大家好,今天我们要讲的是android开发中,比较常用的名令集锦, 在我们开发中难免用到Android命令,有些确实命令确实很有用处。特别对于一些初学者来说,命令根本没有想过用也不会用,比如他们想安装一个.apk文件到模拟器上面,但是他们不会启动模拟器,他们只会先启动Eclipse,然后在启动模拟器,这样不但浪费时间,而且Eclipse又占用你的内存。这也是我为什么总结这篇文章的原因了,希望对转载 2014-02-19 14:31:40 · 440 阅读 · 0 评论 -
Android高手进阶教程(十一)之----Android 通用获取Ip的方法(判断手机是否联网的方法)!!!
大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下方法: [java] view plaincopyWifiManager wifiManager = (WifiManager) getSystemServi转载 2014-02-19 15:10:58 · 582 阅读 · 0 评论 -
Android高手进阶教程(十二)之----Android 在一个应用中如何启动另外一个已安装的应用!!!
今天晚上Jimmy问了我一个问题,就是如何在一个应用中 通过某个事件,而去启动另外一个已安装的应用。所以愿意和大家分享一下!而为了能让大家更加容易的理解,我写了一个简单的Demo,我们的程序有俩个按钮,其中一个点击会启动我自己写的应用(一个3D应用为例),而另外一个按钮会启动系统自带的应用(如,日历,闹钟,计算器等等).这里我一日历为例子! 首先看一下我们的效果图(点击第一个按钮为例)转载 2014-02-19 15:12:51 · 434 阅读 · 0 评论
分享