intent

Android service的使用

假装没事ソ 提交于 2019-12-09 18:11:53
Services 一个 Service 是一个应用组件,它可以在后台执行耗时长的操作,而不提供用户接口。另一个应用组件可以启动一个service,然后它将在后台持续运行,即使用户切换到了另一个应用。此外,一个组件可以bind到一个service来与之交互,甚至执行进程间通信(IPC)。比如,一个service可以处理网络事务,播放音乐,执行文件I/O,或者与一个content provider交互,均是在后台。 一个service实质上可以有两种形式: Started 当一个应用组件(比如一个activity)通过调用 startService() 来启动一个service时,则 service 是 "started" 的。一旦被启动,一个service可以在后台无限期地运行,即使启动它的组件已经被销毁了。通常一个被启动的service执行一个单独的操作,并且不给调用者返回一个结果。比如,它可以通过网络下载或上传一个文件。当操作完成时,那个service应该自动停止。 Bound 当一个应用组件通过调用 bindService() 来bind一个service时,则service是 "bound"的。一个bound service提供了一个 允许组件与service交互的 客户端-服务器接口,发送请求,获取结果,甚至通过进程间通信(IPC)来夸进程执行这些。一个bound

Android中的系统广播集合

孤街醉人 提交于 2019-12-09 16:51:58
Intent.ACTION_AIRPLANE_MODE_CHANGED; //关闭或打开飞行模式时的广播 Intent.ACTION_BATTERY_CHANGED; //充电状态,或者电池的电量发生变化 //电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册 Intent.ACTION_BATTERY_LOW; //表示电池电量低 Intent.ACTION_BATTERY_OKAY; //表示电池电量充足,即从电池电量低变化到饱满时会发出广播 Intent.ACTION_BOOT_COMPLETED; //在系统启动完成后,这个动作被广播一次(只有一次)。 Intent.ACTION_CAMERA_BUTTON; //按下照相时的拍照按键(硬件按键)时发出的广播 Intent.ACTION_CLOSE_SYSTEM_DIALOGS; //当屏幕超时进行锁屏时,当用户按下电源按钮,长按或短按(不管有没跳出话框),进行锁屏时,android系统都会广播此Action消息 Intent.ACTION_CONFIGURATION_CHANGED; //设备当前设置被改变时发出的广播(包括的改变:界面语言,设备方向,等,请参考Configuration.java) Intent.ACTION_DATE

Android中BindService方式使用的理解

核能气质少年 提交于 2019-12-09 15:56:33
最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现。 BindService和Started Service都是Service,有什么地方不一样呢: 1. Started Service中使用StartService()方法来进行方法的调用,调用者和服务之间没有联系,即使调用者退出了,服务依然在进行【onCreate()- >onStartCommand()->startService()->onDestroy()】,注意其中没有onStart(),主要是被onStartCommand()方法给取代了,onStart方法不推荐使用了。 2. BindService中使用bindService()方法来绑定服务,调用者和绑定者绑在一起,调用者一旦退出服务也就终止了【onCreate()->onBind()->onUnbind()->onDestroy()】。 调用者Activity: MainAcitvity package com.zys.service; import com.zys.service.BindService.MyBinder; import android.R.bool; import android.app.Activity; import android.content

Android中BindService方式使用的理解

人走茶凉 提交于 2019-12-09 15:56:19
最近学习了一下Android里面的Service的应用,在BindService部分小卡了一下,主要是开始没有彻底理解为什么要这么实现。 BindService和Started Service都是Service,有什么地方不一样呢: 1. Started Service中使用StartService()方法来进行方法的调用,调用者和服务之间没有联系,即使调用者退出了,服务依然在进行【onCreate()- >onStartCommand()->startService()->onDestroy()】,注意其中没有onStart(),主要是被onStartCommand()方法给取代了,onStart方法不推荐使用了。 2. BindService中使用bindService()方法来绑定服务,调用者和绑定者绑在一起,调用者一旦退出服务也就终止了【onCreate()->onBind()->onUnbind()->onDestroy()】。 调用者Activity: MainAcitvity package com.zys.service; import com.zys.service.BindService.MyBinder; import android.R.bool; import android.app.Activity; import android.content

Android Launcher--简易Launcher开发

坚强是说给别人听的谎言 提交于 2019-12-09 10:02:00
第一步,把我们的应用程序作为home (即实现按下home键,启动自己的launcher.) 要把我们的应用程序作为home,只需要在AndroidManifest.xml中添加: <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.bangchui.myhome" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MyHome" android:label="@string/app_name"> <intent-filter> <action android:name=

详解Android广播机制

