RxJava实例一:加载线上图片 最近在学习RxJava的课程,感觉还是挺有意思的一个开源框架,先搞点例子上来,供大家参考,我也做总结首先看主要的RxJava执行思想,链式执行然后看代码,重点看注释AndroidManifest中加入权限<uses-permission android:name="android.permission.INTERNET" />public class MainActivity extends AppCompatActivity { private..
wait和notify实现满仓20的压弹射击的生产者消费者模式 wait和notify主要应用在线程暂停和唤醒,wait会让出锁资源,所以在notify唤醒该线程时,需要重新竞争锁资源简单的代码实现如下: private static int maxLoadNum = 20; private int bulltNum = 0; private synchronized void putBullt(){ if (bulltNum >= maxLoadNum) { try {
ThreadPool简单使用 线程池的应用比较广泛,主要是让开发人员在开发过程中减少自己创建线程,管理线程的细节。1、核心线程开始执行2、还有新任务,就填充到阻塞队列中,等待核心线程执行3、阻塞队列满了,就开始创建新的线程,也就是第二个参数maximumPoolSize的数量了4、如果达到了第二个参数的最大值,就会跑到RejectedExecutionHandler最后一个参数中的错误处理中简单代码如下:public class MainActivity extends AppCompatActiv..
ThreadLoacl简单使用 ThreadLoacl简单理解,就是不是很多人同时抢一个足球了,而是教练每人发了一个足球,各自玩各自的,各自维护各自的,不能和别人抢夺。简答使用效果如下public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private Button bt1; private Button bt2; private Thre
java线程-如何用join实现T1、T2、T3线程,按照T3、T2、T1的顺序执行完毕 首先看一下join方法的内容和注释直接看翻译,大概意思是1、如果调用join方法时,如果时间参数为0,则是永远wait,和直接调wait方法很像2、如果调用join方法时,时间参数大于0,就等待那么久,超时返回3、这个join方法,用了一个while isAlive实现循环等待,判断只要当前线程活着,就调用wait4、此方法可以被notifyAll结束5、推荐应用程序中,不要在Thread用wait、notify和notifyAll/** * Waits at mos
Java线程-Interrupt如何结束线程? 实现此中断很简单,启动线程A,然后触发Interrupt但是需要注意,sleep、wait、join等方法,会抛出Interrupt异常,并且设置中断标志位为false,导致判断isinterrupt退出循环失败,这一点需要注意错误写法public class TestThread extends Thread { @Override public void run() { while(!isInterrupted()){//中断标志位设为fals..
android studio debug设置及连接方法 首先保证设备的adb是通的,可以通过adb devices查看目前连接的设备。通过adb connect + ip连接设备,保证成功后执行如下步骤。 1、2、 3、然后编译、安装好的应用、并在安卓平台上运行起来 4、5、再在设备下找到当前应用的包名即可。如上即可连接成功,一般需要自动跳出该包名的process,才能连接成功。如果连接不成功,请保证adb联通后...
android studio debug设置及连接方法 首先保证设备的adb是通的,可以通过adb devices查看目前连接的设备。通过adb connect + ip连接设备,保证成功后执行如下步骤。 1、2、 3、然后编译、安装好的应用、并在安卓平台上运行起来 4、5、再在设备下找到当前应用的包名即可。如上即可连接成功,一般需要自动跳出该包名的process,才能连接成功。如果连接不成功,请保证adb联通后...
Shell学习过程中的笔记 1. Shell2. Wc 统计文件中的行或者字或者字符 -l 列出多少行 -w 列出英文单词个数 -m 多少字符3. (管道前的内容) | grep –c ‘hello’ 计算管道前内容中找到的字符串次数,单纯统计 -i 忽略大小写的不同 -n 顺便输出行号4. 变量的定义:直接在命令行中输入 MYNAME=ZTL,就可以设置一个变量名为MYNAME,内容为ZT
关于全局变量,如何被多个.c文件共享问题 这里有三个问题,都是比较类似的。1. 如果我要在别的文件引用本文件的全局变量你有哪几种方法?extern、使用函数传参、使用引用头文件的方式。2. 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此
OV7670循迹算法整理 2016/7/31. 今天发现一个比较尴尬的问题,之前摄像头采集到的图像和现实中我显示的图像的旋转方向根本就是反的,而且是各种颠倒。这也是为什么之前战舰例程使用的LCD刷新是从上往下,再从左往右刷新的原因,所以,我在存储像素点的时候,需要按照LCD上使用的方法存储,才能够正确的存储图像。2. 现在实现了图像的正向显示,也就是,将摄像头采集到的320(宽)*240(高),进行隔行扫描,隔
STM32学习经验(补充) 2016/3/23 1. 今天把普中开发板上的RS232芯片烧坏了,所以接下来要完成stlink的使用,来下载程序,同时也尝试调试程序,也算是被逼的去学一个很有用的工具,本来我都不想学stlink的。2. 先学习一下stm32的定时器,过程中,加入stlink的下载和调试。3. 定时器:stm32分高级定时器(TIM1和TIM8),通用定时器(TIM2-5
Linux 下的sqlite3数据库使用及Linux C的数据库编程总结 1. 首先我在终端中,尝试使用数据库,也就是输入命令,对数据库进行操作,这个过程只是过渡,最后还是要过渡到使用数据库的编程接口来实现对应的功能。2. 创建并打开一个数据库文件sqlite3 student.db;3. 然后在这个数据库中创建一张表,名字叫做stu_info,然后这个表中可以存储两个数据,就是学生的学号和学生的姓名,这里把学生的学号作为主键,cr
Linux C网络编程的一点总结 以下仅个人总结,望网友指正。我做的是,实现客户端与客户端之间互相通信,这样也算基本搭起来了,之前也做过一个即时通讯软件的项目,现在温习一下,所以点到为止。1. 网络结构的标准模型是OSI模型,由ISO国际互联网标准化组织定义的网络分层模型。2. ISO/OSI七层网络模型:应用层---表示层---会话层---传输层---网络层---数据链路层---网络层
平衡小车项目解读日志 2016/3/311. 关于6050陀螺仪模块问题2. 今天开始着手平衡小车项目,蓝牙模块不用关心,只要知道可以连接,再判断串口发来的指令即可。3. 好像比较简单的是使用DMP,通过结合DMP,可以将我们的原始数据转换成四元素输出,再通过四元素算出欧拉角,从而得到yawroll 和 pitch。4. 因为做的是平衡小车,那么就不需要roll
STM32部分学习经验(待补充) 2016/2/281. 学习STM32时,我准备的学习方法是,将网上下载下来的例程和模板进行学习,并不看视频了,因为有51的基础,所以看视频的话会有一点浪费时间。而且是使用库函数开发,底层部分在学习库函数时带着看看,反正后续会有ARM9的课,应该会有详细的讲解。2. 网上的模板是使用自己封装的函数和库函数.c文件,不使用keil提供的固件库,这样的好处是自己封装度较高,运用较为灵活,对各个
关于单片机连接ESP8266模块截取其回显内容 1,首先,ESP使用串口,跟51单片机通信,控制端可以使用手机,但是,51单片机和手机不在一个档次,那么在51单片机上需要分析操作。2,ESP8266在接收或者发送数据时,会向串口发送回显内容,也就是提示信息,提示接收到了什么,发送了什么,所以,在单片机上做字符串的分析截取很重要,不然手机和单片机的通信质量大大下降,前期的wifi小车写项目的时候,这个问题困扰了我很久,后来进度过慢,我就折衷的
智能wifi小车项目日志及重要问题描述解决 2016/1/17完成原理图,然后开始做PCB,但是存在布线复杂的问题,有的根本就是不合理的引脚分配。解决方法:根据实际的PCB元器件留出引脚位置,然后更改引脚,为就近的引脚,这样布线简单,而且清晰,不易出错。 LCD1602的问题,是可以通过不同的引脚控制吗?就是是不是可以把控制口的顺序更改,这样,布线变得简单,待解决。解决方法:明天测试使用不同的口对LCD1602操作。