- 博客(106)
- 资源 (1)
- 收藏
- 关注
原创 异常:Adreno-GSL: <gsl_memory_alloc_pure:2297>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl fai,无日志闪退问题排查
Adreno-GSL: <gsl_memory_alloc_pure:2297>: GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed.Adreno-GSL: <sharedmem_gpuobj_alloc:2713>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory这个异常是硬件加速兼容性导致的问题。出现场景是用webview打开一个3d的网页,有时会出现异常
2021-02-23 10:53:47 5756
原创 大项目框架:主页ViewPager包含WebView,滑动冲突解决方案
1、主流的主页都是ViewPager+Fragment。而且往往Fragment中会使用WebView,而WebView如果有左右滑动的控件,会与主页ViewPager滑动事件冲突。2、解决方案,监听WebView滑动事件,当超过左右滑动边际时,交给父控件处理。关键代码:requestDisallowInterceptTouchEvent(false)3、需要重写WebView,代码如下:public class GGNoScrollWebView extends WebView {
2021-02-07 11:05:03 370
原创 大项目框架:一行代码快速实现圆角与圆形效果,无需自定义与资源设置,简洁高效实现效果
本文导航:1、实现方式2、说明与传统方式正文1、代码调用 View view; UiHelper.setOutline(view,10);//工具类方法public class UiHelper { /** * 设置视图裁剪的圆角半径, 不支持5.0版本以下的系统 * @param radius */ @TargetApi(Build.VERSION_CODES.LOLLIPOP) public static void s
2021-02-03 17:10:05 191
原创 大项目框架:自定义LifeNextBus,代替RxJava响应事件处理,使用更简洁,更加灵活,减少jar引用
本文内容分为部分:1、为啥不用rx2、LifeNextBus 使用3、LifeNextBus 代码4、使用注意事项正文:1、为啥不用rx:RX使用需要引用jar,为实现一个功能,引入太多代码。并且很难根据需求改变源码,不够灵活。自定义实现响应事件处理100行代码即可,非常方便简单。传递数据指定类型反而不够灵活。2、LifeNextBus 使用:LifeNextBus.create(new LifeNextBus.Emitter() { @Ov...
2021-02-03 11:30:51 147
转载 Google Map签名与key配置快速解决方案
在集成了Google Map之后,在debug模式下测试一切正常,地图正常显示,都是签名打包后,运行app发现地图不显示了原因就是,申请的google map API_KEY是放在了debug文件夹下,没有对应的release的 API_KEY解决方式1、build.gradle下添加manifestPlaceholders字段值 buildTypes { ...
2019-11-08 11:37:57 757
原创 小米手机调用系统相册直接失败,无法显示bug
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(intent, 101)这段非常常规的代码,一般就是有个图片选择框跳出来接着,选择图片。但是在部分小米手机上选择相册之后直接返回失败,坑死了。请注意,不是代码问...
2019-08-01 11:36:29 2911 2
原创 桌面快捷方式图标显示问题
1:addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, bm2); 改为2:addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON, bm2); 使用EXTRA_SHORTCUT_ICON_RESOURCE的话bm2必须为ShortcutIconResource对象。第一种方式,如果不是传Sho...
2018-09-25 11:08:20 1026
转载 解决 INSTALL FAILED CONFLICTING PROVIDER的问题方法
问题原因在Android中authority要求必须是唯一的,比如你在定义一个provider时需要为它指定一个唯一的authority。如果你在安装一个带有provider的应用时,系统会检查当前已安装应用的authority是否和你要安装应用的authority相同,如果相同则会弹出上述警告,并且安装失败。解决方案在定义provider是,使用软编码的形式,如下:<provider ...
2018-05-22 09:56:54 341
转载 android WebView 加载重定向页面无法后退快捷简单解决方案
在使用WebView的时候,我们一般都会设置WebViewClient ,重写shouldOverrideUrlLoading方法,让webView加载点击url,并return true。因为不这样设置,点击页面上的链接弹出浏览器[java] view plain copywebView.setWebViewClient(new WebViewClient() { @Overrid...
2018-03-30 14:04:04 752
转载 WebView加载https页面不能正常显示,空白一片
在使用WebView加载https资源文件时,如果认证证书不被Android认可,那么会出现无法成功加载对应资源问题。那么,我们就要针对这一状况作出对应的处理。在使用WebView的类中添加如下代码:// android 5.0以上默认不支持Mixed Contentif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {...
2018-03-22 15:07:14 2775
原创 上架小米市场,安装在小米4上被提示app是病毒,有恶意更新行为
经排查,是bomb的问题。必须本地引入jar,否则会报错。只有在小米4手机上会报病毒。原因未知,可以先通过小米云测试排查。
2018-03-19 08:58:28 3164
原创 BottomNavigationView多个子项取消缩放效果
BottomNavigationView在超过3个以上子项时,显示成选择项放大,未选缩放的效果,不适合菜单导航,需要固定大小取消缩放。采用反射方法,如下:在初始化后调用方法: bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation); //默认 >3 的选中效果会影响V...
2018-03-14 17:12:02 3701 1
原创 自定义view中bitmap.getwidth()方法报空指针
自定义view 的时候,在构造方法中初始化bitmap,一直报null。经过修改图片获取放在onDraw中,正常,原因未知。代码如下:@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); switchBackgroupBitmap=BitmapFactory.decodeResource(mCo...
2018-03-08 10:29:58 2130 1
转载 安卓2.3版本生成so相关
转载自http://blog.csdn.net/wb175208/article/details/70155239;图文非常详细,可操作。1.创建一个工程,注意一定要勾选上这个Include C++ Support 2.一路点击 【next】点击到最后的时候,采用默认就好了: 3.点击【finish】之后,会报错:NDK not configured
2018-01-18 09:56:23 278
原创 网络数据加密3DES与RSA结合使用及注意点
在项目工程中,有时候需要对网络传输的数据进行加密。有多种方式,本文使用3DES与RSA加密结合使用。基本流程如下:1、假设客户端获取了用户名与密码,需要传给服务器;本文使用RSA工具类生成公钥月私钥,公钥用于客户端加密,私钥用于服务端解密。 String content="用户名+密码";2、自定义3DES加密密钥和向量: // 密钥 ,至少24位 private
2018-01-17 14:44:57 1944
原创 微信小坑:更换applicationId,微信WXPayEntryActivity多渠道打包配置问题。
网上这方面的介绍基本查不到,索性自己做测试,得到结论:微信支付和登陆共享,可以支持applicationId修改。安卓微信支付开发中,需要在微信后台配置包名,取得是applicationId的值,并不是配置清单中的package。但是有时候需要修改applicationId以便测试或者多渠道打包,这时候WXPayEntryActivity在清单文件中的配置就得相应改变。方法是:根据ap
2017-12-13 16:55:06 4389 7
原创 WebVie Posturl方式网页不正常问题解决
采用WebVie Posturl方式,所传递的参数有可能会出现空格,+号等字符的错误,需要进行UTF-8转码,处理如下:1.参数加密,并去除空格。String encryptedCcbParam = DESTool.encode(s1).replaceAll("\\s*", "");2.通过utf-8编码,并将+\转化为可识别的字符。encryptedCcbPara
2017-12-08 16:58:26 595
原创 安卓java时间格式化字母对照
字母 日期或时间元素 表示 示例G Era 标志符 Text ADy 年 Year 1996; 96M 年中的月份 Month July; Jul; 07w 年中的周数 Number 27W 月份中的周数 Number 2D 年中的天数 Number 189d 月份中的天数 Number 10F 月份中的星期 Number 2E 星期中的天数
2017-12-08 15:36:01 292
转载 安卓文件存储权限管理三种目录
由于安卓6.0更新了权限管理,使用最新的SDK编译的时候,缓存到自定义的目录下出现问题,因为没有获取对应的权限,6.0以前的系统不需要获取权限,最快的方式是使用官方推荐的缓存地址(不推荐)public static String PATH = Environment.getExternalStorageDirectory().getAbsolutePat
2017-12-04 14:10:15 8735
转载 webview支持H5中的选择图片方法
开发中有个需要,H5中有需要选择图片上传的功能,刚开始以为H5会自己搞定,查了资料才发现需要安卓原生做一些工作,代码如下:public class ModifyingPersonalActivity extends BaseTitleActivity { private WebView mWebView; private ValueCallback mUploadMess
2017-12-02 15:15:24 3177 3
原创 js的settimeout方法在安卓不起作用,在某些项目里死活运行不正常的问题。
在项目里引入一个H5的SDK,调用时候死活不正常,无法调用起里面的js的settimeout方法。把代码写到令一个工程,却一切正常。进行了长久的各种方法,目前找到一个办法,仅供参考。(提醒,安卓工程引入H5,各种兼容性问题都是巨坑,慎重选择。)为了直接在小米手机上安装项目,是这样设置的:dependencies { classpath 'com.android.tools.
2017-12-02 09:05:13 4021
转载 webview长截图与短截图+滑动控件ScrollView长截图保存在本地
需求里需要进行控件的截图,webview试了多种方法不行,最后找到一种稳定的方法。以下代码分:短截图,长截图,保存在本地如下:webview长截图在5.0以上手机请先添加此方法:@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)
2017-11-24 15:29:46 615 1
原创 如何批量重命名照片,但是去掉那个烦人的括号
1、首先把照片全部选中,然后右键选择一张,选择重命名,这里注意,直接将原来照片名删除即可,不需要输入任何字符(或者输入你自己喜欢的名称),之后,照片就被重命名为这种形式了 (1).jpg, (2).jpg, (3).jpg,.........2、将如下代码拷贝到任一个记事本文件里面,将记事本后缀改为.bat,注意一定是真正的后缀是.bat,有的人改完之后是.bat.txt,这样是没有
2017-11-22 19:54:19 21374 5
原创 webview无法吊起H5中的弹窗问题
解决方法:如果是fragment,必须使用getactivity()上下文,不能用全家上下文,否则无法弹窗。
2017-11-17 18:30:18 1479
原创 安卓okhttp网络封装
项目用到okhttp,需要进行封装以便调用。难点在于请求体的多种类型有的采用表单,有的采用json,有的是文件。代码如下:public class OkHttpManger { public static OkHttpClient sOkHttpClient = new OkHttpClient.Builder() .addInterceptor(
2017-11-14 15:59:00 321
原创 安卓网络请求封装--Android-Async-Http
最近项目需要封装统一的网络请求,因为后台数据的返回不确定性,决定进行最基础的封装,统一返回String,gson解析自行处理。采用Android-Async-Http框架。碰到的问题有:1、body要求为json而非表单形式,还有json+参数的请求体。2、Android-Async-Http框架未知原因闪退。代码如下:public class AsyHttpManger {
2017-11-14 15:54:22 435
转载 Android Webview 和Javascript交互调用
在Android的开发过程中、遇到一个新需求、那就是让Java代码和Javascript代码进行交互、在IOS中实现起来很麻烦、而在Android中相对来说容易多了、Android对这种交互进行了很好的封装、我们可以很简单的用Java代码调用WebView中的js函数、也可以用WebView中的js来调用Android应用中的Java代码。案例主要包含了: Html中调用Andro
2017-11-14 15:10:20 346
原创 DES加密工具类,用于网络参数加密
public class DESTool { // 密钥 ,至少24位 private final static String secretKey = "78c5davff03a8ddb2fd921f5@747/c#" ; // 向量 private final static String iv = "ff2a535c" ; // 加解密统
2017-11-11 11:23:06 400
原创 webView loadData 中文乱码问题快速解决(API提供的标准用法不可行)
使用 loadData方法是中文部分会出现乱码,即使指定“utf-8”、“gbk”、“gb2312”也一样。 webView.getSettings().setDefaultTextEncodingName("UTF -8");//设置默认为utf-8// webView.loadData(data, "text/html", "UTF -8");//API提供的标准
2017-11-07 08:55:39 293
转载 android GoogleMap画导航线路图 路径规划
最近一个项目要给老外用,用的googlemap,做一些小demo:Google Mapandroid版和IOS版的SDK都没有集成路径规划的相关API,若要实现,只能通过http链接请求URL,携带起点终点经纬度,得到返回集合,在地图中展示。 Google Directions API :https://developers.google.com/maps/documentat
2017-11-06 20:27:15 5098 1
原创 okhttp提交请求body,json或者图片的方式
最近的后台接口要求:1、post请求,带参数,请求body提交json。2、post请求提交图片,带参数,表单形式提交图片。与常规请求参数要求不同,记录一下。原理:将post参数拼接到url中,json或者表单在添加的时候注明头文件。0、public static OkHttpClient sOkHttpClient = new OkHttpClient.Builder
2017-11-06 20:01:08 12504
原创 项目activity销毁后重建。
主流的布局,activity加fragment创建菜单,但是销毁主activity后,又自动创建了,暂时不在问题所在,可能基类与activity管理工具哪里出了问题。解决办法:判断是否第二次自动创建,销毁。@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode
2017-11-06 19:53:52 362
原创 android平台解决找不到sun.misc.BASE64Enocder的问题
java.long.NoClassDefFoundError: sun.misc.BASE64Encoder在与服务器端交互时,服务器端采用sun.misc.BASE64Encoder加密后,Android端找不到这个API。其API在jdk 1.6下的rt.jar中,有45.6M之巨大。我们需要使用则需要将其源码抽取出来单独放到客户端。http://files.c
2017-11-06 19:50:15 2491 1
原创 PopupWindow小坑:无论偏移多大,不会跑出屏幕。 充满显示上方空间
需要做一个需求,在控件点击后,PopupWindow弹出显示在它的上方,要求覆盖上方所有的位置。思路如下:获得控件的Y坐标值,将PopupWindow的高度设置为Y的绝对值,PopupWindow显示位置会减去状态栏的高度,因此PopupWindow的高度还需要减去状态栏高度。showAtLocation方法的第一个参数随便输入一个view没关系,Gravity可选TOP,x=0,y=Po
2017-10-12 16:07:25 1837
原创 多布局不小心出现的越界异常,定义getItemViewType 的返回值注意事项
最近在做项目时,需求上需要ListView 有两个不同的布局,由于自己定义getItemViewType 的返回值,出现一个异常: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 需要注意的是getItemVIewType这个方法返回的整型范围: 0 to (getViewTypeCount()
2017-10-10 17:29:39 533
原创 安卓JNI错误调试汇总
1、Android 调用.so包时报错:No implementation found for native Lxxx, java.lang.UnsatisfiedLinkError: XXX时的 解决办法:在.cpp文件里,增加extern C{}结构,大括号把所有的函数方法包含在里面。
2017-09-29 11:57:36 379
原创 okhttp小坑总记录
1、okhttp 报java.lang.IllegalStateException: closed,java.lang.IllegalStateException: closed,原因为OkHttp请求回调中response.body().string()只能有效调用一次2、获取字符串得用这个response.body().string(),而不是.toString()。
2017-09-14 17:19:38 394
原创 仿购物车点击图片,沿着抛物线加入篮子动画
这里提供核心方法,流程便是:listview列表监听事件,获取点击的图片控件,传入以下方法中。方法流程:创建移动控件,获取传入控件坐标,获取目标控件位置,用path绘出贝塞尔曲线路径。用属性动画,移动控件改变位置。方法如下:private void addToCarAnimation(ImageView goodsImg) { //获取需要进行动画的ImageV
2017-08-18 10:15:48 1056
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人