别等时光非礼了梦想. 提交于 2019-12-08 23:11:31
应用场景   (1)同一应用具有多个进程的不同组件之间的消息通信      a)不同应用间的组件之间的消息通信      b)与Android系统在特定情况下的通信,如:系统开机,网络变化等   (2)同一应用内同一组件的消息通信:显然扩展变量的作用域、接口回调、Handler-Message等方式都能更简单的实现。   (3)同一应用内的不同组件之间的消息通信(单个进程):对于简单的的情况,依靠接口的回调方式就可解决;而较为复杂的情况,更推荐直接使用EventBus等。 (2)、(3)场景理论上可以使用,但是实际开发没有人这么做。 实现原理 设计模式与模型: Android中的广播使用了观察者模式, 模型为 基于消息的发布/订阅事件模型。 从设计模式上讲,广播的发送者和接收者极大程度的解耦,使得系统方便集成,容易扩展 模型成员: 消息发布者(广播发布者) 消息订阅者(广播接收者) 消息中心(AMS,Activity Manager Service,一个Android系统中极其重要!的成分,以后我们会详细讲解) 此处我们扩展一下,观察者模式和发布订阅模式的关系 发布订阅模式属于广义上的观察者模式 ,前者时最常用的一种观察者模式的实现,且从解耦和重用角度上看更优于典型的观察者模式, 在观察者模式中,观察者需要直接订阅目标事件,在目标发出内容改变的事件后,直接接收事件并作出响应。

第七次作业

浪尽此生 提交于 2019-12-08 17:51:29
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_above="@id/textview" > <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:text="手机号码" android:layout_weight="1" /> <EditText android:id="@+id/edittext" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5" />

[翻译]Android Bound Services

[亡魂溺海] 提交于 2019-12-07 16:17:59
一个bound service是一个client-server接口中的server端。一个bound service允许应用组件(比如activities)bind到它,发送请求,接收响应,甚至是执行进程间通信(IPC)。一个bound service在典型情况下,只有在它服务于另一个应用组件时才存活,而不是在后台无限期的运行。 这份文档向您说明了要如何创建bound service,包括在其他的应用组件中如何bind到service。然而,你也应该参考Services文档来 大体地 了解关于services的额外信息,比如如何在service中传送通知,设置service在前台运行,等等。 基本概念 一个bound service是一个 Service 类的实现,它允许其它应用bind到它并与它交互。为了给一个service提供binding功能,你必须实现 onBind() 回调方法。这个方法返回一个 IBinder 对象,该对象则定义了客户端可以用来与service进行交互的编程接口。 Binding到一个Started Service 如同在 Services 文档中讨论的那样,你可以创建一个service,既可以被started,也可以被bound。即,service可以通过调用 startService() 被started,从而允许service无限期的运行

android NFC的读写

旧城冷巷雨未停 提交于 2019-12-07 11:34:18
一、NFC知识 1、NFC是什么? NFC,即Near Field Communication,近距离无线通讯技术,是一种短距离的(通常<=4cm或更短)高频(13.56M Hz)无线通信技术,它提供了一种简单、触控式的解决方案,可以让消费者简单直观地交换信息、访问内容与服务 。 2、NFC的技术优势? 与蓝牙相比:NFC操作简单,配对迅速 与RFID相比:NFC适用范围广泛、可读可写,能直接集成在手机中 与红外线相比:数据传输较快、安全性高、能耗低 与二维码相比:识别迅速、信息类型多样 将来与移动支付相结合,势必简化支付的购买流程,重塑消费者的购物模式。 二、android下读写NFC 1、在AndroidManifest.xml中申明NFC权限 < uses-permission android:name = "android.permission.NFC" /> <!-- 这项不一定需要,可以在android market中显示有NFC硬件 --> < uses-feature android:name = "android.hardware.nfc" android:required = "true" /> 2、NFC TAG的发布系统 当android设备扫描到一个NFC标签时,会自动寻找最适合的activity来处理这个TAG,如果有多个activity满足条件的话

Android NFC

青春壹個敷衍的年華 提交于 2019-12-07 11:32:58
Android中NFC知识介绍 近场通信(NFC)是一种短距离无线技术,通常要求距离为4cm或更低以启动连接。NFC允许你在NFC标签和android 驱动 的设备之间,或者在两个android驱动的设备之间共享少量的数据。 简单的标签只提供读和写的功能,有时使用一个可编程的区域使卡片只读。更复杂的标签提供数学运算,并有加 密硬件来认证对一个扇区的访问。最复杂的标签包含操作环境,允许通过代码 与在标签 进行复杂的交互。存储在标签 中的数据也可以用多种格式编写,但是Android框架api大多都是基于NDEF 标准 (NFC数据交换格式)。 根据Google官方文档的介绍, 具有NFC的安卓设备同时支持三种主要的操作方式: Reader/writer mode , allowing the NFC device to read and/or write passive NFC tags and stickers. P2P mode , allowing the NFC device to exchange data with other NFC peers; this operation mode is used by Android Beam. Card emulation mode , allowing the NFC device itself to act as an NFC