自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L有只大大熊

记录平时遇到的问题,需要经常使用的代码,有错误欢迎指出[email protected]

  • 博客(95)
  • 资源 (2)
  • 收藏
  • 关注

原创 安卓特性注意点

1、隐式启动服务,安卓5.0以后不支持隐式启动,不能通过类路径、只能通过class方式; Intent intentService = new Intent("com.show.blue.launcher.LauncherService"); intentService.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); start

2016-04-11 09:17:28 347

原创 列一些优化习惯(常更新)

平时用到的优化,也许有遗漏,但是尽量列出来以防生疏1、Bitmap使用时候,不要马上收回了,因为对象引用还存在,而且界面还未注销,还重复使用的,2、Bitmap  对象清空时候,最好先调用recycle(),虽然做内存泄漏检测时候,发现对象已经不存在,但是recycle进行C层面回收。

2016-04-06 08:45:13 394

原创 java 16进制求和

public String makeChecksum(String hexdata) { if (hexdata == null || hexdata.equals("")) { return "00"; } hexdata = hexdata.replaceAll(" ", ""); int total = 0; int len = hex

2018-05-05 09:10:50 11825 1

原创 android studio 3.1.1 相关问题

The option 'android.enableAapt2' is deprecated and should not be used anymore.Use 'android.enableAapt2=true' to remove this warning.It will be removed at the end of 2018在低版本升级到新版本,提示以前的android.enableA...

2018-04-18 08:54:41 18568 6

原创 Mac Android Studio Flutter 配置问题记录

1、下载SDK$ git clone -b beta https://github.com/flutter/flutter.git$ export PATH=`pwd`/flutter/bin:$PATH拉取时候注意版本2、 flutter doctor3、创建项目 flutter create xxx4、关键 需要国外镜像export PAT

2018-03-03 11:29:54 566

原创 我理解的HTTPS

HTTPS需要理解对称加密、非对称加密的特性1、客户端发送服务器内容A,如何保证内容A不被别人查看?那就是加密,采用对称加密进行加密,则需要服务器有私钥K1,客户端有私钥K1。2、私钥K1由客户端产生,那如何确保发送给服务器过程不被别人查看?3、那采用非对称加密,用服务器的公钥SK对客户端的私钥K1进行加密变成K2发送给服务器,这样服务器用它自己的私钥SKP对客户端的私钥K

2018-01-25 09:04:10 851

转载 Shape 圆弧问题

http://blog.csdn.net/lovexieyuan520/article/details/39188441

2017-07-17 10:47:46 2412

原创 画廊效果的广告栏

动画效果 动画延迟,定时器,无限循环 只适应都具备了http://download.csdn.net/detail/ten11/9876874

2017-06-21 17:41:12 444

原创 美团多渠道打包Python 转groovy gradle 插件方式

https://github.com/605575912/plugin

2017-05-23 20:27:30 405

原创 TextView 换行对齐自定义

package com.imay.live.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.util.AttributeSet;import android.widget.TextView;/** * 左对

2017-04-22 11:48:34 2252 2

原创 FFMpeg 小试

经过网络的指导,源码编译生成安卓JNI 调试代码;目前调试思路是:JNI导入源码,然后找到入口Main函数,使用PC 平台的命令输入,然后顺着命令来阅读代码,目前能执行  视频合成  视频分拆等常用命令,封装成一个JNI调用,下一步再阅读源码,进行一个业务的流程整合;参照 http://blog.csdn.net/leixiaohua1020/article/category/13

2017-02-06 16:54:41 371

原创 BitmapFactory.decodeFile 加载失败 在部分安卓机器的BUG

通常我们加载SD卡图片 使用安卓API BitmapFactory.decodeFile  、decodeStream  这些,通常不会遇到什么其他问题;但是今天运营部门保障了,说某个广告图不能加载出来,然后我去定位问题,查看本地SD卡里面的图片,用手机相册看到图片不能正常展示,大小偏小,怀疑下载不完整,于是看了代码,发现看不出问题,然后把图片导出到MAC 查看,居然可以查看,突然蒙了,大小不

2016-12-16 18:07:48 4455

原创 多渠道打包动态修改Assets 中的内容 APKTool

大部分 都是ant、gradle  打包,但是个人觉得配置起来也麻烦,能不能用代码 动态配置,而且只需要一次编译就可以 分发多个渠道。可以就是利用反编译 和重新打包签名原理下载最新的APKTool .用java 调用 Runtime.getRuntime().exec,解压,修改,打包,签名,可以。目前试过10M的APK 在Mac 多一个渠道 只需要22秒左右,可以修改

2016-12-09 16:27:19 1864

转载 引导页,或者点亮指引界面

https://github.com/amlcurran/ShowcaseView

2016-11-26 23:04:04 426

原创 写一遍加深记忆 Android的事件分发处理流程

对于安卓的事件分发,我理解如下观点ViewGroup 有 dispatchTouchEvent、onInterceptTouchEvent、onTouchEventView  只有 dispatchTouchEvent、onTouchEvent,因为 onInterceptTouchEvent是ViewGroup 的函数假如A ViewGroup,保护View B,一次正常的按

2016-11-22 18:40:54 264

翻译 获取真实的density 密度因子

double getdensity(Activity activity) { Point point = new Point(); //这样获取的宽高准确,不是heightPixels if (Build.VERSION.SDK_INT > 16) { activity.getWindowManager().getDefaul

2016-10-19 18:21:29 1154

原创 视图分析可以帮助解决一些UI上的BUG Layout Inspector

今天分派到一个BUG ,在几个界面里面,头顶有一个小小的白线,因为头顶是我实现的背景图,初步还以为是图片缩放不好导致的,后来排查也不是,当前的Layout是不包含该布局的样式的,因为项目中框架布局层次是内嵌,继承太多,具体看不清有哪些布局。 于是通过Layout Inspector 查看视图,发现了除了当前布局,还有其他VIew ,于是锁定有额外添加View ,后来在setcontent时候特

2016-10-19 16:20:27 4830

翻译 获取当前Task 的替代方法,获取最近运行列表

/** * 这个方法获取最近运行任何中最上面的一个应用的包名, * 进行了api版本的判断,然后利用不同的方法获取包名,具有兼容性 * * @param context * 上下文对象 * @return 返回包名,如果出现异常或者获取失败返回"" */ public static String getTopAppInfoPackageName

2016-10-19 14:39:21 2803

原创 NinePatchDrawable 简单代码应用

对于代码加载图片,作为背景时候,有时候我们需要加载 点9图,所以需要先判断一下,避免当初普通图片应用 ImageView im_0 = (ImageView) findViewById(R.id.im_0); final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.

2016-10-11 19:41:13 1101

原创 查找android项目中无用资源

如果单纯想找无用资源,可以用lint 命令,本来是eclipse 导出到 Android Studio,使用一下命令失败,于是导入回Eclipse 再使用命令即可。lint --check "UnusedResources" /Users/apple/Desktop/ANDROID_DEMO > result.txt,将会在用户名下生成一个result.txt的结果文件;

2016-09-23 10:23:52 653

原创 java.io.IOException: The same input jar [***\libs\android-support-v4.jar] is specified twice

以往是 在混淆文件里面添加 -libraryjars libs/android-support-v4.jar但是升级了 SDK Tools 到25之后,就默认添加了,所以不用再显示添加这句语句了

2016-09-08 15:28:46 491

原创 快捷方式卸载不能跟随删除问题

一个8年的项目。里面一堆BUG,然后每天都是看别人代码,重构或者修复,但是经验还是慢慢积累,别人的错误 就是你的经验今天就有一个问题,测试说 在android N版这个删除了APP,但是桌面快捷方式未能跟随删除,于是调试了一下,果然不能删除,然后试试360,居然可以,说明跟系统无关;于是查看代码,发现了有点儿不一样,setClassName,缺乏这个,第一步想他们快捷是 用URI跳转,

2016-06-29 16:11:32 642

原创 android N 安装APK方法

http://download.csdn.net/detail/ten11/9536462android N 权限问题,不能用file://安装 APK了,具体在例子里面;

2016-05-31 23:23:07 1200

原创 Handler.post 问题

用Handler post 处理Runable 时候,看过一些代码,很多人的以为是线程处理,只是它还是主线程执行,Runable 只是接口而已,如果用post 处理Runable  耗时也会ANR用post是有异步的,代码执行 都是把post里面的排最后的执行,看一下代码就明了。还是代码更好看 Log.i("TAG", "======1"); handler.pos

2016-04-29 16:13:07 599

原创 android M 动态申请权限

android6.0或以上版本,如果目标SDK 大于等于23,就需要做好动态申请权限,具体看网上文章,如果不适配,最多就是权限有时候被限制了,然后只能报错,所以还是都适配一下最好。几乎是必须的。android自然的API,需要在Activity 中使用,而且有一个回调函数,所以我们稍变通一下,采用一个新建的透明Activity 来响应这个动态申请权限,申请完毕,在回调时候关闭即可,给用户的感觉也想是当前界面在响应。

2016-04-16 16:37:49 1256

原创 Activity 连续跳转问题

现在有A、B、C三个Activity,如果有需求是这样的,B页面必须经过的,也许里面有必须执行的代码,现在在A页面,但是有一个点击,需要跳转到C页面进行预览,但是产品想给用户看到的感觉是 A=>C,而不是A=>B=>C,但是历史问题导致B页面时必须经过的,之前在B页面中的oncreate(),里面进行跳转C时候发现,B都会被展示出来,后来把跳转C的代码,放到onresume,这样就看不到B页面展示

2016-04-06 08:38:28 628

原创 下载文件时候注意事项 临时文件的使用

我们平时使用下载时候,都是直接生成目标文件,这里提到临时文件,其实我就发现有一个好处1、下载时候,如果下载中断,目标文件等于未下载,不会判断目标文件的存在。当前做法:根据规则,对下载到的SD卡特定目录的图片进行读取,发现文件存在,Bitmap的宽高也存在,但是这样的图片其实也存在不完整的情况,下载中断导致,但是没找到好方法判断改文件是否完整图片。有些手机读取到该文件Bitmap能获取,不过

2016-04-06 08:31:22 682

原创 ADB 操作 MAC

adb shell     cd mnt     cd sdcard     mkdir target     exit     adb 命令不是shell下,不用root     adb push /GoolePlay_1.1.apk /mnt/sdcard/target/      电脑到手机, 目录建议都放在 Apple 用户下,方便不用输

2016-03-29 14:46:08 404

原创 软键盘的imeOptions 使用 差点忘记这个注意点了

之前做过一次,后来第二次做发现失败,原来漏了关键地方,当初没理解好,现在记起来还是写下来比较好android:imeActionLabel="完成"android:imeOptions="actionDone"android:inputType="text"android:inputType="text"必须的,还有一点,注意是第三方键盘,有时候是不具备这样

2016-03-16 10:22:08 696

原创 JNI Android Studio 调试

首先就是得配置好NDK环境,网络有相关知识再就是新建一个项目,下图相关记录创建一个项目,新建一个java类,里面配好方法即可,在Tasks里面执行一下build这样就生成了对应的class文件,在build目录于是就可以在命令行里面执行javah -classpath build/intermediates/classes/debug -d jni com.lz

2016-02-06 10:38:26 508

原创 BUCK 使用体验

搞了两天,主要用上了这个BUCK,编译超快,一个大项目,在我的Mac pro里面,使用android studio1.5 编译起码要90秒,甚至120秒,一次调试就需要差不多两分钟,这个受不了,效率很打折扣,特别做重复调试这类,之前搞内存泄漏,或者UI 调整,经常改一点就重复编译,一天下来改不了多少于是不知道脑抽经还是什么,看到了BUCK,听说过年团队只有微信在使用,于是我研究了一下(百度

2016-02-03 16:00:28 4209 3

原创 MAC 反编译安卓问题汇总

1、出现反编译失败的其中原因有:(1)工具过久,aapt\apktool\apktool.jar,建议对应更新1.打开命令窗口,cd /usr/local/bin下,可能有的mac电脑不存在bin这个目录,直接在创建一个就好了,命令是:sudo mkdir bin,执行后会让你输入root权限密码2.将你解压后的apktool文件夹下的三个文件aapt、apktool、apktool.

2016-01-29 09:20:23 547

原创 startAnimation和setVisibility中的注意事项

设置需要设置控件不可见时候,如果控件之前是设置了动画,就需要先清空动画,否则Gone 无效

2015-12-30 10:24:48 823

转载 Canvas.drawText绘制文字为什么会偏上?

转 http://www.fookwood.com/archives/1004如果你经常使用Canvas的draw***方法去绘制一些图像图形,你会知道绘制的时候坐标是从Canvas左上角开始计算的,如果想要把一个图像放到某个位置,直接drawBitmap传递图片左上角的坐标就行了。那drawText就不一样了,如果你传递进去字符串,会发现文字的位置和你指定的不一样。

2015-12-30 08:16:59 2275

转载 EditText中imeOptions属性使用及设置无效解决

做键盘监听时候,发现的,以前用起来都没事,后来对比发现之前的用法和现在的用法有区别,于是网上找了找,找到一下内容 需要用  EditText 的监听事件,就是输入键盘回车键那个位置,会出现 什么 完成   发送  搜索等字样,其实就是更改imeOptions,imActionLabel="发送",但是不一定能成功,因为有一个隐藏条件限制,inputType的设置,具体验证需要调试, and

2015-11-17 10:32:28 575

原创 android:layout_marginLeft="10dp" 代替 android:paddingLeft="10dp"

如标题所说,尽量使用android:layout_marginLeft="10dp",虽然android:paddingLeft="10dp"是内间距,其实也可以使用控件间距实现一样效果,而且目前RelativeLayout使用内间距android:paddingLeft="10dp",魅族一台,vivo一台,都发现无效,只是局部布局无效,简单页面而已,效果图看到能有效果,真机不行,需注意

2015-08-20 09:00:15 3795

原创 canvas.clipPath canvas.clipRect() 无效的原因

今天发现有些机型不能做到像QQ 透明截图那样的功能,本来可以的,一看是部分机器全部都是灰色半透明遮挡住了,没中间的透明效果,,而且我不是通过遮挡,我是采用 裁剪的方式,至于裁剪代码百度有相关知识,具体原因就是需要关闭 硬件加速,至于关闭硬件加速,http://www.cnblogs.com/lonelyDog/archive/2012/07/12/2588477.html这里有详细介绍。

2015-08-13 10:21:20 2447

原创 android setBackgroundDrawable 的padding问题

setBackgroundDrawable 是在安卓旧API里面的,不过需要做低版本兼容用到设置背景,如果控件是TextView,使用setBackgroundDrawable的话,在华为机型里面会发现一个问题,就是Padding <TextView android:layout_width="wrap_content" android:layout

2015-07-28 08:37:03 2552

原创 半圆遮挡图片 实现百分比显示上传进度

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=564196&page=1&extra=#pid5537469 此处我发表在eoe论坛的帖子,可以到里面下载点击论坛源码链接

2015-01-29 11:49:30 570

原创 Mac 配置NDK 以及编译

到官网下载NDK 解压到本地路径。然后可以配置 ndk 路径到.bash_profile 添加完成后,cd 到需要编译的项目路径,现在直接拿NDK的例子,hello-jni 来执行ndk-build 命令即可,看图片,其他慢慢试试发现很简单的流程

2015-01-14 01:19:12 602

画廊效果Android

画廊效果,无限循环 定时播放,只适应 动画时间加长

2017-06-21

androidN 7.0安装APK方法

Caused by: android.os.FileUriExposedException; t android.os.StrictMode.onFileUriExposed

2016-05-31

空空如也

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

TA关注的人

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