世上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离;世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默默接受,静静处理。到那时,再来期待我们的finally。
Java
- 浅谈Java设计模式----建造者模式
- 浅谈Java设计模式—-单例模式
- 浅谈Java设计模式—-装饰模式
- 浅谈Java设计模式之——简单工厂模式
- Java中的一些基础知识点
- Java冒泡排序算法介绍
- Java基础知识——反射机制
- Java多线程之synchronized | notify | notifyAll | wait | 两个线程交替运行
- Android与单片机 | 开发板 | 智能硬件 | 智能设备 | 数据协议 |开发总结
杂七杂八
- 使用AndroidStudio获取SHA1集成百度地图
- 荣耀6调试时不打印Logcat错误日志
- 教你使用AndroidStudio关联源代码
- 使用AndroidStudio优雅的敲代码
- 使用Git将项目push至github
- 我走过最长的路就是你的套路——深圳
- 将开源库上传至jcenter—— 一步一个坑
- GitHub常见标签生成教学,让你的开源库添加几分姿色。
- 基于Hexo与Github搭建个人博客、并绑定已有的域名
- Android Studio —— 多服务端接口地址打包技巧
- 解决Mac连接RIOCH(理光)打印机无法打印问题
- Android开发Gradle高级技巧、自定义Gradle Task、打包完成自动签名、执行Shell脚本
- Android应用上架国内各大应用市场对应用Logo、应用截图要求整理
Python
- 通过Python实现一个简单的爬虫——获取掘金网站文章列表
- Python学习之——使用pymysql对数据库进行操作
- 使用Python3开发的一款Android截屏神器
- 使用python生成微信好友个性签名词云图
Android
- 腾讯QQ第三方登录的实现
- Android使用Socket(Tcp/Udp)协议进行数据传输(传输大文件)
- Android WiFi/WiFi热点开发总结
- Android RecyclerView自定义点击事件和长按事件
- Android实现二维码的生成和扫描
- Android获取手机已安装的应用程序并启动
- Android从图库选择照片并获取图片的path
- WebView的返回、前进、刷新加载本地网页等操作
- Android 实现app的版本升级(迭代)
- Android从服务器上下载文件
- Android初级控件TabHost
- Android----Rxjava与Retrofit初体验
- Android快速开发框架之xUtils—注解模块
- Android快速开发框架之xUtils—网络模块
- Android快速开发框架之xUtils—图片模块
- Android快速开发框架之xUtils—数据库模块
- 对一个apk文件获取相应的版本信息和其他信息
- Android高级控件之RecyclerView上放置CheckBox
- 那些年踩过华为手机的坑——相同的代码不同的效果
- Android常用对话框大全——Dialog
- Android网络编程之——文件断点下载(暂停/继续/重新下载)
- 带你一步一步实现RecyclerView.Adapter的封装,理解封装的过程
- Android金额输入框只允许输入小数点后两位
- 体验Android-O(奥利奥)新特性——AppShortcuts
- Mvp+RxJava2+Retrofit2 搭建一个属于自己的开发框架
- 简单的聊一聊微信支付的那些事
- 使用BottomNavigationView底部导航栏、添加数量角标提醒
- 解锁Activity的跳转新姿势———使用scheme跳转
- 打开层级比较深的Activity并返回到App的主页面
- Android一个线程内连接多个tcp服务端
- Android中Handler、MessageQueue、Looper三者的关系然后手写一套自己的Handler
- Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录
- Android中获取GPS搜索到的卫星颗数、并获取每颗卫星的信噪比
- Android通过AIDL实现接听电话、挂断电话操作 | 拨打电话
- Android 抽屉菜单滑动时模糊背景 | 毛玻璃效果
- Android DataBinding 你好!
- Android集成高德地图导航SDK、实现App内进行导航、打开高德App导航
- Android通过蓝牙(BLE低功耗蓝牙)实现设备间通讯 | 客户端 | 服务端
- Android自定义输入车牌号键盘、车牌简称 | 数字 | 字母键盘
- Android 动态换肤技术原理 | 实践 及总结
- 使用Android APT(Annotation Processing Tool)让代码学会自己写代码
- Viewpager迁移至ViewPager2实现Tab标签页面
- 解决Android SoundPool播放多个音效没有播放完成回调通知
部标协议终端开发
- Android JTT 808-2011 道路运输车辆卫星定位系统终端通讯协议及数据格式
- Android采集摄像头的视频流数据并使用MediaCodec编码为H264格式
- Android使用AudioRecord录制PCM音频、PCM转AAC、使用MediaRecorder直接录制AAC编码音频
- 使用Netty封装的部标JTT808 | JTT1078 | 渝标协议 数据上传Android端
- Java实现部标JTT1078实时音视频传输指令——视频流负载包(RTP)传输
Netty在Android开发中的应用实战系列
- Netty在Android开发中的应用实战系列(一)——— 搭建服务端与客户端
- Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的使用
- Netty在Android开发中的应用实战系列(三)——— 心跳处理 | 断线重连
- Netty在Android开发中的应用实战系列(四)——— 粘包 | 拆包 处理
- Netty在Android开发中的应用实战系列(五)——— 创建Web服务 | 作为HTTP服务器
- Netty在Android开发中的应用实战系列(六)——— 自定义协议进行拆包
Android开发艺术探索
- 《Android开发艺术探索》Activity | 生命周期 | 启动模式 | Flags | IntentFilter action data的匹配规则 (一)
- Andorid进程间通信(IPC)——Messenger
- 《Android开发艺术探索》Activtiy的生命周期
- 《Android开发艺术探索》IPC机制初认识
Android自定义View
- Android自定义View——实现时钟效果
- Android自定义View——菊花进度条
- Android自定义View——实现联系人列表字母索引
- 自定义LinearLayout实现RatingBar效果,打造一个评分控件
- 自定义LinearLayout并搭配流式布局,实现商城app商品规格选择View
- 高仿QQ空间广告位 ——— 一个位置来回切换两张广告图
- Android自定义View——实现水波纹效果类似剩余流量球
- Android 中 scrollTo | scrollBy | Scroller 的使用
- 利用DecorView实现播放视频开灯 / 关灯效果和仿QQ消息提示框
Google Material Design 控件
- 安卓BottomNavigationBar酷炫导航栏
- Android Support Design库之SnackBar初使用
- Android Support Design库之TextInputLayout
- Android Support Design库之TabLayout
- Android Support Design库之AppBarLayout
- 使用CollapsingToolbarLayout实现带图片折叠的ToolBar
- Android Support Design库之DrawerLayout和NavigationView
- Android Support Design库之FloatingActionButton
Flutter编程
ReactNative
- 解决React Native 运行在ios上报’boost/iterator/iterator_adaptor.hpp’ file not found’错误
- ReactNative基础(一)编写一个登录页面
- ReactNative基础(二)了解组件的生命周期
- ReactNative基础(三)了解ScrollView并打造一个Banner效果
- ReactNative基础(四)了解ListView的使用、实现GridView效果、编写一个真实网络请求案例
- ReactNative基础(五)使用react-navigation实现页面的跳转、参数的传递(StackNavigator)
- ReactNative基础(六)使用react-navigation实现页面导航布局效果(TabNavigator)
- ReactNative基础(七)js代码与原生代码进行交互、打包APK
- ReactNative基础(八)了解FlatList的使用、添加头尾布局、下拉刷新、上拉加载
- 解决React Native中使用TabNavigator时、对tab只设置文字时文字没有垂直居中
Java Web
Objective-c
Smack+Openfire搭建即时通讯
- 基于Openfire Smack开发即时通讯应用、搭建Openfire服务器(一)
- 基于Openfire Smack开发即时通讯应用、Spark安装,注册,登录,退出登录(二)
- 基于Openfire Smack开发即时通讯应用、获取离线消息,发送消息,联系人列表,添加好友(三)
- 基于Openfire Smack开发即时通讯应用、获取所有群组、加入群聊、创建群组(四)
Android JNI编程
- Android JNI编程(一)——JNI概念以及C语言Dev-C++开发环境搭建、编写HelloWorld
- Android JNI编程(二)——C语言的基本数据类型,输出函数,输入函数
- Android JNI编程(三)——C语言指针的初步认识、指针变量、互换两个数、函数返回多个值
- Android JNI编程(四)——C语言多级指针、数组取值、从控制台输入数组
- Android JNI编程(五)——C语言的静态内存分配、动态内存分配、动态创建数组
- Android JNI编程(六)——C语言函数指针、Unition联合体、枚举、Typedef别名、结构体、结构体指针
- Android JNI编程(七)——使用AndroidStudio编写第一个JNI程序
- Android JNI编程(八)——体验AS2.2.2编写Jni程序、Java调C、C调Java函数、将C代码中的Log打印至Logcat
开发中遇到的坑
- InputStream类的available()方法获取流的长度
- 解决TextView设置跑马灯但却没有效果
- 解决SwipeRefreshLayout与ScrollView滑动冲突
- Socket(Tcp)传输在流前面加标识
- 解决Android6.0不能开启热点
- 那些年踩过华为手机的坑——相同的代码不同的效果
- 根据视频地址获取视频的第一帧画面做为封面
- Android Studio 编译 依赖了微信支付无法编译通过的解决方案
- Android Studio 无法安装应用到模拟器上Failure [DELETE_FAILED_INTERNAL_ERROR]
- 关于ObjectAnimator的rotationX、rotationY在部分华为设备上消失的问题
- 记一次BLE(低功耗蓝牙)扫描周围设备慢的一个坑