自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一点空

只要热爱生活,一切都在意料之中

  • 博客(63)
  • 资源 (3)
  • 收藏
  • 关注

原创 Looper其实很简单

每次提到这个looper,就有点感觉轻视的感觉,不就是个消息列队么。可是当别人问起,又不知道从何讲起,这次来一起捋一捋其中的道道,捋清楚后发现,还是很简单,哈哈。Looper是一种单个线程中持续处理消息的的方式。涉及到几个重要的类Looper // 消息的调度MessageQueue // 消息的存储Message //消息本身,可以负载数据,也分为同步消息,异步消息Handler //callback, runable, 消息的入口和处理地方以主线程的Looper为例创建Loope.

2021-11-05 16:49:10 2500

原创 解决stetho第一次连接白屏的问题

1.首先确定网络有没有被墙调,能访问谷歌不见得chrome的某些服务没有被墙ping chrome-devtools-frontend.appspot.comping chrometophone.appspot.com如果两者都能ping的通,直接在chrome浏览器里输入chrome://inspect找到要调试的页面就好2.如果上述两个网址ping不通我们要进行如下操作打开网...

2020-11-24 11:04:15 730

原创 android 录屏不录制自身的悬浮框

通过MediaProjectionManager的录屏操作,做了个简单的应用,但是每次都把自身的悬浮框录制了进去,脑壳疼。使用系统自带的录屏工具就不会有这个问题。为了一探究竟,捣鼓出了系统的录屏工具apk后,查看了下代码。得到了一份解决方案,附上工具类的代码。思路就是伪造window的标题和flagpackage com.ux.xposed.utils;import android.graphics.PixelFormat;import android.os.Build;import androi

2020-08-27 10:05:23 5432 26

原创 Android系统APP的odex转dex

因为工作的需要,需要反编译查看系统的应用的代码做了什么。与普通的应用不同的,很多的系统应用的apk文件中只有资源,真正的代码已经在出厂时经过了预编译变成了odex/oat的文件拷贝应用//通过pm获取对应应用包名的apk的路径adb shell pm path "packagename"//可以拷贝apk到本地adb pull "apk路径"拷贝oat如果只是上面的普通文件,则已经可以达到目录了,部分的system app里面是空壳,则需要如下操作//拷贝统计oat,以某个截屏系

2020-08-27 09:35:39 1014

原创 Gralde的task说明

