欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52672188 本文出自:[余志强的博客] 一.概述 上一篇博客讲了,如何在android studio使用apt < Android开发之手把手教你写ButterKnife框架(二)> 然后在Processor里生成自己的代码,把要输出的类,通过StringBuilder拼接字符串,然后输出. try { // write the file JavaFileObj…
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52664112 本文出自:[余志强的博客] 上一篇博客Android开发之手把手教你写ButterKnife框架(一)我们讲了ButterKnife是什么.ButterKnife的作用和功能介绍以及ButterKnife的实现原理. 本篇博客主要讲在android studio中如何使用apt. 一.新建个项目, 然后创建一个module名叫processor 新建m…
前言:android系统裁剪优化一直是各个厂商定制产品的关键步骤,包括浅层次的去除不必要的apk(android apk裁剪定制 )和深层次的裁剪整个编译系统和框架层.   android作为开源系统,各个产品同质化严重,只有深层次的裁剪定制自己的系统,才能充分体现各自产品的特性,也是优化各自产品的关键步骤,此篇文章主要关注编译系统和框架层的裁剪,抛砖引玉, 还有很多地方可以改进的地方,基于工作中时间限制,没有彻彻底底的进行,此处只是工作的实战篇,请拍砖引论,apk裁剪请看之前的单独文章(and…
最近要搞个小玩意儿,要用到pcduino的音频输出,但是系统默认的是输出到hdmi的音频,我的显示器上没有喇叭,只能搞个USB声卡.但是系统默认又不是输出到USB,这里我手把手叫你怎么设置系统默认声卡为USB声卡.                   1,查看系统的声卡. ubuntu@ubuntu:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Device [Generic USB Audio Device],…
前言 之前讲过<不懂电脑也能自己重装系统,可视化傻瓜式一键重装系统不求人!!!>,这是针对可以正常开机的情况下直接使用浏览器功能重装系统, 那不能正常开机或者忘记密码的怎么办呢? 不慌,今天我们就终结这种情况. PS:没什么难点,跟着下面教程走就能重装成. 制作U盘PE系统 首先我们需要百度搜索"老友装机大师"进行PE系统制作(使用其他方式制作也可以,U启动.老毛桃.大白菜等均可), PS:自己电脑不可用时可以使用公司电脑.朋友电脑等,没有什么问题,制作完成后把"…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37567907 逛eoe发现这样的UI效果,感觉很不错,后来知道github上有这么个开源项目~~~~当然本篇不是教你如何使用这个开源项目,而是教你如何自己通过自定义ViewGroup写这样的效果,自定义ViewGroup也是我的痛楚,嘿嘿,希望以此可以抛砖引玉~~ 效果图: 1.实现思路 通过效果图,会有几个问题: a.动画效果如何实现 可以看出动画是从顶点外外发射的,可能有人…
什么是反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制(注意关键词:运行状态)换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体.或对其fields设值.或唤起其methods 反射机制主要提供的功能 在运行时判断任意一个对象所属的类: 在运行时构造任意…
转自:https://www.jianshu.com/p/ee1342fcf5e7 前言 多线程的应用在Android开发中是非常常见的,常用方法主要有: 继承Thread类 实现Runnable接口 Handler AsyncTask HandlerThread 今天,我将献上一份AsyncTask使用教程,希望大家会喜欢 目录   示意图 1. 定义 一个Android 已封装好的轻量级异步类 属于抽象类,即使用时需 实现子类 public abstract class AsyncTask<…
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52662376 本文出自:[余志强的博客] 一.概述 JakeWharton我想在Android界无人不知,无人不晓的吧, ButterKnife这个框架就是出自他只手.这个框架我相信很多人都用过,本系列博客就是带大家更加深入的认识这个框架,ButterKnife截至目前已有1w+的star: 如果我们对于这个优秀框架还是停留在使用阶段,那就太可惜. 本系列文章的主要…
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum Repository [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样…
如果你不安装VMware增强工具的话,VMware经常会给你弹出下图的界面,提示你安装增强工具. 那么VMware增强工具到底有啥特别之处咧?其实在VMware虚拟机中安装好VMwareTools之后,就可以实现主机与虚拟机之间的文件共享,可以自由的拖拽文件,十分的方便,再也不用通过Filezilla.Xftp等远程文件传输辅助工具进行传输文件了.此外,鼠标也可在虚拟机与主机之间自由移动,省去按ctrl+alt组合键的功夫,而且虚拟机屏幕也可实现全屏化. VMware增强工具的具体安装过程如下.…
1. 下载最新的stable版MongoDB [root@spirit-of-fire ~]# wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-amazon-latest.tgz 2. 解压所下载的文件(不用编译,所下载的文件本身就是编译后的二进制可执行文件) [root@spirit-of-fire ~]# tar -zxvf mongodb-linux-x86_64-amazon-latest.tgz 3. 进入Mon…
在我们使用电脑的过程中,有时候一个经常用的网页突然打不开了,遇到这种情况,清理一下DNS缓存就可以解决了.如何清理DNS缓存?小编这就给大家说一种最简单的方法. 1.组合键:win+R,输入cmd,点击回车: 2.在命令提示符操作框中输入清理DNS缓存的命令:ipconfig/flushdns,点击回车后,会提示已成功刷新DNS解析缓存,这表示DNS缓存就已经清理干净了.然后再重新打开网页就能打开了. 这么简单的清理win7系统中DNS缓存的方法,你会了吗? 本文转自:https://www.y…
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群(QQ群.微信群)中,干起了无间道的工作.随着黑产群数量的激增,同事希望能自动获取黑产群的聊天信息,并交付风控引擎进行风险评估.于是,这个工作就交给我了,是时候表现一波了…… 针对同事的需求,分析了一通,总结一下: 1)能够自动获取微信和 QQ群的聊天记录: 2)只要文字记录,图片和表情包,语音之类…
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群(QQ群.微信群)中,干起了无间道的工作.随着黑产群数量的激增,同事希望能自动获取黑产群的聊天信息,并交付风控引擎进行风险评估.于是,这个工作就交给我了,是时候表现一波了…… 针对同事的需求,分析了一通,总结一下: 1)能够自动获取微信和 QQ群的聊天记录: 2)只要文字记录,图片和表情包,语音之类…
假设你还没有看上一篇 手把手教你Android手机与BLE终端通信--搜索,你就先看看吧,由于这一篇要接着讲搜索到蓝牙后的连接.和连接后的发送和接收数据. 评论里有非常多人问假设一条信息特别长,怎么不丢包,或者怎么推断一个完整的信息发送完了呢. 我写的时候连的串口是我们公司硬件project师设计的,他定义好了信息的格式.什么字符开头.什么字符结尾,中间哪几位代表什么意思,我假设不能成功取到一对开头和结尾而且长度也符合我就会丢弃那点信息,取得的完整信息则会依据硬件project师的文档取出app…
先看效果演示 接下来手把手教你实现这样的效果. minicap简介 minicap是一个可以远程获取android屏幕画面的开源库,它在低版本的Android系统上采用截屏的方式获取画面,在Android4.2以上系统上采用创建VirtualDisplay的方式来获取画面.性能大大提高. minicap的核心功能都在minicap.so中实现,如果要进行二次开发直接引用即可. 1.mincap下载 1.1 clone代码 git clone https://github.com/openstf/…
在上一篇Android:手把手教你打造可缩放移动的ImageView最后提出了一个注意点:当自定义的MatrixImageView如ViewPager.ListView等带有滑动效果的ViewGroup中时,ImageView自定义的拖动事件会和ViewGroup的滑动事件冲突,并且指出了冲突原因是由于ViewGroup拦截了Move事件的缘故.如果对于Touch事件的分发机制不甚了解的话,可以参考下这篇Android:30分钟弄明白Touch事件分发机制. 这篇文章将会在MatrixImage…
[课程概况] 手把手教你从无到有的完整实现一个Android商业项目,是目前整个市场上所没有的课程,废话不多说,请往下看. [项目概况] 项目名称:i美聊 所属领域:移动社交 即时通讯   代码行数:10万+ 开发周期:5个月 [讲师简介]         Jason,一个闷骚的老男人 [能收获的知识] 1. XMPP协议及aSmack框架 2. 错误信息的收集与发送 3.  兼容性测试 4. 短信验证码 5. 录音的转码及发送 6. 各种第三方使用 7. 接入支付功能 8. 代码混淆 9. 上…
前几天带大家一起安装了Ubuntu14.04系统,没来得及上车的伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编带大家一起在Ubuntu14.04中安装Pycharm,具体的教程如下.1.首先在主目录下创建software文件夹,此时该文件夹为空文件夹.这个文件夹下用于放置安装软件,当然这个步骤不是必须的,只是小编习惯的做法. 2.去Pycharm官网上下载Pycharm的Linux安装包,建议下载专业版的,如下图所示. 3.下载到本地之后,将其用fi…
        猿实战是一个原创系列文章,通过实战的方式,采用前后端分离的技术结合SpringMVC Spring Mybatis,手把手教你撸一个完整的电商系统,跟着教程走下来,变身猿人找到工作不是问题.想要一起实战吗?,关注公主号猿人工厂,获取基础代码,手把手带你开发属于自己的电商系统. 设计的文章我们告一段落了,接下来的日子里,猿人君就带着大家一起来完成我们的设计——手把手的教你撸一个电商系统. 既然要搭建一个电商系统,那么自然少不了,框架搭建的事情,web开发发展到今天,前后端分离已是不…
