自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (11)
  • 收藏
  • 关注

原创 Android 8.0 系统编译解决卡在Ensuring Jack server is installed and started

参考:https://www.cnblogs.com/zzb-Dream-90Time/p/9273844.html这个解决方法是比较全的,但是我所有操作都做了,依然无法正常编译解决这个问题花了我2天时间,尝试了很多次才解决,包括选择不同的lunch版本,因为在之前编译android9.0的时候,其他lunch也会出现各种问题,但是编译x86 64的时候是直接能一次性编译通过的。因为刚开始多线程(多进程?)编译的时候,不会立马出现这个问题,而是会编译过程中,我大概会2000-3000个文件之后,

2022-01-28 10:17:22 3090

转载 【Android】Android 9.0 隐藏虚拟按键跟状态栏,除去google搜索栏.

【Android】Android 9.0 隐藏虚拟按键跟状态栏,除去google搜索栏.

2022-01-21 11:03:40 611

原创 Android9 系统编译 修改开机动画

参考文章Android8.1 修改开机动画开始:我手上有一张gif图片。去百度找了个gif分解的网站,把gif分解为了180张图片。如图把最后一张,也是完整显示的一张复制出来放到part0下,其余文件放在part1下,由于我前30张图是全白的空白图片,所以我删了,保留了后150张创建desc.txt内容如下:388 353 25 // 开机动画大小为宽600 高 480,动画的显示速度为25帧每秒。p 1 25 part0 // part1目录下png图片显示一次,循

2022-01-21 10:24:32 3360

原创 Android9 系统编译 禁止安装非指定的APK

参考连接 android 添加安装权限白名单我在这里仅仅是禁止 手机/平板 安装APK,没有禁止adb命令。参照上面文章2、packageInstaller的修改最开始以为是framework/base/service里面的packageInstaller。改了之后发现没有成功,后面才反应过来是packages/apps/PackageInstaller这个apk因为android9点击安装包后,在右下角有安装、取消按钮,所以定位到安装按钮就行了代码:packages/apps/Pac

2022-01-20 15:43:00 2440

原创 Android9 系统编译 替换Launcher

在网上找了一些资料,搞了一天,没成功。应该是资料太旧了,后面自己解决了。我的需求很简单,需要开机启动自己的launcher应用,按home不能返回到原launcher。也不需要原生的launcher。编译的版本是Android 9.0Android 9.0编译参考下面是步骤:首先自己的app在AndroidMainfest需要配置为Launcher,这一步就不多说了。然后最简单的是在make之前,删除 packages/apps/Launcher2和Launcher3然后建一个文件夹,装自己

2022-01-20 10:00:00 1751

原创 Xposed 实现给Hook的APP动态添加权限Permission

