super.onDestroy(); 的问题. 注意:没有显式地在自己的方法中调用父类Activity的onDestroy是会报错的.我的问题很简单,在我覆盖的onDestroy(),方法中需要调用父类的onDestroy.我就是不懂调用的时机,就像下面两种. protected void onDestroy() {             super.onDestroy();     // My code; } protected void onDestroy() {             …
一.在java里面,对于super关键字通常有两种用法: 1. 用在子类的构造方法里(初始化用),主要是调用父类的默认构造方法,如果父类有不止一个构造方法,可以通过super指定具体的构造函数,比如 super(paras): 2. 用在子类里调用隐藏或重写的属性或行为,比如 super.onDestroy()等等: 对于第1种需要注意,super表示当前类的父类,super()调用的是父类默认的构造方法,即这样可以对父类进行初始化.如何没有对父类进行初始化,当子类调用父类的方法时,便会从逻辑上…
本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周期莫过于生老病死,花儿的生命周期就是花开花谢了.在Android中Activity的生命周期莫过于Activity的创建到消亡的过程了.本篇博客就会介绍Activity生命周期中的不同阶段,通过实例的形式来窥探一下Activity的生命周期.搞明白Activity的生命周期是至关重要的,因为只有搞明…
说明 遇到一个奇葩的问题,我在使用onConfigChanged拦截屏幕的横竖屏旋转时,发现直接进行180度的横屏/竖屏转换居然没有反应!查找原因发现仅对landscape或者portrait状态有用,而同属于landscape的reverse_landscape并不受影响.那么问题怎么破呢?刚开始想到了用Sensor的状态来监听当前屏幕状态,可是发现针对加速度传感器或者陀螺仪的参数来进行判断太麻烦,这样效率一点不高,无意Google中发现这篇帖子,作者把几个问题阐述的淋漓尽致,轮不着我说什么了…
前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就会播放一条广播来告知全校的师生.类似的工作机制其实在计算机领域也有很广泛的应用,如果你了解网络通信原理应该会知道,在一个 IP 网络范围中最大的 IP 地址是被保留作为广播地址来使用的.比如某个网络的 IP 范围是 192.168.0.XXX,子网掩码是 255.255.255.0,那么这个网络的广…
我们从以下几个方面来了解Service IntentService的使用 Service与Thread的区别 Service生命周期 前台服务 服务资源被系统以外回收处理办法 不被销毁的服务 IntentService 对于Service而言,它依然是运行在主线程之上,所以一些无法在主线程上完成的功能,依然需要另外开启工作线程来完成,并且一些耗时操作,如果直接放在Service的主线程中完成的话,会影响设备的运行流畅度.对于这样的问题,有两种解决方案,一种是在Service主线程中额外开启一条工…
Android中的广播机制 Android提供了一套完整的API,允许应用程序自由地发送和接受广播. 发送广播的方法借助于Intent,接受广播的方法需要广播接收器(BroadcastsReceiver). Android中的广播主要分为两种类型,标准广播和有序广播. 标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在 同一时刻接受到这条广播消息. 有序广播(Ordered broadcasts)是一种同步执行的广播,在广播发出之后…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952435 相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了.Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色.它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务.必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持…
IntentService是继承于Service并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentService的方式和启动传统Service一样,同时,当任务执行完后,IntentService会自动停止,而不需要我们去手动控制.另外,可以启动IntentService多次,而每一个耗时操作会以工作队列的方式在IntentService的onHandleIntent回调方法中执行,并且,每次只会执行一个工作线程,执行完第一个再执行第二个,以此类…
原文链接:http://www.orlion.ga/572/ 一.广播机制 Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广 播可能是来自于系统的,也可能是来自于其他应用程序的.Android提供了一套完整的 API,允许应用程序自由地发送和接收广播.发送广播的方法需要借助Intent.而接收广播的方法则需要引入一个新的概念,广播接收器(Broadcast Receiver) 广播可以分为两种类型: 标准广播:是一种完全异步的广播…
效果图:(悬浮框可拖动) 在项目开发中有一个需求:弹出悬浮窗后,响应悬浮窗的事件再弹出对话框,但是对话框怎么也不显示.也就是说在弹出悬浮框的同时,不能再弹出对话框,可能的原因: 1.悬浮框的焦点在最前面,把对话框挡住了,我们看不到. 2.浮动框限制了对话框的弹出. 解决: 弹出对话框的时候把悬浮框关掉,然后对话框处理完了,把对话框关掉,在重新开启一个悬浮框,把需要的值传进去. 就相关知识详解: 当我们在手机上使用360安全卫士时,手机屏幕上时刻都会出现一个小浮动窗口,点击该浮动窗口可跳转到安全卫…
IntentService:异步处理服务,新开一个线程:handlerThread在线程中发消息,然后接受处理完成后,会清理线程,并且关掉服务. IntentService有以下特点: (1)  它创建了一个独立的工作线程来处理所有的通过onStartCommand()传递给服务的intents. (2)  创建了一个工作队列,来逐个发送intent给onHandleIntent(). (3)  不需要主动调用stopSelft()来结束服务.因为,在所有的intent被处理完后,系统会自动关闭…
Activity Android应用的用户界面是由Activity类管理的.和其他组件一样,Activity会用一系列生命周期回调函数通知当前的状态. 生命周期 Activity的四种状态 1.运行状态 2.暂停状态 3.停止状态 4.销毁状态 Activity的三种生存期 1.完整生存期 2.可见生存期 3.前台生存期 生命周期示意图 个人理解:完整生存期 > 可见生存期 > 前台生存期 完整生存期由onCreate()方法开始,到onDestory()方法结束,我们应该在onCreate(…
一.简单说明 1, IntentService IntentService继承自Service,并在其内部创建了工作线程,用来处理耗时操作,其中onHandleIntent方法就是在子线程执行的,我们可以在这里处理耗时操作. 启动时与正常service一样,可以调用startservice来启动IntentService. 注意:(1),在无参构造函数里,必须调用父类一个参数的构造方法: (2),与普通服务不同,IntentService的子线程处理完耗时操作,服务便销毁. 2, Handler…
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 实现强制下线功能的思路也比较简单,只需要在界面上弹出一个对话框, 让用户无法进行任何其他操作, 必须要点击对话框中的确定按钮,然后回到登录界面即可.我们被通知需要强制下线时可能正处于任何一个界面, 但我们不需要在每个界面上都编写一个弹出对话框的逻辑,可以使用广播来轻松地实现这一功能. 一.创建一个 ActivityCollector 类用于管理所有的活动: public class ActivityCollector…
 //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Android 中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其他应用程序的.Android 提供了一套完整的 API,允许应用程序自由地发送和接收广播. 一.广播的类型: Android 中的广播主要可以分为两种类型,标准广播和有序广播. 1)标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出…
--------------------------------------广播机制简介--------------------------------------------- Android中的广播机制非常灵活,Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这个程序也只会收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来自于其他应用程序的. Android提供了一套完整的API,允许应用程序自由地发送和接受广播. Android中的广播主要可以分为两种类型,标…
ActivityCollector.java import android.app.Activity; import java.util.ArrayList; import java.util.List; //活动汇总管理 public class ActivityCollector { public static List<Activity> activities = new ArrayList<Activity>(); //添加活动 public static void add…
一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析),没看过的同学,可以转战: http://blog.csdn.NET/jiangwei0910410003/article/details/47679843 当然,今天说道的内容还这这篇文章有关系.关于动态加载Activity的内容,网上也是有很多文章介绍了.但是他们可能大部分都是介绍通过代理的方…
基础无外乎几部分:语言(C/C++或java),操作系统,TCP/IP,数据结构与算法,再加上你所熟悉的领域.这里面其实有很多东西,各大面试宝典都有列举. 在这只列举了Android客户端所需要的和我面试中所遇到的知识点,尽量做到全面,如果你掌握了以下知识点,去面android客户端应该得心应手. J2SE基础 1. 九种基本数据类型的大小,以及他们的封装类. 2. Switch能否用string做参数? 3. equals与==的区别. 4. Object有哪些公用方法? 5. Java的四种…
定义一个服务 在项目中定义一个服务,新建一个ServiceTest项目,然后在这个项目中新增一个名为MyService的类,并让它继承自Service,完成后的代码如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package com.jack.servicetest;   import android.app.Service; import android.content.Intent; import android.os.IBinder;   publ…
Service的两种启动方式:startService()与bindService()   statService:生命周期:[onCreate()-  >onStartCommand()->startService()->onDestroy()],与调用者无关可后台运行.   bindService:生命周期:[onCreate()->onBind()->onUnbind()->onDestroy()],依存于调用的activity.     1.statServic…
Android内置了很多系统级别的广播,我们可以在应用程序中通过监听这些广播来得到各种系统的状态信息.比如手机开机完成后会发出一条广播,电池的电量发生变化会发出一条广播,时间或时区发生改变也会发出一条广播等等.如果想要接收到这些广播,就需要使用广播接收器,下面我们就来看一下它的具体用法. 1.动态注册监听网络变化 广播接收器可以自由地对自己感兴趣的广播进行注册,这样当有相应的广播发出时,广播接收器就能够收到该广播,并在内部处理相应的逻辑.注册广播的方式一般有两种,在代码中注册和在AndroidM…
9.5.2 使用 IntentService 话说回来,在本章一开始的时候我们就已经知道,服务中的代码都是默认运行在主线程 当中的,如果直接在服务里去处理一些耗时的逻辑,就很容易出现 ANR(Application Not Responding)的情况.所以这个时候就需要用到 Android 多线程编程的技术了,我们应该在服务的每个具体的 方法里开启一个子线程,然后在这里去处理那些耗时的逻辑.因此,一个比较标准的服务就 可以写成如下形式: public class MyService exten…
本篇随笔将详细的讲解Activity保存状态的概念,也就是saving activity state. 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的时候,突然来了一个电话,这个时候在接听完电话之后我们返回到游戏中,这个时候我们希望游戏还是之前那个进度,或者说发生突发事件,游戏这个应用程序被关闭了,这个时候我们如果再重新打开游戏的话,我们如果还是希望回到之前的进度,我们就需要将其状态保存起来,这样在Activity的摧毁时,我们还能够根据保存的状…
    距离上一篇文章,过去有半个多月了,在此期间忙于工作,疏于整理和总结,特此写下这篇博文,来谈谈自己对Activity的理解.总所周知,Activity组件在Android中的重要性不言而喻,我们所能看到的交互动作离不开活动,我们能看到的界面也离不开活动,那么我想从以下几个方面来谈谈: 什么是活动(Activity) 活动(Activity)用法 活动(Activity)生命周期 活动(Activity)启动模式 活动(Activity)管理 1,什么是活动(Activity) 活动(Act…
PS:前几篇的内容光是上代码了,也没有细细的讲解..感觉这样写很不好..因此还是多一些讲解吧... 学习内容: 1.了解Service... 2.Service的启动与停止.. 3.绑定与取消绑定Service... 4.Service的生命周期... 1.Service...   什么是Service,Service顾名思义就是服务..它的目的:实现服务的后台运行,比如说有些程序的运行时没必要给用户看到的,只需要在后台运行即可,那么这就是Service的一个主要作用..Service的另一个作…
我们大家都知道Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类,在该类的 构造器中,调用Context中的方法创建并打开一个指定名称的数据库对象.继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个 方法. onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行. onUpgrade(SQLiteDatabse dv, int oldV…
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4070518.html [前言] 花了周末两天的时间,整理了一下作为Android四大组件之一的Service的基础知识,通过这篇文章,应该可以明白:对Service的理解.在什么地方使用.怎么使用.要注意哪些问题等. [本文主要内容] 一.Service的基本概念(四大组件之一)二.定义(启动)一…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:[张鸿洋的博客] 上一篇带大家初步了解了EventBus的使用方式,详见:Android EventBus实战 没听过你就out了,本篇博客将解析EventBus的源码,相信能够让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这么做?为什么这么做不好呢? 1.概述 一般使用EventBus的组件类,类似下面这种方式: public cl…