项目简介 novel 是一套基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离的学习型小说项目,配备详细的项目教程手把手教你从零开始开发上线一个生产级别的 Java 系统,由小说门户系统.作家后台管理系统.平台后台管理系统等多个子系统构成.包括小说推荐.作品检索.小说排行榜.小说阅读.小说评论.会员中心.作家专区.充值订阅.新闻发布等功能. 项目地址 后端项目(更新中):GitHub| 码云 后端微服务版本项目(待更新):GitHub |码云 前端项目(…
目录 /etc/fstab 文件的作用是什么? Linux 内核的图形化启动是怎么回事? Linux 系统中的文件名是否以大小写来进行区别? 「GRUB 中无法找到硬盘」怎么解决? 「GRUB 及配置文件中对磁盘分区的表示与 /dev 中的设备文件」有什么不同? GRUB 的配置文件是什么?有什么用? rootfs 根文件系统是什么? 内存磁盘(RAM Disk)是什么? 内存磁盘的大小是怎么弄的? 内存文件系统是怎么回事? 根文件系统与内存文件系统有什么关系? 辅助系统的作用是什么? 辅助文件…
Linux 系统定制原理 虚拟根目录 我们的目标是为了完成目标系统(也就是我们要做的系统),他是一个可以独立运行的系统,不依赖雨主系统和临时系统,根据 Linux 系统的特点它需要存放在根目录下面,但是却有一个问题,主系统在制作目标系统的过程中,他是一直运行的,因为你制作过程中需要用到主系统的命令,也就是说这个主系统也是挂载在根目录下面的,两个系统都分别需要有根目录,就会出现矛盾,因为根目录只能有一个. 为了解决这个问题,就有了虚拟根目录. Linux 内核启动时简历的根目录称为真正的根目录,虚…
第二章.基础准备--Linux 系统定制原理 Linux 系统的组成及架构 共享库和静态库 在 Linux 系统中,函数库包含两种形式:共享库和静态库. 共享库 共享库在程序运行时,为其提供所需要的函数,所以程序运行时该共享库必须存在系统中,且能够被系统找到并且使用. 静态库 静态库在编译程序的期间就将各种函数编译到程序中,程序运行的时候,即使该静态库不存在也可以正常调用其中的函数. C 库及各类功能库 在常规的 Linux 系统中,一般提供一个 C 函数库的实现,所谓的 C 函数库就是将标准…
Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你将学习到以下内容: 安装 Git for Windows 注册 Windows 服务 启用 Gitea 内置的 SSH 服务器 编辑 Windows 防火墙 环境准备 服务器配置 本文所采用的服务器配置如下,建议内存最少在 4GB 以上.OS 版本可以是 Windows 7/8/8.1/10/11…
本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心来写一篇文章,毕竟从前辈那里学到了很多东西. 工作了五年半,这三四年来一直在做社交相关的项目,有直播.即时通讯.短视频分享.社区论坛等产品,深知即时通讯技术在一个项目中的重要性,本着开源分享的精神,也趁这机会总结一下,所以写下了这篇文章. * 重要…
干货~手把手教你安装 Visual Studio 安卓模拟器 转 http://mini.eastday.com/mobile/171107134734194.html# 今天软妹为大家带来一篇来自MSP-周志伟同学的安装VS安卓模拟器的分享文章,跨平台的应用给你带来事半功倍的效果哦~那一起来看看文章吧~ [作者寄语]Bill Gates 创建微软时为了让每人的每个桌子上都有一台个人电脑,几十年后的今天,Bill Gates 实现了他的梦想,现在,微软又把梦想留给了学生. [作者简介]周志伟:辽…
本文原作者:“水晶虾饺”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.引言 好多小白初次接触即时通讯(比如:IM或者消息推送应用)时,总是不能理解Web短连接(就是最常见的HTTP通信了)跟长连接(主要指TCP.UDP协议实现的socket通信,当然HTML5里的Websocket协议也是长连接)的区别,导致写即时通讯这类系统代码时往往找不到最佳实践,搞的一脸蒙逼. 本篇我们先简单了解一下 TCP/IP,然后通过实现一个 echo 服务…
前言 大家好,今天写一遍学会Java前提-手把手教你配置JDK环境变量的概述,希望你们喜欢 下载地址 下载jdk,和eclipse就比较简单了,提供JDK 9 地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html 提供JDK 8 地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads…