- 博客(25)
- 收藏
- 关注
原创 openvas在2020.4月kali上的安装
sudo apt-get install openvas sudo gvm-setup sudo gvm-start:这里最需要设置账号和密码; 测试:http://127.0.0.1:9392安装过程视频:https://www.youtube.com/watch?v=AFwG18p61T0
2021-02-09 21:08:01
291
原创 C语言内存读取出错?
使用VS2012的时候编写c语言程序的时候,会遇到一些常见的问题;提示变量未声明,这里因为VS要求变量声明要放在一起,而且是最前面;内存读取出错:大多数是二级指针的问题;比如下面的一段代码:struct Person{ int data;}Person,*Student;Student p=NULL;*p=NULL;//这个时候就会报内存读取出错,就类似,Java里面St...
2018-11-23 17:13:31
2780
转载 Fragmen高手进阶
基础知识,如何拿到java的修饰符:https://blog.youkuaiyun.com/xiao__gui/article/details/8141216解决重叠的第四种方法: https://www.2cto.com/kf/201606/518375.html 1. 我们判断一下override fun onCreate(savedInstanceState: Bundle?) { ...
2018-09-05 14:29:26
225
原创 android studor如何提高Gradle的构建速度?
按照下面的配置,Gradle构建速度明显提高,项目构建由9秒降到2秒;Enable Configuration on Demand. //开启Gradle按需求构建,默认是false;Use Gradle Daemon. //使用Gradle守护进程,实现多进程构建Newer versions of Gradle are faster, also Java 1.8 is faste...
2018-07-09 21:09:31
259
原创 C语言为什么需要二级指针?
void show(int *p) { *p = 10;}void show2(int **p) { *(*p) = 20;}void main() { int a = 5; int * p = &a; show(p); printf("first: %d \n",*p); show2(&p); printf("second: %d\n", *p); system("pause...
2018-06-15 01:31:12
1138
翻译 jd-gui-1.4.0.jar jdk 9 不能用
java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED -jar jd-gui-1.4.0.jar就可以打开了;
2018-05-21 15:23:30
2314
原创 如何理解Android中的Binder呢?
很长时间没有些文章了,有时候很想写一点东西,但是又不知道写什么,刚好这段时间离职的空闲时间,就简单的写一些东西吧;1. 什么是Binder?2. Binder流程分析;3. Binder应用层代码验证流程;一. Binder是Android中跨进程通信的一种手段,在Android中,大多数情况下,一个进程就是一个应用,所以Binder也可以用来两个应用之间的通信;二. Binder的流程分析,这里
2018-05-03 15:44:16
369
原创 ViewStub总结
ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View;其特性如下: 1、调用其inflate()的时候,其布局属性android:layout=”@layout/布局”将会替换这个ViewStub标签,这个时候我们使用findViewById将获取这个ViewStub对象为空,所以是可以被替换这一点的; 2、infla
2017-11-05 21:51:14
394
原创 if,else优化
在开发中,一旦业务逻辑复杂的时候,我们难免会使用大量的if,else,但是,那么如何对相应的if,else进行一个优化,来提高我们项目的可阅读性呢?1、去掉不需要的if,else2、将if,else模块化处理3、必要时,采用责任链模式;一、去掉多余的if,else:有人可能会问,尼玛,如果是多余的,我特么还会写吗?你说,去掉多余的if,else这不是废话嘛。=_=,嗯,确实也是这个道理。别打我
2017-10-15 21:25:26
396
原创 FileUriExposedException,android7.0
FileUriExposedException在Android7.0以上,我们的应用将图片或者apk写入到sd卡的时候,使用另个一个应用对其进行一个访问的时候,就会出现FileUriExposedException,这个异常出现的原因在于:Google认为使用file:// Uri存在一定的风险。比如,文件是私有的,其他app无法访问该文件,或者其他app没有申请READ_EXTERNAL_STOR
2017-09-05 20:45:49
532
原创 android七种滑动方法,3种滑动机制;
记得之前在看医生的群英传里面有写到实现安卓中的7种滑动方法如下: 1、layout方法 2、offsetLeftAndRight与offsetTopandBottom; 3、LayoutParams; 4、scrollTo和scrollBy 5、Scroller; 6、属性动画 7、ViewDragHelper();但是上面的实现滑动的机制大体
2017-08-01 00:24:43
996
原创 布局的加载= =
好久没有写博客了,=_=…可能工作了,时间确实有点紧张….我们常用的布局的加载的方法有两种: View.inflate(context,resId,root); LayoutInflater.inflate(context,resId,root);那么这两种之间有什么关系呢? 通过底层的源码来说,其实都是通过LayoutInflate来加载布
2017-07-13 00:15:29
328
原创 compoundbutton调用setChecked触发onCheckedChanged的终极解决方案;
当我们想要实现了一个简单的有状态切换的控件的时候,我们通常会去实现,CompoundButton来实现我们想要的一个效果,最常见的就是系统的CheckBox,但是在使用的过程中,我们会发现一个问题就是:我们在使用SetChecked的时候,总是会触发,onCheckedChanged这个回掉方法; 那么怎么样才能做到不触发这个回掉方法呢? 首先我们需要知道为什么会触发这个方法;查看源码如下:pu
2017-05-14 21:56:24
3530
原创 webview重写 shouldOverrideUrlLoading,在部分手机上不能拦截?
在前两天的开发过程成遇到到这样的一个这样的问题,就是即使在WebViewClient中,重写了shouldOverrideUrlLoading,方法在我的某米手机上依然是不能拦截url;private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOve
2017-03-21 23:04:25
14379
原创 Android WebView不能加载ajax?加载ajax无效?
话不多说,直接干货:如果出现上述的问题: 排查的思路:1、WebView的支持js是否打开;webSettings.setJavaScriptEnabled(true); 2、webView拓展的api是否打开:webSettings.setDomStorageEnabled(true);3、在高版本的时候我们是需要使用允许访问文件的urls:webView.getSettings().setA
2017-03-21 22:53:24
6628
1
原创 一周回顾;
android一周开发回顾: 1、那些不得不说的坑; 2、思考与反思; 3、优化首先回顾一下这一周遇到的的坑爹开发;1、背景公司要实现的是android和h5混合开发,然后我们就需要完成混合开发;坑一:在登陆的时候,我们是需要一个账号和密码的EditTextView,这个时候,是需要密码框能够切换显示和隐藏,这个时候,当我们切换的时候,发现了,密码框和账号框的hint属性的对应的字体发生了变化
2017-03-15 00:39:52
341
转载 【内存泄露】由Handler引发的内存泄漏的思考
前面Looper与Handler解析提到过下面这段代码会出现内存泄漏,其实在Android Studio中会提示这个问题: 在编辑器里面会自动将这段代码标出来,我们看看提示信息是什么? This Handler class should be static or leaks might occur (null) less… (Ctrl+F1) Since this Handler is
2017-01-01 21:26:26
330
转载 如何快速转载优快云中的博客
前言 对于喜欢逛优快云的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转载,(⊙o⊙)… 也对。。实现 因为我自己当初想转载的时候却不知道该怎么转载,所以学会了之后就把方法写出来,帮助那些想转载却不知道该怎么转载的人(大神勿笑
2017-01-01 21:19:25
354
原创 一个过时的组件---ActionBar
2016.12.14; ActionBar的主要的作用就是保持整个app的页面的统一; 这里我们主要想说明一下就是如何让定制自己的ActionBar: 一般来说有两种方法: 1、通过setCustomView()来设置View来设置我们相应的ActionBar 2、通过继承系统的主题,来实现来自定义主题的形式,来实现ActionBar的定制注意: 1、第一中方式我们需要将actionBa
2016-12-14 19:34:30
435
原创 Handler源码窥探。
这里总结一下刷新UI的方法:Handler.post(Runnable)Handler.sendMessage()View.post(Runnable)AsyncTaskActivity.runOnUiThread()看似上面有五种其底层都是通过Handler的消息队列的形式来实现的,从源码ActivityThread中,我们知道甚至从安卓中任何主线程事件的响应都是通过handler来实现
2016-12-13 12:12:07
409
转载 Android Canvas drawText实现中文垂直居中
目标: 把中文字符绘制到目标矩形的居中位置。问题: Android的Canvas绘图,drawText里的origin是以baseline为基准的,直接以目标矩形的bottom传进drawText,字符位置会偏下。这样写代码:@Override public void onDraw (Canvas canvas) { Rect targetRect = new Rect(50,
2016-12-10 01:14:48
372
原创 java中类的加载你真的了解吗?
我一直都认为是需求推动技术,所以这里我们先提供一个需求,这里笔者在开发的时候遇到了这样一个问题: 父类:public class BaseHolder {public BaseHolder() { super(); initView();}public void initView() {}}子类:public class DetailHolder extends BaseHo
2016-12-08 20:50:40
368
原创 是时候来一发了-----三级~~~缓存
咳咳咳,三级,咳咳。。缓存,最近感冒了嗓子不太好,打字也断断续续的了,(●’◡’●),言归正传,这里想主要记录下网络的三级缓存的原理,以及代码简单实现;首先这里是缓存的原理图: 从上面的图中,我们可以知道的下面几件事情: - 三级缓存指的是,内存,本地,网络; - app如果想想要访问网络数据的话,最优先去访问内存,其次是本地,最后是网络(其响应的速度也是这个顺序) - 如果app访问内存得
2016-12-02 22:19:24
452
原创 安卓中响应式与交互式
有一个需求是这样,一个地方改变,其他地方需要同步,我们该怎么样实现呢?如果对观察者设计模式有了解的话,我们就知道,我们是可以使用观察者数据模式来实现的;但是这样真的适合吗?除了观察者设计模式,我们是否还能使用其他方式来实现吗?下面一个具体的场景: 手机端一个新闻的app,当服务器数据发生改变的时候,手机端需要同步的话,这里我们使用观察者设计模式,这样的话,就会出现一个问题,即使用户不想接收这个新
2016-11-27 18:02:12
643
原创 ViewDragHelper,入门级源码分析
ViewDragHelper,入门级源码分析本篇文章将ViewDragHelper,分为这么几个模块,逐步了解ViewDragHelp的使用,希望能够让一些不懂的开发者了解怎么样使用,让一些懂的开发者能够进一步的了解为什么需要这样做;-ViewDragHelper的简介和来源;-ViewDragHelper的基本使用;-ViewDragHelper源码浅谈ViewDragHel
2016-11-21 19:34:07
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人