android开发
Swornf、时年
择一事,终一生
展开
-
android 秒启动解决启动白屏,黑屏现象
android冷启动的时候,如果是没做过处理的,一般是会出现短暂白屏或者黑屏才会跳到我们的第一个页面.之所以会出现这个原因是和window的背景有关,我们只需要给第一个启动的activity自定义一个theme即可,将theme的windowBackground设置为需要的图片即可.定义一个splash.xml的drawable文件<?xml version="1.0" encoding="ut原创 2016-08-16 11:00:38 · 1073 阅读 · 0 评论 -
着色状态栏
1.5.0以上调用下面的代码就可以完成着色的处理 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//5.0 以上 activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//清除半透明效果 act原创 2016-12-20 09:50:32 · 410 阅读 · 0 评论 -
Android Studio 进行NDK开发入门
一.开发前准备 Android Studio 最好升级到2.2 Jdk1.7 api24 Gradle2.2.2 二.下载NDK和cMake 三.配置 如果是在已经创建好的项目中要进行ndk开发就按如下操作 在这里选择一个份cMakelIsts文件就可以 四.通过案例来实现java调用c代码 1.首先创建一个java类publ原创 2017-04-28 20:47:12 · 380 阅读 · 0 评论 -
Android studio编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug'
Android studio 编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException:原创 2017-05-25 10:41:29 · 2371 阅读 · 0 评论 -
将多个jar包重新打包成一个jar包
我介绍的方法是使用java命令来操作的,所以首先的安装jdk,这个就自己搞定吧.提取jar包 为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令就是使用jar xf jar的文件名 比如我的jar放到桌面的一个新建文件夹(2)下,那么就通过cmd进入到这个目录然后输入上面的命令即可 重新打包jar包 也是通过cmd进入到要打包的文件夹目录原创 2017-05-25 11:13:56 · 13411 阅读 · 0 评论 -
将library上传到jcenter 中文和特殊字符的解决
在上传的过程中可能会出现javadoc生成失败的问题,在生成javadoc时有检查文档的正确性,像 这种的注释都会导致生成失败,而且由于使用的是Windows系统,默认编码是GBK,所以在上传编译时报了编码的错误问题。所以只要在grade加入下面的下面就可以解决这个问题allprojects { tasks.withType(Javadoc) { //兼容中文 optio原创 2017-05-25 11:35:04 · 438 阅读 · 0 评论 -
解决Android客户端RSA解密部分乱码的问题
今天在用rsa界面服务端的数据时,碰到了部分乱码的问题,虽然能解密出正确的数据但是前面会多一堆乱码.一开始以为是编码的问题,可是全都设置成了utf-8也是不行,最后的解决方法如下: 在移动端获取解密的Cipher类时要使用Cipher.getInstance(“RSA/ECB/PKCS1Padding”); 在后端使用Cipher.getInstance(“RSA”);来获取.原创 2017-05-31 15:07:19 · 4746 阅读 · 2 评论 -
使用mina实现Android长连接
一.概述 android长连接的实现有很多种,最常用的是使用第三方的长连接,比如推送服务的实现.使用第三方的长连接虽然在实现上最简单,但是扩展性缺少最差,要受限于三方的api,所以在这里介绍使用mina来实现android的长连接服务.二.服务端的实现 首先来说说服务端的实现,这里只是举个简单的实例,目的只是告诉大家如何实现.导入需要的jar包 具体的代码实现impo原创 2017-05-22 16:15:10 · 4744 阅读 · 2 评论 -
Android6.0 申请权限比较优雅的处理方法
android6.0以后权限的申请改成了动态申请,如果你的targetSdkVersion 大于23且手机系统是6.0以上的就会变成动态申请.为了项目的需求我自己整理了一套权限申请的方法.先上几张图片. 1.这是我第一次运行项目弹出权限请求的界面,我都选择了不允许,然后会通过Snackbar友好的提醒用户需要允许权限 2.当我第二次在点击拍照时,就会先弹出一个Snackbar告诉用户,我需要一些原创 2016-11-30 15:58:44 · 12815 阅读 · 2 评论 -
Android6.0仿IOS在欢迎页面统一请求权限
一. android6.0以后权限的请求改成了动态请求,不再是在安装的时候统一请求了.这样对用户来说虽然是体验好了,但是却苦了我们开发者,每个危险权限我们都得写一遍权限请求的代码,这样即麻烦,又觉得代码人冗余.我通过2个项目的实践,总结出了仿ios在欢迎页面将需要的权限统一请求了是一种不错的处理方法.先上一张效果图. 这是都允许的情况 这是拒绝的情况 二.为了方便使用原创 2017-01-04 09:56:31 · 1924 阅读 · 0 评论 -
自己封装一个插件化框架
一 概述研究了一下滴滴开源的插件化框架,感觉功能挺强大的,于是就想自己动手也封装一个,不过相对于滴滴是支持四大组件的,我这里就只对activity做了支持.要想知道怎么加载一个插件的activity,就得对activity的启动过程有所了解,如果不懂的可以看一下Activity的启动过程这篇文章.从这篇文章的分析得知,Activity的检测工作是在WMS中进行的,所以我们只要使用占坑的方法,先在清单原创 2017-07-26 17:49:01 · 4865 阅读 · 0 评论 -
使用zxing实现二维码的生成和扫描
1.导入core-3.1.0.jar包 2.将zxing包直接导入项目中 3.导入raw下的baidu_beep.ogg 4.导入values下的资源 5.添加相关权限 6.生成二维码 /** * 根据内容生成二维码bitmap * * @param content原创 2016-12-30 10:05:23 · 518 阅读 · 0 评论 -
Android性能优化总结
一.App启动优化 1.必要的初始化要放到application中 2.不是立马需要的且需要的时间较长的最好放到子线程中初始化,减少主线程执行的时间,加快app的启动 3.即使将一些不是必要的操作放到子线程,虽然能提供启动速度,但是当你点击app启动的时候也还是会出现白屏等待的现象,为了解决这个问题我们只需要给第一个启动的activity自定义一个theme即可,将th原创 2017-01-06 15:40:08 · 338 阅读 · 0 评论 -
一个封装android开发常用控件的库
这个库的使用只要在gradle中添加 compile ‘com.betterda:mylibrary:2.2.6’即可库的源码地址这个是我自己在开发中整理的一些常用控件,方便在以后的项目中使用.1.自定义的Toast主要是为了解决在5.0以上用户关闭了通知时无法显示Toast的问题.用法很简单只要在之前使用系统的Toast的地方换成我的包下的Toast就可以了 com.betterda.mylibr原创 2016-11-21 12:16:47 · 3263 阅读 · 0 评论 -
viewpager+fragment 预加载的问题
遇到的问题上图使用的viewpager和fragment开发,可以进行左右滑动也可以点击上面的标题滑动.但是因为viewpager有个预加载的功能,会自动加载旁边的页面.所以当我在某一个页面更新了某些数据,滑动到旁边的页面时,数据不会及时更新.解决方法1.一开始我想通过取消viewpager的预加载功能来解决这个问题,但是viewpager的setOffscreenPageLimit(0);即使设置原创 2016-08-08 16:13:14 · 1177 阅读 · 0 评论 -
viewpager无限循环滚动遇到的坑
在使用viewpager无限循环滚动的时候,要将适配器的getcount()方法返回Integer.MAX_VALUE.如果只是设置容器的大小,在最后一个页面的时候会突然跳到第一页.效果反差太大.因为适配器是设置的Integer.MAX_VALUE,所以在setcrrentitem或者获取容器的数据时都要记得取余.原创 2016-08-08 15:26:18 · 1456 阅读 · 0 评论 -
animation-list clip在6.0无效的问题
在使用帧动画的时候,使用了clip,在6.0的机子上跑会显示不出来.原创 2016-08-13 16:42:02 · 1330 阅读 · 2 评论 -
Android开发各类常见错误解决方案
http://www.jianshu.com/p/c5db81cbc438转载 2016-08-26 09:23:40 · 332 阅读 · 0 评论 -
仿美团弯曲轮播效果
今天使用美团点外面时,无意中发现美团的轮播效果是弯曲的,感觉蛮有意思的,于是就想着实现看看.先上图. 我说下我想到的2种实现思路. 1.就是将viewpager的背景设置成白色的,然后让美工且图片时,切成弯曲的即可,这种方法不用写什么代码,就是每次美工美图比较麻烦. 2.让美工切一张弯曲的白色图片,在viewpager外面包裹一层相对布局,然后将这个白色图片放在底部就可以达到这种效果.原创 2016-09-21 14:31:57 · 1466 阅读 · 0 评论 -
解决Scrollview嵌套recycleview的显示不完全,滑动冲突问题
先上一张效果图:解决显示不完全的问题 这个问题只要重写recycleview的onmeasure方法即可.比如下面的代码,我将recycleview的高度重写测量为500. @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec =原创 2016-10-12 10:51:02 · 5758 阅读 · 4 评论 -
gradle编译异常
1.Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.Exe原创 2016-11-22 14:38:49 · 579 阅读 · 0 评论 -
极光推送服务接入
1.确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持)buildscript { repositories { jcenter() } ......}allprojets { repositories { jcenter() }}2.原创 2016-12-01 16:20:48 · 550 阅读 · 0 评论 -
RxBus和RxManager管理rxJava的生命周期
首先使用rxjava封装了一个Rxbuspublic class RxBus { private static final String TAG = RxBus.class.getSimpleName(); private static RxBus instance; public static boolean DEBUG = BuildConfig.LOG_DEBUG原创 2016-12-05 15:36:25 · 2689 阅读 · 0 评论 -
使用ActivityOptionsCompat动画共享组件的方式实现跳转Activity动画
android5.0以后新增了一种跳转activity的动画,就是使用ActivityOptionsCompat,ActivityOptionsCompat虽然是一个兼容库但是只能保证在5.0以下程序不挂掉,而没有动画效果.先上个效果图. 1.从上面的效果图可以知道我们这个动画是从第一个activity的小图和第二activity的大图共享动画效果所以首先要在xml中分别设置android:tra原创 2016-11-28 16:20:58 · 3431 阅读 · 0 评论 -
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but原创 2018-01-29 14:04:33 · 889 阅读 · 0 评论