摘要: 基于BIO的Socket通信 告知对方命令发送完毕 关闭socket:socket.close() 关闭流:socket.shutdownOutput(),ocket.shutdownInput() 约定终结符 指定数据长度 单工通信 通过约定终结符的方式关闭连接 通过关闭流的方式告诉对方发送完毕 阅读全文
posted @ 2021-10-25 12:25 _Sylvan 阅读(128) 评论(0) 推荐(0)
摘要: 枚举 基本使用 比较 使用enum定义的枚举类是一种引用类型引用类型比较,要使用equals()方法,如果使用==比较,它比较的是两个引用类型的变量是否是同一个对象。因此,引用类型比较,要始终使用equals()方法,但enum类型可以例外。这是因为enum类型的每个常量在JVM中只有一个唯一实例, 阅读全文
posted @ 2021-10-18 15:47 _Sylvan 阅读(108) 评论(0) 推荐(0)
摘要: 串口开发 编译so文件和项目配置 google串口api下载https://github.com/cepr/android-serialport-api 修改android-serialport-api-master\android-serialport-api-master\android-ser 阅读全文
posted @ 2021-10-18 14:28 _Sylvan 阅读(538) 评论(0) 推荐(0)
摘要: 文件操作 内部存储 外置SD卡 内置SD卡:/storage/emulated/0,其中又分为私有目录(Android/)和公共目录 apk res/raw下的和assert下的,这些数据只能读取,不能写入。单个文件大小不能超过1M。 res/raw不可以有目录结构,而assets则可以有目录结构。 阅读全文
posted @ 2021-10-11 15:45 _Sylvan 阅读(594) 评论(0) 推荐(0)
摘要: Stream 字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。 字节流默认不使用缓冲区;字符流使用缓冲区。 字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;字符流通常处理文本数据,它支持写入及读取Unicode码元。 ! 阅读全文
posted @ 2021-10-11 10:31 _Sylvan 阅读(41) 评论(0) 推荐(0)
摘要: 主机与安卓模拟器建立连接 1.服务器和客户端都在主机上或都在模拟器上 客户端都使用127.0.0.1 new Socket("127.0.0.1", 9999); 2.主机:服务器,模拟器:客户端 客户端使用10.0.2.2,主机回环接口的特殊别名(即主机上的 127.0.0.1) new Sock 阅读全文
posted @ 2021-10-09 15:56 _Sylvan 阅读(698) 评论(0) 推荐(0)
摘要: 网络编程 查询ip import java.net.InetAddress; import java.net.UnknownHostException; public class MyInetAddress { public static void main(String[] args) { try 阅读全文
posted @ 2021-10-09 00:52 _Sylvan 阅读(58) 评论(0) 推荐(0)
摘要: Notification <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="sendNotification" android:text="发送通知"/> 阅读全文
posted @ 2021-10-08 14:04 _Sylvan 阅读(139) 评论(0) 推荐(0)
摘要: Service Service既不是一个线程,Service通常运行在当成宿主进程的主线程中,所以在Service中进行一些耗时操作就需要在Service内部开启线程去操作,否则会引发ANR异常。 也不是一个单独的进程。除非在清单文件中声明时指定进程名,否则Service所在进程就是applicat 阅读全文
posted @ 2021-10-08 14:00 _Sylvan 阅读(569) 评论(0) 推荐(0)
摘要: RecyclerView刷新方式 刷新全部item notifyDataSetChanged() student.setValue(new Student("二狗")); studentList.add(student.getValue()); myRecyclerViewAdapter.notif 阅读全文
posted @ 2021-10-06 12:38 _Sylvan 阅读(553) 评论(0) 推荐(0)
摘要: JUC cpu多核 public class Test1 { public static void main(String[] args) { // 获取cpu核数 // cpu密集型 io密集型 System.out.println(Runtime.getRuntime().availablePr 阅读全文
posted @ 2021-09-28 16:30 _Sylvan 阅读(236) 评论(0) 推荐(0)
摘要: synchronized锁的内容 import java.util.concurrent.TimeUnit; class Test1 { public static void main(String[] args) { Phone phone = new Phone(); new Thread(() 阅读全文
posted @ 2021-09-28 16:30 _Sylvan 阅读(44) 评论(0) 推荐(0)
摘要: Lock锁 源码 Lock public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long time, 阅读全文
posted @ 2021-09-28 16:29 _Sylvan 阅读(65) 评论(0) 推荐(0)
摘要: 虚假唤醒 class A { public static void main(String[] args) { Data data = new Data(); // +1 new Thread(() -> { for (int i = 0; i < 10; i++) { try { data.inc 阅读全文
posted @ 2021-09-28 16:02 _Sylvan 阅读(488) 评论(0) 推荐(0)
摘要: Git 1.起步 建议直接去看官方文档 1.1创建本地用户 $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" 如果使用了 --global 选项,那么该命令 阅读全文
posted @ 2021-09-17 08:51 _Sylvan 阅读(38) 评论(0) 推荐(0)