- 博客(142)
- 资源 (18)
- 收藏
- 关注

原创 智能家居简单实现---使用ESP8266简单实现和APP通讯
前段时间,公司利用 ESP8266 这个WiFi模块,做了好多小产品。从手机 APP 直连这个 ESP8266 进行通讯,再到实现远程控制。中间实现过程磕磕碰碰,虽然这方面已经做得非常成熟,但是网上的资料少之又少。现在把实现方式展示出来,同时也算是做一个笔记。首先这里要实现的是Android端的APP直连ESP8266进行双向通讯。如果想了解Android端的APP远程连接与ESP8266...
2017-11-14 16:29:56
154795
131
原创 自定义View之Region区域
Region在Android的绘制中是区域的意思,使用Region可以对图形进行很多操作,比如区域的合并,取交集、或抑或等等。Region的构造函数有以下四个:public Region() //无参构造public Region(Region region) //传入指定一个区域public Region(Rect r) //传入一个矩形public Region(int left...
2018-10-09 20:39:23
1657
原创 自定义View之Path测量工具PathMeasure的详解
PathMeasure是什么? PathMeasure是用来对Path进行测量的工具,一般来说PathMeasure是和Path配合着使用的。通过PathMeasure,我们可以知道Path路径上某讴歌点的坐标、Path的长度等的。PathMeasure有两个构造函数://构建一个空的PathMeasurePathMeasure() //构建一个PathMeasure并关联一个指...
2018-09-17 21:14:53
980
原创 自定义View中Canvas之Path的详解
上一篇Canvas的绘制图形只能绘制一些常规的,比如点、线、圆、椭圆、矩形等的。如果想要绘制更复杂的图形,那么就得靠Path了。Path的定义: Path类将多种符合路径(多个轮廓,如直线段、二次曲线、立方曲线等)封装在其内部的几何路径。Path的绘制: 通过设置Paint.Style的FILL(只描内容)、STROKE(只描边)、FILL_AND_STROKE(描边和内容),然后调用...
2018-09-10 20:47:07
5663
原创 自定义View之Canvas(画布)的详解
接下来学习一下自定义View之Canvas(画布)的详解先来看看Canvas常用方法: 功能分类 Canvas常用方法 备注 绘制颜色 drawARGB 通过设置ARGB值绘制颜色 drawRGB 通过设置RGB值绘制颜色 drawColor 绘制颜色 绘制图形 drawPoint,d...
2018-09-03 20:45:36
1170
原创 自定义View之Paint(画笔)的详解
Android提供了2D图形绘制的各种工具,如Canvas(画布)、Point(点)、Paint(画笔)、Rectangles(矩形)等,利用这些工具可以直接在界面上进行绘制。在自定义View中,我们经常用到的Canvas(画布)和Paint(画笔),像我们画画一样,需要画布和画笔,在View中绘制控件,Canvas就代表着画布,Paint就代表着画笔。这是的Android的的的官网里画的...
2018-09-01 11:13:30
2169
原创 Retrofit和Rxjava的简单使用
在Android开发中,网络请求是非常常用的。而Retrofit这个开源库是当下最火的网络请求库。下面是Retrofit的简介: 还有就是在Android中,有一个主线程,只有在此线程中才可以更新UI,而网络请求是耗时,为了提高用户体验,就规定耗时的操作基本都得放在子线程中。以往我们网络请求完之后是通过Handler、AsyncTask和runOnUiThread。在面试中前两个也是面试的重...
2018-08-19 21:31:18
1106
原创 简单的入门Android开发
前言去年年底到今年年初,我做过简单的智能家居,也实现过一些简单的直连和远程的智能家居。于是就将最简单的通信发布出来:智能家居简单实现—使用ESP8266简单实现和APP通讯由于这方面的资料少之又少,所以阅读量飙升的很快。也有很多人加了好友问我问题。通过问题我发现,很多都是学硬件的、或是做智能家居方面的学生,基本都不会 Android 开发的。问也有很多问我怎么学 Android 开发的。...
2018-08-04 12:17:25
6404
2
原创 Android实现简易示波器
用SurfaceView简易的实现一个示波器,这需求估计玩电子的比较需要吧。这里学到一个接口蛮有意思的,简单的说一下。holder.lockCanvas(null),就是锁住整张画布,绘画完成后也更新整张画布的内容到屏幕上,这个没有什么疑惑。而 lockCanvas(Rect dirty)就是锁住画布中的某个区域,绘画完成后也只更新这个区域的内容到屏幕。使用后一接口的初衷是只更新必要的画面...
2018-06-15 16:14:37
8173
3
原创 RecyclerView的基本使用
ListView功能是很强大的,直到现在还有很多程序在继续使用着ListView。不过ListView并不是没有缺点的,比如当数据量非常大的时候,如果不使用一些技巧提升它的运行效率,那么ListView的性能会非常差的。还有,ListView的扩展性也不够好,他只能实现数据纵向滚动的效果,如果想实现横向滚动的话,ListView是做不到的。那么这时就需要一个更强大的滚动控件——Recycler...
2018-06-09 11:39:44
614
原创 生命不息,折腾不止
最近已经差不多一个月基本没事做了,有也是改改bug,做做小改动。我清楚知道这并不是什么好事,虽然看起来过得舒服。这个月里面我也没闲着,起先是学习一些Android基础知识,写写Dome和博客。但是没有实际工作,这样学下去也是没什么动力的。后来没什么心思学下去,就转移学习一下金融经济。自己是不甘心只会coding的,随意就趁着贸易战学习一下中美的经济,研究一下股市什么的。总的来说,学到的东西...
2018-06-05 17:25:38
470
原创 service两种启动方式的区别
service,中文名称是服务,服务是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互,而且还要长期运行的任务。服务运行不依赖于任何用户界面,即使程序切换到后台,或者用户打开另一个应用程序,服务仍然能够保持正常运行。不过需要注意的是,服务并不是运行在一个独立的进程当中的,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉时,所以依赖于该进程的服...
2018-05-31 14:32:40
15879
原创 使用DrawerLayout和SlidingMenu分别实现侧滑菜单、以及AS使用SlidingMenu第三方库的步骤
使用DrawerLayout和SlidingMenu分别实现侧滑菜单、以及AS使用SlidingMenu第三方库的步骤
2018-05-20 12:36:53
898
转载 安卓开发中非常炫的效果集合
应对开发需求,收集一下网上一些比较炫酷的特效,于是发现这篇博客,就转载一下。作者:一点点征服 链接:安卓开发中非常炫的效果集合所有效果Dome下载地址:https://github.com/20994842/A-collection-of-Android-development-very-dazzling-effect1.很简单却很酷的粒子破碎效果介绍: 实现思路新建一...
2018-05-17 20:54:39
1092
原创 蓝牙开发基础
最近有需求,要开发APP之间直接分享一点数据,想了想蓝牙传输是最为合适的。于是就学了一下蓝牙的传输。蓝牙(BlueTooth)是一种短距离的无线通信技术标准。蓝牙协议分为四层,即核心协议层、电缆替代协议层、电话控制协议层和采纳的其他协议层。这四种协议中最重要的是核心协议。蓝牙的核心协议包括系带、链路管理、逻辑链路控制和适应协议四部分组成。其中链路管理(LMP)负责蓝牙组件间连接的建立。...
2018-05-16 22:40:36
1132
原创 动态页面技术(JSP/EL/JSTL)
一、JSP技术1、jsp脚本和注释jsp脚本:<%java代码%> —– 内部的java代码翻译到service方法的内部<%=java变量或表达式> —– 会被翻译成service方法内部out.print()<%!java代码%> —- 会被翻译成servlet的成员的内容jsp注释: 不同的注释可见范围是不同Html注释...
2018-05-10 22:03:04
678
原创 会话技术Cookie&Session
一、会话技术简介1、存储客户端的状态由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪 里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并 不知道该客户端是谁,所以需要会话技术识别客户端的状态。会话技术是帮助服务器 记住客户端状态(区分客户端)2、会话技术从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成...
2018-05-06 18:11:45
511
原创 HttpServletResponse和HttpServletRequest的简介
一、HttpServletResponse1、HttpServletResponse概述我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。 service方法中的response的类型是ServletResponse,而doGet/doPost方法的respons...
2018-05-05 13:30:07
1200
原创 Http的请求和响应协议分析
一、Http请求协议1、什么是Http协议HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的 一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为 了提供一种发布和接收HTML页面的方法2、Http协议的组成Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时,...
2018-05-04 21:42:11
1007
原创 通过读取配置文件的方式来使用反射完成对实例对象方法的调用
实现的功能如题,通过读取配置文件的方式来使用反射完成对实例对象方法的调用。废话不多说,直接演示,先准备一个接口:public interface IMyServlet { public void init(); public void service(); public void destory();}然后再创建一个实现类,实现上面的接口:p...
2018-05-04 09:04:12
925
原创 JavaWeb核心之Servlet
一、Servlet简介1、什么是ServletServlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API 动态的向客户端输出内容servlet规范:包含三个技术点servlet技术filter技术—过滤器listener技术—监听器Se...
2018-05-02 08:59:09
375
原创 JDBC实现自定义连接池、C3P0连接池和DBCP连接池的简单使用
一、自定义连接池1、连接池概念用池来管理 Connection,这样可以重复使用 Connection。有了池,所以我们就不用自己来创建 Connection,而是通过池来获取 Connection 对象。当使用完 Connection 后,调用 Connection 的 close() 方法也不会真的关闭 Connection,而是把 Connection “归还”给池。池就可以在利...
2018-04-29 20:32:34
1518
转载 Android集成讯飞语音、百度语音、阿里语音识别
前些天项目需要集成一下语音识别,选了百度语音,进入文档中心,看了之后有点头大,从官网下载的Demo也是,很多项目集成在一起的,有点乱。于是就想先在网上找找有没有已经集成好的拿来用,结果找个一个很有意思的Demo,下载下来半天不到就集成好了。这个Demo还是蛮有意思的,所以询问了一下作者进行转载一下。作者:八怪不姓丑 链接:Android集成讯飞语音、百度语音、阿里语音识别 一、引言...
2018-04-26 15:02:42
2933
原创 Android Studio在打包时自定义apk名字
如题,Android项目在打包的时候自定义apk的名称。在android的大括号下添加如下代码: applicationVariants.all { variant -> variant.outputs.all { outputFileName = "appName_${defaultConfig.versionName}_${rel...
2018-04-25 14:22:09
1363
原创 MySQL&JDBC简单介绍
MySQL的说明MySQL这个数据库蛮亲民的,很简单,也易上手。在电脑上装个MySQL,然后再装个Navicat可视化管理工具,就可以随意玩MySQL数据库了。网上大把教程,这里就不一一说明了。至于增删改查语句,这个跟Android的Sqlite数据库的增删改查语句一样的。可以参考一下的: Android数据存储(二)—Sqlite数据库(上)接下来直接介绍JDBC什么是...
2018-04-24 19:17:31
540
原创 WEB开发基础(二)
一、JQuery1、JQuery入门JQuery是一个JavaScript框架。它兼容CSS3,还兼容各种浏览器。JQuery的下载可以到官网下载<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>jquery入...
2018-04-23 17:50:13
256
原创 Web开发基础(一)
由于最近开发公司的后台管理系统和服务器的需求,所以临时学点WEB开发基础,因为是内部人员使用的,要求不是很高。所以也没有学得很精通,就随便学习一下基础就开始上手做。一、HTML1、图片标签<img src="链接" width="150px" height="30px" alt="logo图片"/>2、超链接标签<a href="链接地址&q
2018-04-20 19:59:03
397
原创 文科女生转行软件测试之路
前年年底实习过软件测试,现在已经转行 Android 开发了。那次的软件测试实习,虽说只有短短的三个月时间,但是就测试工作的质量来说,算是可以的了。主要测试一些处理大数据的业务流程,测试接口的时候学到了点自动化测试的技术。其实国内基础的软件测试工作,很多都是手动功能测试,好一点的会搭配一下自动化测试。如果测试工作紧急的,测试用例都是后面再补上来的。至少很多创业公司都是这样一个情况。女朋友是...
2018-04-10 17:16:43
8792
3
原创 程序员不易
前段时间,大概半个月左右,因为附近施工加上腰背肌受损,将近半个月没有睡好,以致于上班状态也是恍恍惚惚的。所以就赶紧想办法搬到安静点的地方。以为搬到安静点的地方就会好点,没想到的是腰背肌受损更加严重了,一样导致整夜睡不好,最后只能进医院看看,医生的答复是腰背肌受损,叫我不能久坐,也不能久站,接着给我开了药和一副护腰带。想想也是,之前为啥不会注意点呢?自己粗心是一个。加上之前根本不会有这种事,...
2018-04-07 18:29:24
336
原创 Android项目打包遇com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
很多人把Android Studio升级到3.1之后会遇到这样的相关错误: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details查了网上很多处理都是在项目的gradle.proper...
2018-04-04 15:27:56
23917
3
原创 ESP8266作为客户端通过路由器连接服务器的简单实现
ESP8266这个WiFi模块即可以作为服务器,发出WiFi供其他的客户端连接;也可以作为客户端连接服务器。接下来就简单的演示ESP8266通过路由器连接服务器的实现,连接服务器时ESP8266使用到的指令:将8266设置为STA模式: AT+CWMODE=1设置完之后重启: AT+RST8266连接路由器发出的WiFi: AT+CWJAP=”WiFi名”,”WiFi密码”启动多连...
2018-03-17 14:28:02
28258
11
原创 ButterKnife的使用详解
今天来讲解一下注解框架ButterKnife,此框架由Android之神Jake Wharton开源的。GitHub的链接地址:https://github.com/JakeWharton/butterknifeButterKnife框架的优点:强大的View绑定和Click事件处理功能,简化代码,提升开发效率方便的处理Adaper里的ViewHolder绑定问题运行时不会影响a...
2018-03-15 20:29:15
822
原创 ListView的item中的子控件点击改变其子控件的背景
在开发ListView的过程中,在其item里面有时会集成很多子控件,比如Button、ImageView等等的。有时需要单单点击这个子控件,并让这个子控件做出改变背景或状态的反应。并且点击item的其他地方都不需要反应。接下来就这种需求进行实现。 实现效果图:(当我们点击item中的开关时,会开和关的进行切换。点击item其他区域就无需响应) 直接演示源码,先准备一个开关Relay类:...
2018-02-27 19:18:01
1404
原创 Android中Activity在跳转时传递实体类对象的实现(实体类含有布尔值)
实际开发中偶尔会有这样的需求,在Activity跳转的时候传递一个实体类对象。废话少说,直接演示源码。其中实体类要实现Parcelable序列化接口,其实例可以从一个包中写入和恢复。实现Parcelable接口的类还必须有一个名为CREATOR的静态字段,它是实现Parcelable的对象。实体类的模板大概就是这样: public class MyParcelable implem...
2018-02-26 17:18:10
5953
转载 八大排序算法基础的总结
本文为转载技术博客 作者:iTimeTraveler 原文链接:八大排序算法总结与java实现概述因为健忘,加上对各种排序算法理解不深刻,过段时间面对排序就蒙了。所以决定对我们常见的这几种排序算法进行统一总结,强行学习。首先罗列一下常见的十大排序算法:直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序我们讨论的这八大排序算法的实现可
2018-01-23 19:38:46
754
原创 Java设计模式的总结
创建型模式在软件工程中,创建型模式是处理对象创建机制的设计模式,视图以适合情况的方式来创建对象。对象的创建基本形式可能会导致设计问题或增加设计的复杂性。创建型的设计模式通过控制这个对象创建来解决这个人体。创建型设计模式有两个主导思想组成。一个是封装有关系统使用哪些具体类的知识。另一个是隐藏这些具体类的实例是如何创建和组合的。创建型设计模式进一步分为对象创建模式和类创建模式,其中对象创建
2018-01-22 13:43:58
383
原创 Java设计模式之备忘录模式
备忘录模式(Memento pattern): 当你需要让对象返回之前的状态时(例如, 你的用户请求”撤销”), 你使用备忘录模式。
2018-01-22 09:03:19
454
原创 Java设计模式之访问者模式
访问者模式(visitor pattern): 当你想要为一个对象的组合增加新的能力, 且封装并不重要时, 就使用访问者模式。
2018-01-21 10:17:07
526
Android Volley框架的基本使用解析
2017-12-22
Android进阶-Android 5.X 的新特性
2017-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人