- 博客(130)
- 资源 (33)
- 收藏
- 关注
原创 Java包(package)的命名规范
Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。由于Java面向对象的特性,每名Java开发人员都可以编写属于自己的Java Package,为了保障每个Java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前...
2018-08-10 15:44:57
965
原创 SVN知识整理——SVN版本库瘦身
当svn库庞大到一定程度的时候,无论是在查询还是在备份方面肯定会给我们带来很多不便,对于有把SVN版本库随身携带到移动硬盘的朋友来说,这更是一个大麻烦。我就遇到了。最近我的移动硬盘空间严重不足,找来找去,只找到可以拿SVN版本库开刀。SVN里更新过好些大文件,这里大文件一更新,SVN版本库的体积就会扩大一倍。我用SVN版本库存放个人文档、程序源码、临时照片、课件等等。除了个人文档和程序源码,几乎不...
2018-07-09 18:29:11
3635
1
原创 SVN知识整理——SVN不显示图标状态
遇到这样的问题可以按照以下顺序尝试进行解决,解决方法一:升级最新版本。如果不成功继续尝试接下来的方法。解决方法二:右键->TortoiseSVN->Settings->Icon Overlays->Status cache,看看是不是default和none,如果是则设置为shell。如果不成功继续尝试接下来的方法。解决方法三:找到TortoiseSVN安装包,双击打开安装...
2018-07-09 15:37:20
2217
原创 java.net.BindException: Address already in use: bind 解决方法
在IDEA工具中启动tomcat时报错:端口已被占用。1、这是因为在tomcat开启的状态下,IDEA工具异常关闭,导致tomcat一直占用端口。解决方法在cmd窗口中输入命令--netstat -ano|findstr 8080 (8080指的是被占用的端口号)该命令执行完之后,可以得到占用改端口号的进程的pid然后在cmd窗口中输入命令--taskkill -pid 上个命令得到的pid ...
2018-04-18 17:24:08
12304
原创 java.lang.NoClassDefFoundError: android.support.v4.view.KeyEventCompat异常处理
异常信息:java.lang.NoClassDefFoundError: android.support.v4.view.KeyEventCompat at android.support.v7.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:526) at android.support.v7.vie
2018-02-06 16:01:57
5993
原创 新版AndroidStudio3较2.X中Moudle 的新特性
还再用compile依赖?那你就落后啦 AS 3.0 正式版已经出来了,讲到新版本支持的一些新特性,那么今天就来说说新版本中 Moudle 中 build.gradle 文件中的变化。 我们来看看新建一个项目在 Moudle 中的 dependencies 中的变化。dependencies { implementation fileTree(dir: 'libs', include: ['*
2017-11-30 12:12:37
1939
原创 基础知识(面试用)
Java语言的特点简单:java语言不使用指针,而是引用,并提供废料收集,让程序员不必为内存管理而担忧面向对象:java只支持类的单继承、接口之间的多继承、类与接口之间的实现机制(关键字为implements)健壮:强类型转换、异常处理、垃圾回收机制都是java程序健壮型的保障可移植:java系统本身具有很强的可移植性,java编译器是用Java实现的,java的运行环境是用ANSI
2017-10-24 18:30:27
435
转载 如何用产品经理思维写一篇商业计划书
原文出自http://blog.sina.com.cn/s/blog_5d7170af0102wsee.html创业者其实都明白,创业BP是一件很重要的产品,它的目标用户就是投资人,那么,如何让投资人对你的项目感兴趣呢,其实很简单,简单到只需要10页PPT即可,投资人都很忙,如果你的10页PPT都无法打动他们,那么你写100页也是一样的结果。 用产品经理思维写一篇只有10
2017-09-14 16:00:18
1936
原创 Android WebView常见问题解决方案汇总
就目前而言,如何应对版本的频繁更新呢,又如何灵活多变地展示我们的界面呢,这又涉及到了web app与native app之间孰优孰劣的争论。 于是乎,一种混合型的app诞生了,灵活多变的部分,如淘宝商城首页的活动页面,一集凡客诚品中我们都可以见到web 页面与native页面的混合,既利用了web app的灵活易更新,也借助了native app本身的效率。当然,就会用到webview这样的一个控件
2017-09-12 17:33:14
832
原创 APP字体大小那些事
(总能遇见些问题的)从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。或者app内需要有字体大小设置的,怎么可以设置全文中的字体大小呢。对于app不需要根据系统字体的大小来改变的可以在activity基类(app中所有的activity都应该有继承于我们自己定义的一个BaseActivit
2017-09-12 15:41:54
1094
原创 WebView中Http和Https混合问题
场景复现:在Android5.0 以及以上的系统,当WebView加载的链接为Https开头,但是链接里面的内容,比如图片为Http链接,这时候,图片就会加载不出来,在浏览器中的Console会有如下警告log:The page at 'https://***********/test.html?userName=26535fd656sdf966339eecc013esfd91' was loade
2017-07-13 17:16:11
1268
原创 AAPT err(Facade for): libpng error: Not a PNG file 错误解决
在导入项目到Android studio后,若编译出现“AAPT err(Facade for): libpng error: Not a PNG file”错误。该错误表示项目中的drawable下的图片文件有非png图片,命名为了png造成的。参照之前写的一篇文章Error: java.util.concurrent.ExecutionException: com.androi
2017-05-12 18:05:03
1421
原创 XAMPP:Apache —— Error: Apache shutdown unexpectedly.
在XMAPP中启动Apache出现的异常[Apache] Attempting to start Apache app...[Apache] Status change detected: running[Apache] Status change detected: stopped[Apache] Error: Apache shutdown unexpectedly
2017-05-03 14:27:39
5228
原创 Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:错误
出现错误的原因是:Androidstudio严格审查png图片,就是png没有达到Androidstudio的要求在gradle的android{ … } 中加入这两句就可以了android { ...... aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher =
2017-04-15 17:14:52
1035
原创 The number of method references in a .dex file cannot exceed 64K.
解决方法:分割Dex实现方法:1、相关链接 https://developer.android.com/tools/building/multidex.html#about2、在app的 build.gradle 中(1)在dependencies 中添加 compile 'com.android.support:multidex:1.0.1'(2)在 defaultConfig 中添加mul
2017-03-29 17:16:17
704
原创 bluetoothscanner-library
https://github.com/luckchoudog/bluetoothscanner-libraryHOW TO USE:Step 1. Add the JitPack repository to your build fileAdd it in your root build.gradle at the end of repositories:allprojects {reposito
2017-03-21 17:24:28
2492
原创 logger-library
LINKHOW TO USE:Step 1. Add the JitPack repository to your build fileallprojects { repositories { ... maven { url 'https://jitpack.io' } }}Step 2. Add the dependencydependencie
2017-03-21 13:39:16
572
原创 获取Android Debug签名证书的信息
Android签名证书的sha1值获取方式有两种:第一种方法:使用keytool第1步:运行进入控制台第2步:定位到.android文件夹下,输入cd .android第3步:输入keytool -list -v -keystoredebug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),例如:
2017-01-15 13:57:33
1834
原创 Android Studio 查看整个项目的方法数
在model中的build.gradle中根下复制下面代码:apply plugin: 'com.getkeepsafe.dexcount'buildscript { repositories { mavenCentral() // or jcenter() } dependencies { classpath 'com.getke
2017-01-06 13:57:09
4070
原创 Android Studio利用Gradle删除没有使用到的资源和代码文件
一、打包时忽略无用资源 我们在打包的时候默认会把没有用到的资源(比如图片)也打包成app,徒增了应用的大小。现在我们可以利用Gradle来优雅的去除没有用到的资源文件了!就是在gradle中配置shrinkResources true。这个东西依赖于minifyEnabled,所以minifyEnabled也要为true才行。官方推荐在正式版中这么写:android {
2016-12-30 16:44:25
1179
原创 App调用百度高德地图导航
百度方式 private void openBaiduMap(double lon, double lat, String title, String describle) { try { StringBuilder loc = new StringBuilder(); loc.append("intent://map/di
2016-12-27 10:38:31
1289
原创 Error:(1, 0) Plugin with id 'com.android.application' not found
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-12-19 14:20:06
1145
原创 渗透测试抓包神器Burp Suite,无需输入 license key
前几天写的关于Burp Suite的使用,忘了上传程序了,程序下载里面包含bat文件,需要修改成自己当前设备上的java安装路径,此方法同样适用其他版本。我不是雷锋,我只是搬运工,谢谢!
2016-11-25 22:21:55
62416
4
原创 Android软键盘挡住输入框问题的终极解决方案
前言开发做得久了,总免不了会遇到各种坑。而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑——来来来,我们慢慢看。入门篇最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText。对于这种情况的处理其实很简单,只需要在AndroidManifest文件中对activ
2016-11-09 14:45:12
5023
1
原创 Android代码混淆详解
虽然混淆的作用不是特别大,反编译也能看见代码,但是为了增加被人的反编译成本,还是最好混淆了,一般人也不会去看你混淆的代码,当然最好在加固下、监听下渠道也就差不多了。如果C语言很好的话,还是可以考虑把核心算法放到C语言里完成打包成so库等方式更为安全。下面就总结下混淆的配置。proguard 配置-keepclasseswithmembers 指定的类和类成员被保留,假如指定的类成员
2016-11-03 11:12:11
443
原创 怎么使Handler净身出户(非静态内部类和匿名内部类造成内存泄漏)
非静态内部类和匿名内部类造成内存泄漏也是一个很常见的情景,经常会遇到的 Handler 问题就是这样一种情况,如果我们在field声明一个 Handler 变量:private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handl
2016-10-18 17:55:01
1373
原创 SharedPreference使用的正确姿势
SharedPreference是Android上一种非常易用的轻量级存储方式,由于其API及其友好,得到了很多很多开发者的青睐。但是,SharedPreference并不是万能的,如果把它用在不合适的使用场景,那么将会带来灾难性的后果;本文将讲述一些SharedPreference的使用误区。1、存储超大的value第一次看到下面这个sp的时候,我的内心是崩溃的:一个默认的sp有
2016-10-18 16:59:36
3208
原创 Error: File path too long on windows, keep below 240 characters
遇见这样的异常:Error:Error: File path too long on Windows, keep below 240 characters : C:\Users\**************\***********\*******\**********\*****************\app\build\intermediates\exploded-aar\com.
2016-09-12 17:42:42
958
原创 android后台信息推送调研
android后台信息推送调研前言我们已经开发了一个应用,这里称为A应用,类似于天气weather那种。现在的任务就是如果这些A应用有新版本了,或者天气出现比较恶劣的状况,要及时在手机上进行消息的推送,提示有新的应用可以更新了,和天气将要变遭了,提醒用户需要注意的情况。及需要实现消息推送机制。推送方式基础知识 要获取服务器上不定时更新的信息,一般来说有两种方法:第一种是客户端使用
2016-07-15 11:15:06
2901
原创 http的状态响应码
http的状态响应码1**:请求收到,继续处理100——客户必须继续发出请求101——客户要求服务器根据请求转换HTTP协议版本2**:操作成功收到,分析、接受200——交易成功201——提示知道新文件的URL202——接受和处理、但处理未完成203——返回信息不确定或不完整204——请求收到,但返回信息为空205——服务器完成了
2016-05-11 10:32:33
5265
原创 增量更新——新兴的一种更新方式
随着android应用体积的不断增大,以及应用版本发布的不断更迭,用户的升级成了一个问题,google也意识到不断更新应用对用户流量的损耗,在Google I/O 上提及的 Smart App update,即应用增量升级,或者叫做差分升级的做法,并在新版本的Google Play中得到支持。现在在主流的应用商店中都会看见这种新兴的更新,讲的通俗易懂点就是——省流量跟新,哈哈,是不是很耳熟呢,接下
2016-04-30 17:52:30
5086
原创 GreenDao框架使用教程
github地址:https://github.com/greenrobot/greenDAO1、首先建立一个java工程的Generator,注意是java工程不是android工程。导入freemaker.jar和greendao-generator.jar,加入到build path。建一个如下的类:package com.luckchoudog.greendao;import
2016-04-28 16:27:51
3584
原创 自己整理的OkHttp工具——留存用
代码下载网络请求工具集,使用方法:1、需要第三方jar包有okhttp.jar、okio.jar、fastjson.jar;2、使用前需要进行初始化,建议在程序入口application中进行初始化,代码如下:List commomParams = new ArrayList Headers commonHeaders = new Headers.Builder(
2016-04-27 10:25:53
2234
原创 ViewPager+Fragment取消预加载功能
在大多数项目中,在用到viewpager的时候一般也会配合使用fragment,viewpager中的预加载功能也是非常的好用,在大多数情况下,预加载提高了用户体验,在切换的时候会非常的流畅,but!任何事都有but~当每个fragment都需要去联网加载网络数据或者做一些耗时的操作,而且有其他的fragment并不是必须的,用户不一定会打开。这样的话如果还预加载的话将会浪费资源,用户体验也不
2016-04-21 10:47:20
1470
原创 Windows端Drozer使用(Android APP应用安全评估框架)
Drozer 是一款优秀的开源Android APP应用安全评估框架,它最赞的功能是可以动态的与android设备中的应用进行IPC(组件通信)交互。其官方文档说道:“Drozer允许你一一个普通android应用的身份与其他应用和操作系统交互。”1、首先先准备好所需要的工具,可以在下边的网站下载Drozer和说明文档:https://labs.mwrinfosecurity.com/to
2016-03-21 16:33:28
3485
原创 Windows命令查看文件的MD5/SHA1/SHA256
certutil -hashfile yourfilenameaddress MD5certutil -hashfile yourfilenameaddress SHA1certutil -hashfile yourfilenameaddress SHA256其中yourfilenameaddress代表想查看文件的路径地址(包含后缀)
2016-03-04 17:48:41
23481
原创 使用Android Studio开发ndk-Jni(入门)
1、新建一个JNINDKDemo工程,咱们开始讲2、新建JniUtils类并实现随便一个native方法,好啦,首先是报红色的:3、接下来clean project然后再rebuild project4、完成以上操作后,将左侧切换到Project视图,在程序(这里是app)下的build-->intermediates文件夹下查看是否生成classes文件夹,没有则
2016-01-19 15:35:48
1426
原创 使用 Android Studio 生成jar包
对于用惯eclipse的猿猴来说,将程序作为library,工具程序让第三方使用,那是相当的方便,用eclipse工具使工程生成jar包这里就不再描述了。可在Android Studio中确实麻烦啊,必须在新建得时候选择是否是作为library创建工程还是以application创建工程,如下图所示:图中红框即是以android library新建工程,然后可以提供给第三方使用。举
2016-01-12 17:00:19
2360
原创 Burp Suite使用介绍——Proxy功能(七)
Intruder Scan发送一个你想csrf_token的请求到intruder。1)Positions设置如下:2)Options设置如下:Request Engineoptions>Grep-Extract>add3)payloads设置如下这里payload type设置递归(Recursive
2016-01-12 10:56:55
1547
原创 Burp Suite使用介绍——Proxy功能(六)
1 Android虚拟机 proxy for BurpSuite安卓虚拟机工具这里我使用的是谷歌安卓模拟器Android SDK,大家可以根据自己的系统来定,我使用的是window64系统,大家选择下载的时候可以注意一下,同时也是使用这个系统来演示。下载地址:http://developer.android.com/sdk/index.html配置Android模拟器
2016-01-12 10:53:47
1756
GIF 录制器
2017-03-27
win系统下使用的二进制差分工具
2016-05-09
九宫格安全手势锁
2015-07-20
Gif图完美运行——播放Gif图
2015-03-04
自动获取短信的验证码
2014-11-17
免费加密软件
2014-10-21
TextView实现跑马灯效果
2014-09-25
apache_2.2.4-win32-x86-no_ssl.msi
2014-09-01
打不死的小强——Service
2014-08-26
LayoutWeight
2014-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人