美文网首页
简单学习通信基础笔记.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