在Android的实际应用开发中,咱们常常会遇到数据推送的相关技术,好比在应用软件启动后,系统会自动在Android的通知栏弹出相应的信息,以便于提示用户进行相关的操做或消息推送。那这项技术在Android中式如何实现的呢?咱们经过这篇文章简单介绍一下该技术的实现方法,但愿你们可以了解并掌握这项核心的技术。 android
首先,若想实现这个技术要涉及如下三个核心的知识点: 布局
1.
自定义Action的调用方式 spa
2.
BroadcastReceiver的基本应用 xml
3.
Notification通知机制的使用 对象
本文仅对知识点1作一个讲解和阐述,后续知识点在后续文章中进行讲解。 事件
那么,咱们就逐一对这些技术进行一个简单的说明,但愿你们可以快速掌握这项技术。 开发
项目实现效果图:
知识点1:自定义Action的调用方式 字符串
Intent做为Android系统中各组件之间的纽带起着相当重要的做用,在咱们的平时应用中Intent对象主要完成两件事情,一件是多个Activity(界面)之间的跳转,另外一个件是使用putExtras()方法完成界面件数据的传递。其实在咱们的Android中Intent的做用不止这些,他有着强大的功能,不少组件的启动所有依赖于该对象,好比说Service服务组件、Receiver接收器、ContentProvier内容提供者等,他们都是用过Intent对象来启动的,固然启动的方法绝对不单单是startActivity(intent)这么简单了。对于不一样的组件对象,其有着不一样的启动方法。下面我给你们简单介绍一个使用自定义Action动做来完成的窗体Activity组件启动,经过这个案例抛砖引玉,主要让你们掌握基本的使用方法,从此能够触类旁通,以此类推。 虚拟机
首先说一下Action动做,在Android中咱们的每一个窗体组件对象都必须在AndroidManifest.xml文件中进行注册声明,而首启动的界面在声明中有一个<intent-filter>的标签,在该标签下有一个<action
android:name=”xxxx”>的标签和一个<category android:name=”xxx”>的标签,以下图所示。 it
咱们应该对这两个标签有必定的认知和了解。
代码分析:
<action>标签的做用是指明该组件的核心动做类型,其android:name属性表示的是Android系统内置的标准动做,好比说 android.intent.action.MAIN 它告诉虚拟机该界面为应用程序的入口界面,为首启动标准动做。但让这个值也能够咱们本身定义一个,比如给该组件起一个别名,从而也就造成了咱们的自定义Action动做。
<category>标签的做用是指明该组件的类型,其 android:name属性表示的是Android系统内置的标准类型模式,好比说 android.intent.category.LAUNCHER 它告诉戴尔维克虚拟机该组件为启动类型组件。
那咱们如何本身定义一个Action动做来完成组件的启动和调用呢?
环节1:建立一个Activity窗体界面
步骤1-1:在Android项目的res文件夹的layout文件夹中建立一个布局文件,布局里面只需放置一个TextView组件便可。具体代码以下:
activity_second.xml
步骤1-2:在Android项目的src文件夹下建立一个SecondActivity的窗体类文件,具体代码以下:
环节二:在AndroidManifest.xml文件中注册并声明该窗体组件对象
步骤2-1:在AndroidManifest.xml文件中注意对Activity的声明,具体代码以下:
特别注意的是咱们要在注册的时候要自定义一个Action的名称,命名规范为 项目.包名称.组件名称 的基本格式。本例将Action定义为 myproject14.activity.second
环节三:在MainActivity的按钮单击事件中编写代码实现自定义Atiion的调用。
步骤3-1:在MainActivity的按钮单击事件处理中编写代码以下所示:
使用setAction(Action_Name)方法完成对启动组件名称的设置,ACTION_NAME为程序的全局性字符串常量,在先前有过声明,以下所示:
该字符串的值应该与AndroidManifest.xml文件中Action标签的名称保持一致。
本文章首先对自定义Action作一个简单的简介,但愿你们关注个人后续内容。