android
jayxu无捷之径
这个作者很懒,什么都没留下…
展开
-
安卓应用更新的时候静默安装的实现方法
老早之前,写了一个android软件包静默安装的应用,放在工作空间很久了,今天整理项目的时候发现了,拿出来晒晒! 软件实现的功能:当需要静默安装(即不弹出安装确认对话框,后台自动安装)时,启动安装服务,将待安装的软件包的路径放置到intent中,然后启动安装服务即可,在软件成功安装以后,会发送广播,你只需要接受对应的广播,即可获知软件是否安装成功! 软件的关键代码:转载 2016-01-12 21:08:46 · 2767 阅读 · 0 评论 -
Android——ANR异常
一:什么是ANR在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系转载 2016-07-06 16:13:08 · 479 阅读 · 0 评论 -
Android——事件分发机制
Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterceptT转载 2016-07-06 21:11:53 · 328 阅读 · 0 评论 -
Android中getWritableDatabase与getReadableDatabase的用法区别
getWritableDatabase取得的实例不是仅仅具有写的功能,而是同时具有读和写的功能,同样的,getReadableDatabase取得的实例也是具对数据库进行读和写的功能两者的区别在于:getWritableDatabase取得的实例是以读写的方式打开数据库,如果打开的数据库磁盘满了,此时只能读不能写,此时调用了getWritableDataba原创 2016-07-07 11:02:52 · 1322 阅读 · 0 评论 -
Android——Service总结
一、 Service简介Service是android 系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放原创 2016-07-04 19:01:27 · 1077 阅读 · 0 评论 -
Android——ForceClose
有时候一些异常可能是不可避免或者是我们还未预测到,这时候程序会强行关闭,即平常所说的forceclose弹窗。1.出现原因 导致出现Force Close的原因有很多,常见的有比如NullPointExection(空指针)、IndexOutOfBoundsException(角标越界)、类没有找到啦,资源没找到,就连Android API使用的顺序错误也可能导致(比如setC转载 2016-07-08 09:40:14 · 745 阅读 · 0 评论 -
MVC模式在Android中的应用
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。一个逻辑模型可以对于多种视图模型,比如一批统计数据你可以分别用柱状图、饼图来表示。一种视图模型也可以对于多种逻辑模型。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,而C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新,这与《设计模式》中的观察者模式是完转载 2016-07-08 10:01:47 · 693 阅读 · 0 评论 -
Android——OOM以及内存优化
(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配:http://developer.android.com/training/articles/memory.html。 Android系统的Dalvik虚拟机扮演了常规的内存垃圾自动回收的角色,Android系统没有为内存提供交换区,它使用 pa转载 2016-07-08 10:43:12 · 1168 阅读 · 0 评论 -
Android面试全套
第一部分:Android(安卓)Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决Android性能优化ListView详解RecyclerView和ListView的异同AsyncTask源码分析插件化技术自定义控件事件分发机制ANR问题Art和Dalvik的区别Android关于OOM的解决方案FragmentActivity&Fragment转载 2016-07-20 11:30:19 · 853 阅读 · 0 评论 -
Android——Handler异步消息机制
Android是消息驱动的,实现消息驱动有几个要素:消息的表示:Message消息队列:MessageQueue消息循环,用于循环取出消息进行处理:Looper消息处理,消息循环从消息队列中取出消息后要对消息进行处理:Handler1.学习路线图:2.Handler类的引入:3.Handler的执行流程图:流程图解析:原创 2016-07-06 18:48:33 · 1339 阅读 · 0 评论 -
Android——Binder(AIDL)机制
1.Binder1)IBinder和Binder?IBinder是远程对象的基本接口,是为了高性能而设计的轻量级远程调用机制的核心部分。但他不仅用于远程调用,也用于进程内调用。该接口定义了与远程对象间交互的协议。但不要直接实现这个接口,而是继承(extends)Binder。IBinder主要的API是transact(),与之对应的API是Binder.onTra原创 2016-07-07 21:07:03 · 6218 阅读 · 0 评论 -
Andorid——Activity总结
一、什么是activity Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能。它是 android 应用程序的基本功能单元。Activity 本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通原创 2016-07-04 17:28:06 · 681 阅读 · 0 评论 -
onSaveInstanceState和onRestoreInstanceState触发的时机
先看Application Fundamentals上的一段话: Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is a转载 2016-08-06 21:13:43 · 255 阅读 · 0 评论 -
浅析Http框架 - Android-Async-http
现在主流的网络框架越来越多, Volley, okHttp, Android-Async-http. Android-Async-http是出现比较久的网络框架,用的人相当多. 后来Google结合HttpClient和HttpUrlConnection的优点又推出同样优秀的框架Volley.这些都是优秀的框架,值得我们去阅读源码学习. Android-Async-http我用过很长事件,但都没去转载 2016-08-22 16:32:43 · 2090 阅读 · 0 评论 -
Android中使用Handler造成内存泄露的分析和解决
Android中使用Handler造成内存泄露的分析和解决摘要内存泄露,听起来很屌的样子?看了这篇文章,你会发现其实这个概念很简单。Android程序经常出现的一个现象是:内存占用越来越大,到最后用户不得不强行关闭程序来释放内存。导致内存越来越大的原因很多,其中最主要的原因之一,就是Handler使用不当导致的内存泄露。什么是内存泄露?Java使用有向图机制转载 2016-08-23 10:46:19 · 373 阅读 · 0 评论 -
Android中view绘制过程
转自:http://blog.csdn.net/yanbober/article/details/46128379/1 背景还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得最终分析结果就是下面的关系:看见没有,如上图中id为co转载 2016-08-23 21:22:24 · 589 阅读 · 0 评论 -
Android——Json解析
1.Json概念以及与XML的比较1)Json是什么?答:JavaScript Object Natation, 一种轻量级的数据交换格式, 与XML一样, 广泛被采用的客户端和服务端交互的解决方案!具有良好的可读和便于快速编写的特性。2)Json与XML的比较:JSON和XML的数据可读性基本相同;JSON和XML同样拥有丰富的解析手段JS原创 2016-07-06 15:54:19 · 274 阅读 · 0 评论 -
Android——ListView、Adapter及其优化
一、Adapter首先我们来看看他的继承结构图:上面就是Adapter以及继承结构图了,接着我们介绍一下实际开发中还用到的几个Adapter吧!BaseAdapter:抽象类,实际开发中我们会继承这个类并且重写相关方法,用得最多的一个Adapter!ArrayAdapter:支持泛型操作,最简单的一个Adapter,只能展现一行文字~SimpleAdapter:原创 2016-07-06 10:24:27 · 585 阅读 · 0 评论 -
android中的4种launchmode详解
一、launchmode和Task:安卓中Task可以想象成一个栈,一个栈中可以装多个Activity。安卓中Activity作为4大组件之一,它的启动方式有4种:1.standard(默认启动方式)2.singleTop3.singleTask4.singleInstance二、4种启动方式:1 standard这种方式是安卓默认的原创 2015-11-20 16:51:23 · 623 阅读 · 0 评论 -
关于getWindow().setFlags()
//设置窗体全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //设置窗体始终点亮getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEE转载 2015-10-27 15:51:25 · 957 阅读 · 0 评论 -
java/android中获取当前日期的方法
一、用calendar。Calendar c = Calendar.getInstance();取得系统日期:year = c.get(Calendar.YEAR) month = c.grt(Calendar.MONTH) day = c.get(Calendar.DAY_OF_MONTH)取得系统时间:hour = c原创 2015-10-26 10:03:09 · 488 阅读 · 0 评论 -
如何让android开机后自动运行自己的程序
有的时候,我们需要让安卓机器开机后自动跳转运行我们自己的应用程序,而不是进入安卓HOME界面。有2种办法可以实现该目的。一、开机后自动进入程序:当 Android 启 动 时 , 会 发 出 一 个 系 统 广 播 , 内 容 为ACTION_BOOT_COMPLETED , 它 的 字 符 串 常 量 表 示 为android.intent.action.BOOT_COMPLET原创 2015-10-27 16:23:31 · 1937 阅读 · 0 评论 -
安卓自定义控件xml背景切换
由于工作需要,需要给自定义button弄几种自定义背景,在不同情况下切换到不同背景。在网上查资料时,发现基本所有的资料都集中“pressed”、“focused”和一般情况下的3中不同背景切换。加入我们在除了按下、获得焦点等情况下还想改变控件背景可以这样做:1.自定义背景,也就是shape,我这里写的是一个带渐变色的圆角矩形按钮。将这个文件放在drawable文件夹中,方便引用。具体shape原创 2016-01-19 16:34:12 · 732 阅读 · 0 评论 -
Android——HttpURLConnection和HttpClient
Android的网络通信的方式有两种:使用Socket或者HTTP,HTTP又包括两种方式编程方式:(1)HttpUrlConnection;(2)HttpClient;一、HttpURLConnectionHttpURLConnection是一种多用途、轻量极的HTTP客户端,使用它来进行HTTP操作可以适用于大多数的应用程序。虽然HttpURLConnection的原创 2016-07-09 21:22:34 · 830 阅读 · 0 评论 -
Android——AsyncTask
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下转载 2016-07-25 21:33:59 · 397 阅读 · 0 评论 -
关于android中Context参数的理解
这几天在写安卓程序的时候,用到了很多的控件,比如datapickerdialog、timepickerdialog、toast等,新建一个这些类的实例时,第一个参数都是Conetex 。这个caontext该如何理解呢?看了些资料 觉的这个说法比较容易理解:Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG原创 2015-10-27 10:35:59 · 2003 阅读 · 0 评论 -
Android中Activity的finish()、destroy()、System.exit()区别
1、Activity.finish()Call this when your activity is done and should be closed. 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移转载 2016-07-04 17:20:16 · 2798 阅读 · 1 评论 -
Android架构解析
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android转载 2016-07-04 18:54:50 · 306 阅读 · 0 评论 -
Android——BroadcastReceiver总结
什么是广播 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。我们拿广播电台来做个比方。我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们的内容,而我们用户只需要将频率调成和广播电台的一样就可以收听他们的内容了。Android中的广播机制就和这个差不多的道理。电台发送的内容是语音,而在Androi原创 2016-06-14 19:03:53 · 507 阅读 · 0 评论 -
Android——ContentProvider总结
一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORL转载 2016-07-05 11:06:57 · 355 阅读 · 0 评论 -
Android——长度单位辨析
dp(与密度无关的像素):同dip是一样的。 一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 dip 与dp相同,多用于android/ophone示例中。这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240×320,则我们可以计算出在这部手转载 2016-07-05 20:14:08 · 382 阅读 · 0 评论 -
Java/android中解析xml的3种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Defin原创 2016-07-05 21:20:39 · 1814 阅读 · 0 评论 -
Android——Intent总结
Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要。一、什么是Intent1、Intent的概念:Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。Intent这原创 2016-07-04 21:10:01 · 2460 阅读 · 0 评论