Xposed 实现给Hook的APP添加权限Permission因为Xposed的资料都比较老了,所以只有找到android低版本的权限添加。今天研究了一会,把hook app 的动态权限添加了。直接说方法Xpose模块:添加权限需要activity对象,所以首先获取activity。直接拿到onCreate里的this对象就是activity对象了 findAndHookMethod("com.example.hoyn.example.MainActivity", lppara

2020-07-05 02:09:05 2787

原创 Xposed 利用ContentProvider实现跨进程数据读取

Xposed 利用ContentProvider实现跨进程数据读取由于Android N以后,Sharepreference的第三个参数MODE_WORLD_READABLE的被禁止,Shareperference的跨进程通信变得不可用,谷歌推荐使用ContentProvider进行通信。但是由于ContentProvider在平时简单的使用中过于重量,需要进行数据库操作特别的麻烦,所以我找到了一个库,基于ContentProvider封装,使用和平时SharePreference基本一致。开源库地址

2020-07-02 23:32:04 5245 1

原创 Python 技术指标EMA算法

Python 技术指标EMA算法算法由python-技术指标-ema算法改进而来原算法def get_EMA(df,a): for i in range(len(df)): if i==0: df.ix[i,'ema']=df.ix[i,'close'] if i>0: df.ix[i,'...

2018-08-08 02:17:58 18611 1

转载 启动tomcat时,一直卡在Deploying web application directory这块的解决方案

本来今天正常往服务器上扔一个tomcat 部署一个项目的,最后再启动tomcat 的时候 发现项目一直都访问不了,看了一下日志:root@iz8vbdzx7y7owm488t4d89z bin]# tail -f ../logs/catalina.out09-Jun-2017 15:57:06.666 INFO [main] org.apache.coyote.AbstractProtocol.i

2017-07-13 11:04:35 22355 7

转载 Android之JNI NDK如何取消native support 重新add native support

切换到Java视图 1. 打开.project,删除cdt相关的三部分: org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, ?children? ?children?=?name?=entry\\\|\|?name?=entry\\\|\||?name?=outputEntrie

2017-03-16 16:16:43 1805

原创 服务器ssh_key授权,并禁止密码登陆

·生成rsa_key , 并添加公钥到服务器windows:下载XSHELL,在登陆的时候可以选择用密钥登陆, 然后直接生成,保存可以得到rsa_key.pub。linux or Mac生成SSH密钥对ssh-keygen -t rsa建议直接回车使用默认路径Enter file in which to save the key (/root/.ssh/id_rsa):输入密码短语(留空则直接回车)

2017-03-13 11:52:53 3635

原创 Linux下Festival离线语音合成

最近研究了下Linux下的语音合成,一般用的就是 espeak festival ekho 科大讯飞 其中espeak最古老,但是我的Ubuntu简单安装又没安装上,所以没研究,ekho我听了一下发音,感觉是断断续续的,也有可能是因为我听的是中文的原因,所以也放弃了,科大讯飞的倒是很好用,可惜要收费,而且2000台起步。最后就选择了festival,然后鼓捣了几天。 可能是资料比较老了,

2016-12-23 11:04:56 11134 3

原创 打造一个炫酷的EventBus

以前做了一个给EventBus增加消息提醒的Jar包,发现太丑了,而且我自己用久了之后看起来让我感觉很不爽。 很喜欢Logger的日志显示,所以仿照Logger重新打造了一下EventBus。 现在的效果如下 是不是感觉看起来很清爽,而且在哪里Post的或者哪里接收到的,点一下就可以进入Activity里面。现在我们来开始打造:首先,我们需要知道蓝色引导的Log怎么做。开始我以为是用的什么

2016-12-21 15:32:19 462

原创 解决Android 5.0以上 无法串口通信ttyS2

由于对Android驱动不是很熟,在这里记录一下今天搞了一天才搞出来的连接ttyS2串口成功案例。首先保证G - G , TX - RX, RX - TX 的线序 。进入ADB SHELL之后,cd /dev 进入dev后,ls查看设备是否有ttyS0 1 2 3等输入:setenforce 0 关闭防火墙(关键)之前就是不知道这个一直不成功输入:chmod 777 /dev/ttyS2 修改权限然

2016-12-13 16:58:12 9098

原创 React-native Cannot find module 'invariant'

之前本来React-Native项目用的好好的,结果手贱更新了一下React-native版本,然后各种运行不了。不过本来就是刚开始的DEMO,所以打算重新新建一个项目React-native init {project} 来重新运行。

2016-12-09 10:18:04 4990 1

转载 Activity 全屏,沉浸式模式这一篇就够了

本文转载自 http://blog.csdn.net/zhangqinghuazhangzhe/article/details/52935290 第一次在项目中要用到全屏功能的时候无从下手,然后就是去百度了。百度到的结果都是差不多的。不过直接把代码贴过来的确是可以用的。但是除了知道怎么做之外还想去理解它,因为只有理解了才能举一反三嘛。好在在后来的时候看到了官方的文档,写的非常详细。–

2016-11-04 09:48:56 4063 1

原创 利用JAVA反射机制破坏单例机制,生成非单例对象

今天用科大讯飞的SDK,它的语音识别是用的同一个SpeechRecognizer对象,但是它的语音识别、命令词识别如果同时用的话,由于SDK自带的SpeechRecognizer.createRecognizer是单例模式,所以会造成使用冲突。一旦设置了命令词识别参数之后,语音识别就不管用了。 所以今天利用反射,去破坏它的这种单例机制,让自己的语音识别和命令词识别是两个对象,方便使用。///原代码

2016-11-03 18:48:32 1199

原创 React脚手架的使用--5步生成React+ES6+Webpack项目

本例方法利用yeoman快速搭建React+webpack+es6脚手架由实践总结一、安装最新的node.js原博文是这样写说的 npm install -g n //首先安装n模块 n stable //升级node.js到最新稳定版 n 5.0.0 //或者指定版本升级 node -v //检查更新是否成功我自己是去重新下了一个最新版的node.js二、修改npm源为淘

2016-11-01 10:37:45 25824 5

转载 人声频率范围及各频段音色效果

转载自:http://blog.csdn.net/brandon2015/article/details/50426137国际制定的数字电话机的通信标准是300——3400Hz 这是-3db标准,也就是说300HZ和3400HZ的传输电压幅度降低到正常的0.707倍,并不是一过这两个频率电压就完全消失了,现实中也做不到如此精确的滤波电路。 人讲话的频率主要集中在1~3KHZ,低频段极少,高频也几

2016-10-26 15:35:20 1848

原创 Cordova下android与javascript的交互

最近做了一个功能,公司是用html写的上层,需要调用android自带的语音合成和识别,原以为是直接与html交互,结果没想到上层是用cordova的框架写的,研究一天把cordova与android的交互实现了,现在记录一下实现流程 由于是第一次用到Cordova,所以把它的搭建android项目和实现流程一并写上。一、用Cordova搭建一个android工程。下载nodejs,并配置环境变

2016-09-20 16:11:42 15072 2

原创 给EventBus增加订阅收到消息提醒,用AndroidStudio重新打包成Jar文件

用过EventBus的人都会觉得EventBus很好用,但是EventBus有一个让人很难受的地方—-在你post之后,可能会有几处接收到你post的对象,但是作为开发者,时间长了之后,并不知道在哪几处接收到了订阅的消息。特别是在项目大了之后,到处都在post,但是却不知道哪里接收到了。 所以我简单修改了一下它的源码,让它能支持debug模式。 首先去下载源码EventBus.java在Even

2016-07-16 16:10:22 1109

原创 Android仿天猫下拉刷新自定义控件

1、概述控件基于android-Ultra-Pull-to-Refresh做的header定制,继承PtrFrameLayout,把事件分发给里面的RadioGroup,所以两个自定义控件分别叫HoynPtrFrameLayout,HoynRadioGroup。 因为需要PtrFrameLayout里面的一些私有属性:mPtrIndicator,mScrollChecker,所以把PtrFrameL

2016-07-13 17:23:40 4093

原创 切换多国语言导致Fragment被回收,出现切换错乱

如图所示,切换多国语言之后,由于fragment被回收,再次进入app的时候,切换fragment会错乱,甚至有可能切换完全无效果。在百度google之后,发现只有这个和我现在遇到的问题比较像,但是代码却不是很完善。在切换语言时,activity会被系统回收后重新创建,此时原先依附于该activity的fragment也会被系统destroy掉,但系统会自动创建新的fragment的实例atta

2016-06-30 11:01:19 7671 1

原创 解决Android studio导入项目卡死

一、找到项目下gradle\wrapper\gradle-wrapper.properties文件,打开后在最后一句gradle-2.13-all.zip,改成自己的。(新建个项目,可以看到自己的项目的版本,我的是gradle-2.8-all.zip) 二、在项目最外层的build.gradle里dependencies { //把这个版本改成的 classpath

2016-06-20 10:35:43 2174

原创 Butterknife下的BaseAdapter封装。

现在做新项目,每次ListView或GridView用adapter的时候,都要写一大堆。于是我写了一个AdapterCopy的类,每次用的时候都全部复制过去。受够了这种复制粘贴,今天突发奇想,为什么不把Adapter封装一下,让它和封装后的Activity一样好用?adapter设计思路(adapter理想模型): 1、getView() 。返回型为int,即和activity一样,只需要返回一

2016-06-12 13:28:26 1024

原创 Picasso OOM浅谈。

自从项目图片加载从ImageLoader换成了Picasso,很久没有担心过OOM的问题了。不过最近在三星Note2发现加载大图的时候出现了OOM,通过解决了这个问题,把Picasso的理解又加深了一层。于是今天简单记录一下造成OOM的原因和解决方法。场景1、 在ListView里面,piscasso加载图片,不用担心复用问题,可是假如ImageView是100*100,而图片是1000*1000

2016-06-03 15:51:35 2648

原创 MVP in Android,让Activity更优雅一点。

我一直认为面向接口编程的设计才是最好的设计。之前我一直用的okhttp,利用request(url,params,callback)这种方式来获取结果。但是自从了解了retrofit,我毫不犹豫的替换了自己的网络请求框架。 为什么?因为retrofit是利用接口定义的请求。@GET(url)Call getXX(params1,params2);要是哪天后台接口变了,需要增加一个参数,我不用去在

2016-05-24 11:33:52 1281

原创 Retrofit2实现缓存。离线缓存、在线缓存及@headers控制缓存时间

参考来自 使用Retrofit和Okhttp实现网络缓存。由于retrofit和okhttp都已经更新,在某些细节上参考的那篇博客已经不适用了,而且那篇博客并没有介绍@headers如何具体使用。这篇博客完整的介绍了怎么用interceptor实现retrofit的缓存,学习时需要注意一下自己的retrofit,okhttp的版本,因为不同版本的某些方法名是不同的,在文章末尾我把现在使用的版本贴上

2016-05-10 18:32:54 6688 5

原创 RxJava在Android中内存泄漏解决以及RxJava的封装。

RxJava在现在是一个非常前卫的异步框架,也是由于他非常新,所以比较难以驾驭。 像okhttp直接在onStop或者onDestroy 调用它的cancel方法就行了,但是Rxjava并没有那么简单。因为假如每次请求都得到Observable对象,然后再onStop中unsubscribe取消,这样很不利于封装。而且会造成代码量很多,所以我找到了用rxlifecycle的解决方案。 先导包

2016-05-06 18:52:21 6638 1

原创 是时候来了解一波Retrofit2了。

之前的网络请求一直是用的okhttp,这段时间了解了一下retrofit2,发现比自己封装的okhttp灵活很多,他的所有请求方式都是用接口实现,不像okhttp那样,万一想获取一个新的callback,又得重新封装一个方法。 项目只要导入了okhttp,retrofit默认用okhttp请求网络,返回的类型是Call,那么就相应OkHttp的callback 可以配合RxJava使用,返回的类

2016-05-06 10:28:43 2712

原创 RxAndroid简单入门。

这段时间研究了一下rxJava,rxAndroid。对于刚接触RxJava的人来说,完全是迷茫状态。相信看了大神的博文之后,心里有这样一个疑问,我只是想学rxJava,lambda和Retrofit又是什么鬼,完全看不懂了。所以这篇博文主要是单独讲RxJava在Android中的运用。一、RxJava是什么? 二、RxJava感觉很牛B,但是又有什么用? 三、我要怎么才能利用RxJava的反应式

2016-05-03 10:00:27 871

原创 EventBus3.0的基础使用。

EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。在我看来,eventbus在各个界面的传值特别方便。无论在哪个界面,只要注册了eventBus都可以收到任何界面post过来的消息,类似于观察者模式,

2016-04-27 18:55:09 793

原创 ConvenientBanner在TabHost下tab切换出现空白解决方案

在tabHost下,由于重写了onCreateView,保存fragment实例,导致了Tab切换时,ConvenientBanner在最后一张图准备轮播到第一张图,会出现空白。@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedIns

2016-04-01 09:54:14 1807 1

原创 Android带虚拟按键的手机不认res/values的屏幕适配解决方案

在某些带虚拟按键的手机上会出现不识别values文件的情况,例如1080*1920的带虚拟按键的手机,不会识别values-1920*1080的资源文件。 同样都是1080P,但是带虚拟键盘是不识别的。 原因是:带虚拟键盘的屏幕分辨率是1920*1080,但实际上他是识别真实高度((1920-虚拟键盘高度)*1080)。虚拟键盘高度哪里来呢?如果可以从参数上获取就取那个,如果不行就用类似

2016-04-01 09:39:22 4354 1

原创 用PocketSphinx做离线命令词识别

主要内容转自Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率,在此只是记录一下实现过程中遇到的坑。    最近语音识别很火,但是都是用的在线语音识别,研究了一下离线语音识别,小范围内的语音识别率还不错,在此记录一下 首先本文要说的两个前提1.android平台离线语音识别 2.小范围语音 小范围语音指的是相对固定的命令。本文的例子大概实现了20条

2016-01-12 17:41:14 7105 5

原创 图片头文件信息解析

今天发现获取图片的宽高,并不需要把图片完全读完之后再来获取,而只需要读取文件头文件,几十个字节便可以读出文件的宽高。 图片的文件头部存储有该图片相关信息,可以从中读取相应字段,得到尺寸、大小、格式等信息。由于无需载入整张图片,故而速度较快。当图片较大时,优势更加明显。  现在把今天发现的东西总结一下,所有数据都是用的QQ截图。特征码的位置可能和实际不同,目前发现jpg的宽高特征码不确定。如果以

2016-01-12 13:25:39 25286

原创 Android开发-通过ADB+Socket实现USB数据传输

通过ADB+Socket实现USB数据传输

2015-09-16 15:40:38 9624 2

原创 Android开发-通过USB实现ADB控制

1、首先配置ADB环境(也可以不配置,只是为了操作方便),将Android sdk中的 platform-tools和tools加入到环境变量。 2、win+R调出CMD,输入adb,如果cmd中弹出一大堆东西,就是配置成功了。如图示: 3、USB插入手机或启动模拟器,在cmd中输入adb devices 出现图片上所示,代表ADB通了,可以实现一些操作了。(如果出现error,首先判断一

2015-09-15 19:33:51 5008

原创 获取View的width,height的正确方式

今天做了一个视频的简单缩放,根据父容器大小,缩放一倍。但是做的过程中发现得到父容器的width,height为0,查了一下资料,找到了解决办法。

2015-08-26 14:24:25 1035

转载 java设计模式之——代理模式

1,什么是代理模式?代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。 2,策略模式有什么好处?    在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 3,代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色

2015-08-25 16:30:30 382

EventBus增加订阅消息提醒log

修改EventBus源码,增加订阅者消息提醒log,在application或者mainActivity中setIsDebug初始化设置

2016-07-16

EventBus增加订阅消息提醒

2016-07-16

MVPDemo in Eclipse

本人所写:http://blog.csdn.net/adzcsx2/article/details/51488701中附带的demo,方便他人学习与理解。Demo更新了

2016-05-24

MVPDemo for Eclipse

本人所写:http://blog.csdn.net/adzcsx2/article/details/51488701中附带的demo,方便他人学习与理解

2016-05-24

博客更新后RxAndroid+Retrofit+okhttp框架Demo

这是我写的一篇博客:http://blog.csdn.net/adzcsx2/article/details/51333890 中解决Android中RxJava内存泄漏问题的Demo,以及如何封装,加上Retrofit,okhttp搭建好的未完成框架。方便其他人学习。5月13号更新

2016-05-13

RxAndroid+Retrofit+okhttp框架Demo

这是我写的一篇博客:http://blog.csdn.net/adzcsx2/article/details/51333890 中解决Android中RxJava内存泄漏问题的Demo,以及如何封装,加上Retrofit,okhttp搭建好的未完成框架。方便其他人学习。

2016-05-06

RxAndroidDemo

RxAndroid的Eclipse Demo,http://blog.csdn.net/adzcsx2/article/details/51302318博客上附带的demo,方便其他人学习理解。

2016-05-03

EventBusDemo.rar

http://blog.csdn.net/adzcsx2/article/details/51263570 博文所附带的Demo,更方便其他人学习使用EventBus

2016-04-29

EventBusDemo

EventBusDemo

2016-04-27

Android项目开发基本框架

eclipse开发App项目基础框架,包含 1、网络请求(带缓存):okhttp+Retrofit 2、图片加载:picasso 3、代码注解:buffer knife 5、下拉刷新:pulltorefresh 6、BaseActivity:链式管理,fragment切换。

2016-03-17

Android基于PocketSphinx的离线命令词识别DEMO

Android基于PocketSphinx的离线命令词识别DEMO,包含了离线命令词库。

2016-01-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除