android应用开发-从设计到实现 3-4 静态原型的状态栏
静态原型的状态栏 状态栏Symbol 状态栏似乎很复杂,有wifi信号、手机信号、时间、电量等信息,幸好Sketch原生就自带的现成组件,你可以直接拿过来就用了。当然,你也可以自己一个一个去画,不过既然有了现成的轮子,又何必重复劳动呢。 菜单栏中选择File -> New From Template,在弹出的菜单中选择Material Design。此时会创建一个新的工程文件。...
View Articleandroid classloader双亲委托模式
概述 ClassLoader的双亲委托模式:classloader 按级别分为三个级别:最上级 : bootstrap classLoader(根类加载器) ; 中间级:extension classLoader (扩展类加载器) 最低级 app classLoader(应用类加载器)。...
View Articlelinux驱动开发之module导出符号
前言 驱动开发中,module 是基本的组成,在一个模块中定义的函数,如果想在另一个模块中进行调用,这个时候,就需要进行导出,称为导出符号。 正文 我们所要导出的符号,是在一个模块中,也需要使用 modlue_init 和 module_exit 进行修饰这模块的入口函数。在需要导出符号的地方,使用 EXPORT_SYMBOL_GPL() 或EXPORT_SYMBOL()...
View ArticleJekyll搭建个人博客 韩俊强的博客
之前写了一篇HEXO搭建个人博客的教程获得了很好评,有很多读者主动给我打赏,在此感谢。 如果你看过我的文章会发现我现在的博客样式跟之前是有很大的区别的,之前我也是使用 HEXO 搭建的博客,后来发现使用 HEXO 在多台电脑上发布博客,操作起来并不是那么方便,果断就转到了 Jekyll 上,接下来我会讲如何使用 Jekyll 搭建博客,博客模板效果。 介绍 Jekyll...
View ArticleRetrofit/OkHttp API接口加固技术实践(下)
作者/Tamic http://blog.csdn.net/sk719887916/article/details/65448628 上节加固介绍了APi单纯Post用对称加密(Base64 为列子)加密方式,这种加密方式还是存在一定的风险,加密效率虽高,但易破解,本节将介绍怎么用非对称加密 来加解密okhttp的数据,本文采用RSA加密算法为栗子。 对称加密...
View ArticleiOS菜鸟笔记3:Hello,iPhone!
Hello,iPhone 先从一个图形界面的Demo开始,记录下一个iOS项目的创建和最简单功能的实现。 新建一个项目 当前最新Xcode版本为8.2.1,包含了Swift3以及iOS 10.2、watchOS 3.1、tvOS 10.1的SDK。 创建一个新的Single View的工程,开发语言选择Objective-C。 Xcode会为你生成下图中的文件。 应用的主入口 Supporting...
View ArticleRecyclerView局部刷新爬坑之路
前几天看到的一篇文章,感觉和我的爬坑经历很像,感觉相见恨晚,所以转载一下。原文地址:安卓易学,爬坑不易—腾讯老司机的RecyclerView局部刷新爬坑之路 有图有真相,首先来对比一下局部刷新前后的效果: 优化之前的效果: 优化之后的效果: 可以看到,优化之后,列表中的这张大图不在有一闪一闪亮晶晶的效果了! 那么,这是如何做到的呢?这是本文的重点,本文的大纲主要包括: 分析为什么会闪一下...
View Article快速使用HEXO搭建个人博客 韩俊强的博客
经过各种找资料,踩过各种坑,终于使用 hexo 搭建个人博客初步完成了,域名目前用得时 github 的,我的 hexo 是 3.1.1 版本,hexo 不同的版本,很多配置都不一样。好吧,废话不多说了,开始吧。 正文: 这边教程是针对与Mac的,参考链接,由于原文讲到的hexo是以前的老版本,所以现在的版本配置的时候会有些改动。...
View ArticleRealm_Android使用详解(一)
Realm数据库听说的时候是在2016年初左右吧,还是听一个网易的哥们说起.才了解到的.Realm是一个MVCC的数据库.底层使用C++写的.MVCC指的是多版本并发控制. 本篇文章先去带大家如何使用Realm,下篇介绍Realm的内部规则. 二叉树上图先,看下效果 环境支持 Android Studio 版本1.5.1 or 更高 JDK 版本 7.0 or 更高 Android API 版本...
View ArticleRX系列五 | Schedulers线程控制
RX系列五 | Schedulers线程控制 在我们上一篇文章中的,我们的小例子里有这么一段代码 //网络访问 .observeOn(Schedulers.io()) 事实上,我们在使用网络操作的时候,便可以控制其运行在哪个线程中,而Schedulers类,有四个方法,分别是 Schedulers.immediate(); Schedulers.newthread();...
View ArticleAndroid Volley源码分析(1)
之前的博客中已经记录过Volley的基本使用方法了, 从本篇博客开始,我会比较仔细地分析整个Volley框架的源码。 对于一个APK开发者而言,细致地了解整个Volley源码可能用处不大, 但对于一个Framework开发者而言,阅读和分析源码的能力还是时不时地锻炼一下为好, 况且如此广泛被使用的通信框架,它的源码应该是营养丰富的,仔细看看一定会有所收获的。 1....
View ArticleGradle 庖丁解牛(构建源头源码浅析)
1 背景 陆陆续续一年多,总是有人问 Gradle 构建,总是发现很多人用 Gradle 是迷糊状态的,于是最近准备来一个“Gradle 庖丁解牛”系列,一方面作为自己的总结,一方面希望真的能达到标题所示效果,同时希望通过该系列达到珍惜彼此时间的目的,因为目前市面上关于 Gradle 的教程都是在教怎么配置和怎么编写插件,很少有说明 Gradle...
View ArticleUGUI之坑点小结
以下是我总结断断续续遇到的一些UGUI上的问题,有机会能改则改,改不了的只能想办法注意和避免了。 UGUI刷新问题 场景中没有遮挡的背景时,首次打开UI 手机上不停闪烁或各种花屏问题: 处理办法: 场景中最好加一个物体遮挡,如进游戏底部加一块纯黑板背景,可以避免UI闪烁...
View Article《从零开始搭建游戏服务器》项目发布到Linux环境
前言: 之前我们提及了如何使用Maven来创建、管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,现在我们就开始将我们之前开发的项目demo发布到Linux环境下,并让它正常运行起来。 发布思路: 使用Maven将项目打包为.jar 将项目的.jar和项目所有依赖的jar包都复制到Linux下 创建项目启动脚本来启动项目 准备工作:...
View Article(Swift 实现)二叉搜索树 —— 创建
了解了二叉堆之后,二叉搜索树就好说了,就是一个节点,左边的子节点是不可能比他大的,右边的子节点是一定大于它的,想了半天终于把创建给写好了。 直接看代码 import UIKit var str = "二叉搜索树" //这个就不跟前面的完全二叉树一样了,得自己建了类或者结构体了,我建了个类 class erchaTreeNote { var data: Int var leftChild:...
View ArticleAndroid性能优化 内存优化 避免OOM
转载请注明出处:http://blog.csdn.net/smartbetter/article/details/65442706 怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。这些问题对于一个优秀的应用程序应当处理得恰到好处。为此,我也阅读了不少Android官方给出的性能优化建议。本篇将系统的从 Android的内存管理方式 到...
View Article一起Talk Android吧(第十五回:Java常用类之Arrays)
各位看官们,大家好,上一回中咱们说的是Java中异常的例子,这一回咱们说的例子是Java常用类之Arrays。闲话休提, 言归正转。让我们一起Talk Android吧! 看官们,我们在前面章回中提到数组类型,因为数组是类类型,我们没有介绍类相关的知识,所以当时一笔带过。不过,现在的情况不同了,我们已经掌握了类相关的内容,因此,我们在本章回中介绍数组以及常用的类Arrays。 1. 数组定义...
View ArticleRecycleview上拉刷新_下拉加载_侧滑删除加强篇
总有那么几个二比产品,让你上拉刷新下拉加载之后,又想让你可以侧滑删除,我想静静. 产品狗虽然可恨,可是我们还是得乖乖的去实现,没办法,谁让我们是打工的,加油骚年们. 看下我们的效果 首先定义我们最重要的一个侧滑处理类,使用ViewDragHelper来处理的.不懂的可以看下弘扬大神的博客 Android ViewDragHelper完全解析 自定义ViewGroup神器 package...
View Articlehostapd wpa_supplicant madwifi详细分析(十五)——supplicant扫描结果排序规则
int (*compar)(const void *, const void *) = wpa_scan_result_compar; qsort(scan_res->res, scan_res->num, sizeof(struct wpa_scan_res *),compar); // qsort函数介绍 static int...
View ArticleOpenGL ES总结(六)OpenGL ES中EGL
Agenda: EGL是什么? EGL数据类型 EGL在Android中应用 EGL的工作流程 GLSurfaceView与EGL区别 简单Demo EGL是什么? EGL? is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform...
View Article