美文网首页
简单学习通信基础笔记.1--Android

简单学习通信基础笔记.1--Android

作者: LexieMIZUKI | 来源:发表于2019-07-21 10:46 被阅读0次

    Service:

    1.启动服务时,服务会先调用onCreat再调用onStartCommand。

    2.不管新建多少个服务,操作的服务都只有一个。

    3.没有销毁服务,再去点击启动,没有创建这个调用,而是直接点击多少歌启动,调用多少个启动。

    4.点击绑定服务,服务是先创建后绑定,没有启动。

    5.解绑和绑定的ServiceConnection应该要一样,而且当解绑的时候,会经历解绑-->销毁。

    6.退出程序会自动解绑和销毁。

    7.已存在的服务,先启动再绑定,点击解绑不会调用销毁。

    8.绑定会随着生命周期结束而结束,绑定的执行任务是进度的监控。

    9.自定义一个类继承Binder(),在onBind中返回这个类的对象,比直接返回IBinder()好,因为IBinder里面要实现的方法太多,大部分都不认识。

    10.进度监控:IBinder和ServiceConnection。

    11.解绑后,onBind由于只调用一次,所以再点击绑定无效。但是ServiceConnection里面的Connected会被调用。


    AIDL:

    1.远程启动Service用隐式启动,在注册文件中添加过滤器,用别名操作。

    2.在需要被远程控制的包右键,新建AIDL文件,rebuild后会自动生成Java文件。

    3.IBind仅限同进程,远程不行。

    4.把刚才返回MyBinder改为返回IMyAidlInterface.Stub。

    5.远程控制,双方都必须有AIDL文件,直接复制即可,要保证完全一样,然后rebuild自动生成文件。


    ANR:

    1.主活动中,5秒以上会出现ANR。

    2.开发者选项那里可以关闭ANR。


    Looper:

    1.主线程中可以操作子线程Handler对象发送消息给子线程。

    2.给谁就操作谁的handler。

    3.子线程中,Looper.prepare和Looper.loop之间写new handler。


    UDP:

    1.client先发数据,server才可以接收和发送。

    2.异步可以用try...catch,同步尽量不用try...catch,借助接口。

    3.有网络交互时,就要开一个子线程,os下的handler。


    TCP:

    1.try...catch快捷键:ctrl+alt+t。

    2.先开server再开client,不然client没有端口号或ip会报错。

    3.这里的server不能发送消息,当时有多个client消息可以互看。

    4.inputstream,outputstream,socket都是在onDestroy那里,独立try...catch。

    5.在构造方法中,new一个线程容易出现异步问题,要注意。

    6.stringbuffer同步,安全,但是慢;stringbuilder快,但相对不安全。

    7.一个汉字是三个字节。

    8.处理乱码两种方式:第一种比较复杂,第二种是把byte数组转变成char数组。


    HTTP:

    1.某些自签名证书不被信任,原来的http解析不了,要用https。

    2.https安全性比http要高,若把里面的方法空置,就没有发挥它的安全性。


    BLE 4.0:

    1.BlueManager 的最小sdk要大于等于18。

    2.空指针的情况,可以直接return掉。

    3.GATT中,有多个service,一个service中有多个characteristic。


    ***自己总结的一些小知识,欢迎大家来纠错,或有什么看法也可以说出来☺***

    TO BE CONTINUED......

    相关文章

      网友评论

          本文标题:简单学习通信基础笔记.1--Android

          本文链接:https://www.haomeiwen.com/subject/metmlctx.html