从onStartCommand()方法中返回的值必须是以下常量: 1. START_NOT_STICKY 如果系统在onStartCommand()方法返回之后杀死这个服务,那么直到接受到新的Intent对象,这个服务才会被重新创建。这是最安全的选项,用来避免在不需要的时候运行你的服务。 2. START_STICKY 如果系统在onStartCommand()返回后杀死了这个服务,系统就会重新创建这个服务并且调用onStartCommand()方法,但是它不会重新传递最后的Intent对象,系统会用一个null的Intent对象来调用onStartCommand()方法,在这个情况下,除非有一些被发送的Intent对象在等待启动服务。这适用于不执行命令的媒体播放器(或类似的服务),它只是无限期的运行着并等待工作的到来。 3. START_REDELIVER_INTENT 如果系统在onStartCommand()方法返回后,系统就会重新创建了这个服务,并且用发送给这个服务的最后的Intent对象调用了onStartCommand()方法。任意等待中的Intent对象会依次被发送。这适用于那些应该立即恢复正在执行的工作的服务,如下载文件。
Http协议
协议就是字段和格式描述的文档 1). 字段 帮助辨识数据的含义 2). 格式 : 帮助将数据归类 JSON : 数据格式简单,数据精简,节约数据流量 XML : 格式良好,复杂,耗费流量但是扩展性好
TCP/IP协议
IP: 就是每台电脑上的IP地址,端口用于查找电脑运行的应用; TCP:用于传输数据的 TCP:面向连接,三次握手,是稳定的传输协议 UDP:面向无连接,数据不安全,传输的数据有可能丢失
事件分发机制
1). 点击屏幕的时候触发Activity的onTouch()事件,当Activity接收到触摸事件的时候,将遍历子View进行Down事件分发ViewGroup可以看做是递归的,分发事件的目的就是要看是哪个子View需要Down事件,如果需要就在子View的onTouchEvent()方法中放回true,事件将有它消费,不在进行分发; 2). 当ViewGroup中所有子View都不需要Down事件的话,最终事件会调用父类View的dispatchTouchEvent