- 博客(128)
- 资源 (12)
- 收藏
- 关注
原创 软键盘弹起 EditText固定在输入法上方
View decorView = getActivity().getWindow().getDecorView(); View contentView = getActivity().findViewById(Window.ID_ANDROID_CONTENT); decorView.getViewTreeObserver().addOnGlobalLayout...
2019-02-21 17:52:43 1047
原创 ViewConfiguration滑动参数类
int slop = ViewConfiguration.get(getContext()).getScaledTouchSlop(); getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件,如viewpager就是用这个距离来判断用户是否翻页。/** * 包含了方法和标准的常量用来设置UI的...
2019-01-12 16:23:51 188
原创 App 瘦身总结
一 APK结构:现在AndroidStudio支持浏览安装包结构首先将待瘦身的app拖入AS里结构如图所示:会显示大小占比 和 一个apk的构成二 对应结构的瘦身方法1 针对dex即编写的Java代码生成的文件; 方法1: 开启混淆 过滤未用到的classbuildTypes { //增加构建类型 releaseMinifyEnable...
2018-08-28 11:03:06 277
原创 Android 7.0 之后抓包 Charles 手机配置证书后仍报: SSLHandshake: Received fatal alert: certificate_unknown
Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown) 安卓7之后调整了安全策略会导致部分手机抓包失败,请参考官网方法:https://developer.android.google.cn/training/articles/secu...
2018-08-14 15:04:53 11638
原创 org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'D:\sdk\ndk
集成三方阿里云WAF应用防火墙arr包时,涉及NDK报如下错误tasks.TaskExecutionException: Execution failed for task ':HeiyanReader:transformNativeLibsWithStripDebugSymbolForHeiyan_wapDebug'. at org.gradle.api.internal.tasks.e...
2018-08-01 10:50:38 5796
原创 java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs :清单合并失败多个错误,请参阅日志当项目加入AVMPSDK-external-release-5.4.1002 WAF 阿里云应用防火墙时报如下错误:org.gradle.api.tasks.TaskExecutio...
2018-08-01 09:39:50 6416
原创 Android Studio新建类头部注释 设置
1首先windows快捷键 Ctrl + Alt + s 打开settings 2 然后 Editor --> File and Code Templates 右侧选includes3 点击 File Header 在编辑栏添加自己想写的class头部描述信息即可/** * author : ${USER} * date : ${DATE} ${TIME...
2018-07-31 14:16:39 3926
原创 set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = t
在集成lomBok butterknife时 用到注解build报如下错误 Error:FAILURE: Build failed with an exception.* What went wrong: Execution failed for task ':app:javaPreCompileDebug'. > Annotation processor...
2018-07-07 10:08:15 8796 1
原创 Windows 配置Python环境变量
下载地址 https://www.python.org/downloads/windows/安装后配置环境变量在环境变量path里添加python安装路径点击确定,打开cmd 输入python表示配置完成
2018-06-04 16:54:13 1829
原创 jad反编译的使用
下载地址:http://www.javadecompilers.com/jad下载解压后包含jad.exe 和Readme.txt中文Readme为jad的主页是:http://www.geocities.com/SiliconValley/Bridge/8617/jad.htmlCopyright 2000 Pavel Kouznetsov ([email protected]).1. 请先读ja...
2018-05-31 18:36:35 7676 1
原创 Java 枚举类型原理分析为什么枚举比用静态变量多消耗两倍的内存
一 起源:枚举是一种特殊的数据类型,一般用来列举有限个、同类型的常量。它能保证参数的安全性,如方法声明传入的参数,必须是指定枚举中的常量。但是Android开发文档指出,使用枚举会比使用静态变量多消耗2倍内存。为什么枚举这么耗内存?二 枚举原理:定义枚举类 Week 星期一 到 星期五public enum Week { MONDAY,TUESDAY,WEDNESDAY,THURSDA...
2018-05-31 18:12:32 5618
原创 Android系统中的两个坐标系:Android坐标系与view坐标系
一 Android坐标系:Android坐标系将屏幕的左上角的顶点作为Android坐标系的原点,向右为X轴的正方向,向下是Y轴的正方向。在触控事件中getRawX() 和 getRawY()获得的坐标也是Android坐标系的坐标。二 View坐标系1 自身坐标 以下方法获得View到父控件的距离 getTop() : 获取View自身顶边到父布局顶边的距离: getLe...
2018-05-31 14:09:51 1407
原创 Android 同步cookie到webView,区分系统版本
当app原生项目登录时,跳转到h5界面需要将登录状态同步到h5里,这时需要将cookie设置给webview同步登录状态。具体代码如下:1 设置cookie前 设置支持js脚本 WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true);// 支持javaScript脚本...
2018-05-22 14:35:51 948
原创 android widget ViewFlipper
官方文档介绍:http://www.zhdoc.net/android/reference/android/widget/ViewFlipper.htmljava.lang.Object ↳android.view.View ↳android.view.ViewGroup ↳android.widget.FrameLayout ↳android.widget.ViewA...
2018-05-21 15:04:59 574
原创 Sublime Text 下载 和破解
Sublime Text 下载 地址:https://www.sublimetext.com/ 注册码:----- BEGIN LICENSE -----eldonSingle User LicenseEA7E-1122628C0360740 20724B8A 30420C09 6D7E046F3F5D5FBB 17EF95DA 2BA7BB27 CCB1494727A316BE 8...
2018-05-18 14:38:37 682
原创 setUserVisibleHint : viewPager+ Fragment 懒加载的实现
一 来源:setUserVisibleHint :设置Fragment 内部维系是否可见的mUserVisibleHint【Boolean型】变量的 方法 public void setUserVisibleHint(boolean isVisibleToUser) { if (!mUserVisibleHint && isVisibleToUser &...
2018-05-14 14:39:50 245
原创 Android 常用插件之 LomBok
一 介绍 lomBok 是通过使用对应的注解,可以在编译源码的时候生成对应的方法,减少模板代码的编写。二 集成 AS 在build.gradle 添加如下依赖 compile 'javax.annotation:javax.annotation-api:1.2' compile 'org.projectlombok:lombok:1.16.18' 然后...
2018-05-09 18:28:07 3423
原创 Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForLemon_wapLemonRead
加入lombok AS打正式包时 混淆报错并出现警告原因是 P r 原因: proguard 文件启用时报错 解决 方法:一种是如果你要禁用 proguard 文件,直接在项目的 build 文件中将 minifyEnabled 设置为 false 二 如果不想禁用 proguard 文件,那么可以将 -ignorewarnings -keep class * ...
2018-05-09 10:09:15 240
原创 Error:Execution failed for task ':app:javaPreCompileDebug'. AS加入lomBok依赖后
AS加入lomBok依赖后Error:Execution failed for task ':app:javaPreCompileDebug'.> Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to co...
2018-05-08 21:49:18 312
原创 Execution failed for task ':app:preDebugAndroidTestBuild
AS打开新项目时Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and tes...
2018-05-08 21:40:20 689
原创 Android studio 3.x集成butterknife 8.8.1 集成 使用 及集成时错误解决
一 集成ButterKnife 报错 解决办法 : 只添加 app下 build.gradle compile 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'二 基本功能1 @BindView(int id); 绑定单个view ...
2018-05-08 11:09:23 2459 1
原创 Unable to instantiate application....application.ReaderApplication: java.lang.ClassNoFind
新项目拉取时遇到的问题,安装后启动不了。java.lang.RuntimeException: Unable to instantiate application application.ReaderApplication: java.lang.ClassNotFoundException: Didn't find class 解决办法:Android studio Ctrl+Alt + S...
2018-04-24 14:50:29 513
原创 'abd' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
一:找到SDK目录,在其子目录platform-tools中找到adb,exe这个程序,将其复制到tools目录下配置环境变量:在path里加入在终端输入 adb命令即可 如果还是不行 将SDK里tools目录下的android.bat 复制到C:\Windows\System32或者C:\Windows\SysWOW64 目录里 重启终端 即可...
2018-04-24 14:50:13 4365
原创 Android Studio运行app时提示框Please select Android SDK
解决办法:方法一: 在File->Project Structure中将Build tools version修改,问题解决方法二:Ctrl + Alt + S 打开设置 找到Android SDK 点击右侧Edit打开SDK的设置界面如下图所示,这里SDK的目录保持不动,单击页面下方的“Next”按钮,在下一个页面继续单击“Next”按钮,等待Android...
2018-04-24 14:50:02 3692
原创 自定义仿微信支付输入密码方框样式输入框
效果图如下思路: linearLayout里嵌入textview用于显示数字 上盖一层透明的editText 监听输入事件,当没输入时 光标可显示 ,长安用于粘贴复制过的数字 输入后数字后 光标消失。NumberEditText :public class NumberEditText extends LinearLayout { /** 输入框 */ private ...
2018-04-17 15:00:49 1863
原创 整理Viewpager无限轮播控件
一 自定义viewpagerAdapter 1、最大值设置:getcount 返回 为Interger.MAXVALUE 2、轮播之后View的移除 【防止重复添加view】public class ImageAdapter extends PagerAdapter { private Context context; //轮播需要的图片 public Arra...
2018-04-04 15:54:06 432
原创 仿ios自定义日期选择控件
demo地址:https://download.csdn.net/download/xuwb123xuwb/10326889
2018-04-04 15:29:47 930
原创 在使用Android Studio 里svn插件时 当updata更新时 手动退出 或者网络中断 很可能出现工程被锁
解决办法使用在项目目录下执行svn cleanup功能前提安装svn客户端 才能执行命令 下载TortoiseSVN 安装时切记勾选命令行 见 https://mp.csdn.net/postedit/79776291勾选后才能使用命令进入指定目录下 可能会出现这种情况 说明这个文件夹不被svn认为是工作空间在此项目 下右键 看见 Svn upgradle workin...
2018-04-01 11:23:43 459
原创 记录Charles Https抓包 和破解
记录Charles Https抓包官网下载安装Charles:https://www.charlesproxy.com/download/1 安装SSL证书到手机设备点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device出现弹窗得到地址 chls.pro/ssl在手机浏览器输入地址...
2018-03-30 18:15:07 344
原创 Android 常用插件一:Parcelable接口序列化android parcelable code generator
一 在Android studio里安装Android Parcelable code generator 二 工程里写好javabean在类名出 mac快捷键 control + enter 【windows : alt + insert 】选择Parcelable出现选择 字段 点击ok即可@Setter@Getterpublic class Person implemen...
2018-03-28 11:38:43 273
原创 BindService 使用Messenger 实现最简单的进程间通信
原理: 使用 Messenger 可以在进程间传递数据, 实现一对多的处理. 其内部实现, 也是基于 aidl 文件, 这个aidl位于: frameworks/base/core/java/android/os/IMessenger.aidl.一 服务端实现 1 这种方式是通过BindService 实现的 所以 创建一个MyService继承Service 重写 onB...
2018-03-27 22:26:27 244
原创 唤起高德app执行导航
/** * * @param activity * @param currLocationX 导航起点纬度 【slat】 * @param currLocationY 导航起点经度 【slon】 * sname 起点名字 * @param locationX 终点纬度 【dlat】 * @param locationY 终点经度 【dl...
2018-03-26 22:15:08 2241
原创 微信登录接入
微信开发者平台,注册开发者账号,申请应用以下为官方登录介绍https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=a41d294b89a422288575227051d8dcba49b58d...
2018-03-24 21:23:23 3433
原创 简单实现获取验证码view
简单实现获取验证码view自定义TextView 内部自定义CountDownTimer实现倒计时public class PassCodeTextView extends TextView { private MyCountDownTimer myCountDownTimer; public PassCodeTextView(Context context) { ...
2018-03-24 17:04:25 163
原创 Activity生命周期变化时机 和 调用时机
一 activity生命周期图onCreate activity创建的时候调用onstart activity可见的onResume 可交互onpause 不可交互onstop 不可见onRestart 从 A - B 从B返回后 调用A的onreStart onStart onresumeonDestory 销毁情景一 Activity A 启...
2018-03-09 13:09:14 996
原创 studio工具
1 显示行前空格缩进Editor - General - Appearance - 开启 Show whitespaces2 Eclipse 格式化插件Plugins - Browse repositories... 搜索 Eclipse Code Formatter 插件,点击安装并重启 Android Studio3 自定义代码颜色4 在 Editor -
2018-03-08 22:07:56 571
原创 获取本地歌曲信息的方法
一 数据库获取,,读取本地媒体库二 MediaMetadataRetriever 获取MediaMetadataRetriever mmr = new MediaMetadataRetriever(); String str = getExternalStorageDirectory() + "1.mp3"; try { mmr.setDataSource(str
2017-12-17 14:51:43 1051
原创 WindowManager设置Dialog透明度
WindowManager设置Dialog透明度一,设置自身透明度WindowManager.LayoutParams lp=dialog.getWindow().getAttributes();lp.alpha=1.0f;dialog.getWindow().setAttributes(lp); alpha在0.0f到1.0f之间。1.0完全不透
2017-12-17 14:42:46 1339
原创 MediaStore.Video.Thumbnails.getThumbnail获取本地视频缩略图
原理:通过 CursorLoader读取本地媒体数据库一 解决录制视频后 读取媒体 数据库时,没有最新录制数据的问题 办法:通知媒体数据库更新: Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri contentUri = Uri.f
2017-11-25 18:28:20 4658
python脚本
2017-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人