前言接上一篇文章提到的,task的构建有向无环图,这个是gralde后期执行的核心,这期需要重点了解下task在写task之前,先解决一个比较重要的问题。在gradle写代码是很痛苦的,没有提示很难保证自己写的代码是正确的,属性有哪些?不知道!方法有哪些?不知道!一直在摸瞎的路上各种尝试或者copy代码,脑阔疼。这里有一个折中的方法供大家参考下。dependencies { gradleApi() implementation 'com.android.tools.build:gradle:3.

2020-08-21 19:26:04 193

原创 安卓安全那点事

本文旨在对于一个安卓app的安全知识做一个较为泛泛的总结,为开发出更安全的应用提供思路。内容比较粗略,仅起到抛砖引玉的效果,还望大家见谅。Android应用的安全意义在维基百科上有一个关于计算机安全的定义:计算机安全(computer security)是计算机与网络领域的信息安全(information security)的一个分支。其目的是在保证信息和财产可被授权用户正常获取和使用的情况下,保护此信息和财产不受偷窃,污染,自然灾害等的损坏。计算机系统安全是指一系列包含敏感和有价值的信息和服务.

2020-07-01 09:28:05 518

原创 C盘满了的终极解决方案

C盘满了的终极解决方案万恶的C盘二步到位买一送二大甩卖区分和查看链接的目录解决拷贝过程文件被占用万恶的C盘我的C盘 又 双 叒 满了,触目惊喜的红色。平时的开发会用到很多的工具,那个工具都会建立一些默认的目录在C盘,慢慢的C盘就毫无预兆的红了二步到位我们去修改应用的默认路径,太麻烦! 还可能有bug我们去重新分区,太麻烦!C盘如果就是一整块固态硬盘的还没法分我们都不用,使用mk...

2019-08-07 17:21:20 1019

原创 android反编译系统应用

因为工作需要,需要看看某个系统apk是怎么实现特定的功能的。 看看有没有可以利用的地方获取到应用的包名打开应用的某个页面进入adb shellshell里面 dumpsys activity|grep ACTIVITY 获取到包名根据包名查看应用的信息获取apk的路径 adb shell pm path {包名}把apk拉到本地adb pull {remote...

2019-06-11 19:39:14 411

转载 Android静默安装和卸载

记录一次坑爹的Android静默安装和卸载,别人遇到的问题我都遇到了。 终于找到了一个详细的解释的地方这里是详细的地址

2019-05-15 11:34:41 359

原创 Dialog不能设置宽高的问题

此文仅记录一个坑大家都知道dialog设置宽高 的代码如下: WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); lp.width = width; //设置宽度 lp.height = height; //设置高度 dialog.getWindow...

2018-12-06 16:50:24 2450 3

原创 Android编译gradle 动态修改版本号

在构建代码的时候不想每次都修改版本号,需能够增加一个功能在特定的条件下动态的修改版本号在manifest里面加入占位符号<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="${versioncode}" android:versi...

2018-11-26 15:06:15 4512 3

原创 android调试stetho的那点事

在调试安卓程序的过程中,受不了每次看日志查看网络的响应和导出db的动作(甚至有时候都无法导出db),这里安利一个facebook出品的神器 stetho,不过这个有些限制,在使用的时候一定的通过usb与调试的手机相连通的,也要使用chrome浏览器1. stetho支持的功能支持的功能主要是针对网络和db的,看github项目上的趋势,应该是在准备一些后续的功能(按照需求集成咯,我觉得网络和d...

2018-10-22 15:06:52 1666

原创 Gradle工作原理全面了解

说gradle之前先扯个笑话,有次我给我同事说,gradle在web里面管理各种jar也挺好用的,我同事跳起来“纳尼,这玩意还可以用在别的地方,不是android特有的么?” 。可能做某一项工作可能就认为都是为自己服务的 ,这个想法很奇怪的。 gradle是一个用来管理的编译构建流程的软工具而已,我是这么理解的。一、 没有你的日子里(手动悲伤)如果你手动的来完成一个可以执行的java程序要经历...

2018-09-27 19:31:45 7623 3

原创 正则表达式学习

正则表达式 就是为了查找到制定的字符串。 学习它没有那么难的,最简单的表达方式就是 {在哪里} {什么字符} {匹配多少次}一、定位符(在哪里) 字符 描述 ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与 \n 或 \r 之后的位置匹配。 $ 匹配输入字符串结尾的位置。如果设置了 RegExp...

2018-09-15 11:42:26 234

原创 android面试题

本文整理了的问题来源于开源项目 . https://github.com/AweiLoveAndroid/CommonDevKnowledge/blob/master/interview/summary.md 写了一部分答案,需要自己慢慢的补充和完善,把这当做一个大纲来了解一. Android基础知识点四大组件是什么 activity contentProvider Broad...

2018-09-03 22:27:39 426

原创 java面试题及参考答案

本文整理了的问题来源于开源项目 . https://github.com/AweiLoveAndroid/CommonDevKnowledge/blob/master/interview/summary.md 写了一部分答案,需要自己慢慢的补充和完善,把这当做一个大纲来了解java基础java中==和equals和hashCode的区别 ==是运算符号,比较的对应的地址里面的内容。...

2018-09-03 22:17:33 572

原创 android View移动的四种方式

我喜欢看动态的东西,总想着能够做出炫酷啊的东西,先要学习一些基本的让Anroid视图动起来的方式。Android 为了达到移动的目的,有多种移动的方式。这几张方式的限制和使用 早期让我觉得有些懵。现在做一个总结,综述下这些移动方式,讲述他们的差异和用途。改变布局参数。通过设LayoutParams 的margin来改变布局,达到移动的目的改变scrollX scrollY 属性。 ...

2018-09-02 15:01:27 12306 1

原创 Android 阴影背景的四种实现方式

先上图,看看最终个效果。总的来中有二种手段来实现 1. 使用layer-list 2. 使用Elevant使用layer-listlayer-list的方式的就一层一层绘制叠加,下面的item总是覆盖在上面的item上。方式一:用一条条的线条来叠加就是一条条有梯度的线条来模拟一个阴影效果,具体背景drawable如下代码所示:<?xml versi...

2018-08-27 20:06:09 21724

原创 设计模式汇总

设计模式之 六个原则 一法则 都为了践行当初上学时喊的口号:1.封装 继承 多态 2. 高内聚 低耦合合成聚合复用原则 一句白话来说明:少继承,多用成员变量开闭原则 一句白话来说明:买定离手,不要改 对类的拓展开放,对类的修改封闭单一职责原则 一句白话来说明:高内聚 一个类应该只具有单一的职责依赖倒置原则 一句白话来说明:面向接口编程 抽象不应该依赖于细节高层...

2018-03-12 17:10:53 258

原创 yarn原理 (学习笔记)

Yarn简介YARN (Yet Another Resouce Negotiator) :另外一个资源管理器 为啥要搞这个玩意,其实是有原因的。 并不是开发者太闲了。 主要解决hadoop 1.0 中mapreduce的问题 1. 存在单点故障 2. JobTracker“大包大揽”导致任务过重(任务多时内存开销大,上限4000节点) 3. 容易出现内存溢出(分配资源只考虑MapR...

2018-03-11 13:06:32 394

原创 HDFS原理了解 (学习笔记)

HDFS简介HDFS:Hadoop Distributed File System(hadoop分布式文件系统) 分布式,感觉好厉害的样子啊,有网络文件系统,有本地文件系统,现在又多了一个分布式的文件系统。之所以是要分布式,是数据要放到多个主机上面去。放的东西在集群中,就是分布式啦! 想要了解这个东东,先找一张原理图瞅瞅。 看不懂没关系,继续往下瞅就是了。HDFS 1.0...

2018-03-06 20:16:28 15766

翻译 chrome浏览器快捷键使用

超爱chrome ,用着舒服 熟练的使用其中的快捷键会让你更舒服 在chrome上按`F1`可以进入帮助文档页.可以这个页面是需要翻墙的. 翻墙..心累不,老铁!所以我就整理一下,备忘以及造福大众 原始地址,不翻墙无法访问请叫我雷轰! 以下的快捷键 对window 和 linux生效标签页和窗口快捷键 操作 快捷键 打开新窗口 Ctrl + n 在无痕模式下打开新窗口 C

2017-12-19 19:20:20 30612 5

原创 cmd命令入门,简单教程(DOS?)

不会CMD命令的程序猿不是一个好的程序猿! 咳咳,当然在Linux下就要会Shell脚本。 这是一篇真正的入门,讲解一般的DOS可以怎么使用。不排列庞大的命令条目,这里只举例子。按照废话的惯例,先普及下基础知识,走你:以下提及的win键,就是键盘上那个有个窗户图标的键 win7或者XP直接按win键,在弹出的窗口选择你要输入的程序,比如cmd然后按enter键就可以打开cmd命令窗口了!但是wi

2017-12-19 16:52:30 90085 15

原创 scrapy环境搭建 爬虫入门了解

我在学习爬虫,下面的内容都我经历的过程,是笔记,也是总结.希望对同新有所帮助 大体的思路就是 环境安装->运行scrapy->分析网页->模拟静态网页登录->模拟动态网页登录环境安装 基于unbuntu,其它的没有试试. python代码对齐有点奇怪,代码可能有的无法直接复制粘贴使用,请见谅安装virtualenvsudo apt install virtualenv//--no-sit

2017-12-15 13:53:06 448

原创 android 开发不得不了解的adb

如果你还在慢慢在手机点击各种界面来 进行对应的操作,那你就太out 了.通过adb 连接上你的手机,你就拥有了全世界.ADB 全称 Android Debugger Bridge . 是放在android sdk包 platform-tools 中的一个可执行程序工具.因为是一个单独的程序,所以如果有需要的话可以把它和它依赖的库单独的拿出来使用,不用下载完整的sdk.官网上有这个一个地址用来介绍

2017-12-09 11:32:31 347

原创 我眼中的代理模式

什么时候需要用到代理模式不希望与真实的对象进行交互,或者需要做一些额外的控制。因为是代理的关系,所以与代理对象交互的时候,就像与真实的对象交互一样。只是中间的代理类会做一些额外的操作。现有的代理模式中有静态代理和动态代理两种,静态代理就是在编译的时候代理的关系就已经确定了,而动态的代理是在运行的时候才有的代理关系。先看静态代理静态代理类图类图主要反应两点 1.代理类和被代理类对外界是无法区分的,好

2017-10-13 19:44:33 214

原创 我眼中的责任链模式

什么时候需要用到责任链模式处理事情的对象是先后顺序的。编程中最明显的就是三级缓存,一般,你会先查询内存数据,没有数据再看硬盘数据,再没有数据,则请求网络数据。这里很明显的就是一个个的进行处理。某个对象没有能力处理则把处理权交给另外的对象。类图想要行为一个完整的链,需要有一个设置下一级的能力,类图中需要体现这点类图倒是很简单的 代码//接口部分public interface Loader {

2017-10-13 19:18:02 232

原创 我眼中的观察者模式

什么时候需要用到观察者模式当有一个数据的改变会影响到很多模块的时候。我的理解是这样的,正常的编程过程中经常会使用setListener这种方式,功能类会在合适的时候来调用这个listener。这个关系是一对一的,一个功能类变化了,然后调用一个listener.如果是一个多呢,一个功能类变化了,要刷新多个其它呢?这就是观察模式的来源了。 观察者模式也叫订阅模式,订阅这个动作让我们更好的理解。你订阅了

2017-10-10 19:56:46 220

原创 我眼中的命令模式

什么情况下用到命令模式希望一列系的动作能够有计划的进行,可以进行保存,撤销等操作。将普通的任务改造成命令模式是很简单的。一般情况下,不要急于使用命令模式,真正需要的时候再去改造也是很容易的。为什么后续的改造会很简单?原因在于,动作的执行者是对命令类是没有依赖的。举个例子,假如有正常的功能 类A,它很普通,对谁都没有依赖。这个时候,如果需要改造出一个命令类C,这个命令可以调用功能A,可以将类A以参数的

2017-10-10 19:21:36 253

原创 我眼中的装饰器模式

装饰器模式,简称装饰模式。关键在于装饰二字什么情况下用到装饰模式对核心类进行功能的扩充。分清主次,一个是核心功能的类,一个的附加功能的类。从职责的角度来讲,就是把主要的功能和次要的功能隔离开,次要的功能放到装饰类。个人感觉还有一个特点,多种装饰类是可以叠加的。就像生活中,给自己的心爱的房子家加上了灯泡的装饰,也还可以贴墙纸,挂画等装饰。装饰模式的类图为了实现装饰...

2017-09-30 14:03:44 279

原创 我眼中的单例模式

单例模式是一中很常用的设计模式,写代码的过程经常有用到.什么情况下需要单例模式当你只想持有一个实例的时候.这个实例的生命周期是跟随进程的,一旦初始化就常驻内存,并且只有一个实例. 举个例子,如果是一个安卓的工程,Application这个类就是单例的,我只会需要一份.如果是一个普通的任意一个应用,为了表达平台信息的等,这个类也不太可能多处实例化,一般也只需要一个. 单例的坏处在于会占这内存不放.

2017-09-30 10:13:56 233

原创 Android Apk解析

本文主要解释APK的结构,以及其相关的解析过程.内容分为两部分,一部分是反编译的类文件查看,一部分是其它的文件查看.(拿到一个apk还是可以获取不少信息的,想想还有点小激动)apk的文件就是一个普通的归档文件,我们先用zip包的方式打开,看到的目录如下图所示.红色框框部分的.dex是没法直接查看的.这里需要反编译后得到.class文件,然而普通的.class文件也没法直接查看,这里我们选择jd-g

2017-09-25 19:21:44 10464

原创 ReactNative中的布局

ReactNative的布局模型ReactNative采用的布局模型是css中的flex模型,对其做了一点点的改动,因此,会先介绍CSS的flex布局模型,然后再简单的说明差异CSS中的Flex布局模型 需要注意的是flex布局模型只是显示模型中的一种,不能误以为css只能这么做网上有一篇文章写的贼好,把该说的都说清楚了。我就不做重复工作了。 戳这里总结下布局其所做的事情: 1. 决定主

2017-09-12 19:06:03 690

原创 Ubuntu 远程桌面配置

Ubuntu 远程桌面配置远程端配置 这里的远程端指的是服务端,也就是被远程访问的那一端安装xrdp(用于协议支持) sudo apt-get install xrdp安装xface4(用户界面支持)sudo apt-get install xfce4echo xfce4-session >~/.xsessionsudo service xrdp restart配置可被远程访问

2017-08-28 20:23:24 2335

原创 ReactNative了解(android)

ReactNative了解(android) 本文旨在对android 端的组件进行定制化,android原生中的实现方式,以及说明原生代码与js的交互过程组件定制 以下的自定义模块都要加入一个ReactPackage,ReactPackage需要加入一个ReactNativeHost,这个步骤不做具体的说明,在以下的说明中都略过.在js中也需要进行必要的模块导入,相当于java中的包导入

2017-08-19 15:28:39 327

原创 ubuntn 常用命令和快捷键汇总

unbuntn 常用命令和快捷键汇总一股蛋蛋的忧桑用上心头,用unbuntu也有一段时间呢,还是有些经常的忘记,这些可是基础哇!日常要用的,这里记录一些最基本的写法,仅供备忘!并不是记载各种详细的用法,只记录最可能用到的。常用命令1.查找当前目录下指定的文件或者目录//使用find ,指定查找的深度,只匹配当前路径(觉个例子查找以.开头的目录)find . -name ".*" -type d

2017-08-12 16:43:43 734

原创 ubuntu下反编译工具安装使用

ubuntu下反编译工具安装使用不想动,真的很懒,下源码什么的最讨厌.配置什么的最坑爹.只想安安静静的使用下一个工具,最好安装后直接使用就好.对,你来对了地方.这里译工具使用enjarify,查看反编译后的类文件使用jd-gui安装enjarify下载文件,戳我下载安装 sudo dpkg -i enjarify_1.0.3-3_all.deb安装jd-gui下载文件, 戳我下载安装

2017-07-07 17:37:20 2779 1

原创 FileProvider Failed to find configured root that contains

拍照为了支持AndroidN需要使用兼容的方式,传递参数的时候需要使用:if (Build.VERSION.SDK_INT >= 24) { uri = FileProvider.getUriForFile(mActivity, "XXXXX", file);}else { uri = Uri.fromFile(file);}但是,坑爹的,当手机有额外的SDcar

2017-05-23 15:27:25 515

原创 Proguard说明,android代码混淆

Proguard简介介绍 ProGuard is a Java class file shrinker, optimizer, obfuscator, and preverifier.shrink:去除无用的类和成员optimize:进一步优化,方法内联,去除无用方法参数,非入口方法变成私有,静态的,finalobfuscate:非入口点的方法和类进行重命名preverify:androi

2017-05-17 16:18:04 1265

翻译 Clean_Achitecture_翻译

Clean架构的翻译

2017-05-06 15:46:09 555

最新的cmder

cmder 替代 window下 cmd黑乎乎窗口的神器,值得拥有

2017-12-21

enjarify_1.0.3-3_all.deb

enjarfiy

2017-07-07

jd-gui_1.4.0-0_all.deb

jd-gui的deb包

2017-07-07

空空如也

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

TA关注的人

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