Android
文章平均质量分 60
erweimaerweima
这个作者很懒,什么都没留下…
展开
-
Android 判断应用是否开启了通知权限
Android 判断是否开启了应用权限判断是否开启应用权限方法如果没有开启应用权限,引导用户点击开启按钮,然后跳转到系统设置界面判断是否开启应用权限方法NotificationManagerCompat.from(context).areNotificationsEnabled();如果没有开启应用权限,引导用户点击开启按钮,然后跳转到系统设置界面private void goToSett...原创 2019-11-26 08:50:53 · 5770 阅读 · 0 评论 -
warning :uninstalling will remove the application data!
最近从AS向手机发布项目过程中经常出现, 问题虽小,但是开发过程中确实浪费时间。It is possible that issue is resolved by uninstalling an existing version of the apk if it is present,an then re-installing warning :uninstalling will remo...原创 2017-04-17 09:52:43 · 22803 阅读 · 22 评论 -
关于Android Studio 更新到3.0版本以后出现的一些问题以及解决方案
分析:尤其是采用butterknife工具的,采用新的Android Studio都会出现这样的问题,我根据提示最后猜测原因可能是Android studio更新,然后gradle更新了,这样的话可能使原来的android-apt工具跟不上节奏了,所以让采用annotationProcessor工具。解决方法:1、修改project下的build.gradle当中的依赖修改之前原创 2017-10-26 15:46:31 · 5138 阅读 · 0 评论 -
安卓系统与API版本对应关系
原创 2016-06-13 16:24:08 · 747 阅读 · 0 评论 -
java.lang.VerifyError: Verifier rejected class ...解决方案
报错详细日志:07-04 20:13:42.792 26704-26704/com.test.client E/AndroidRuntime: FATAL EXCEPTION: main Process: com.test.client, PID: 26704原创 2017-07-05 14:51:53 · 17694 阅读 · 0 评论 -
ListView 分组实现方式巩固
实现效果:实现源代码:public class MainActivity extends Activity { private TestCatalogChapterAdapter mAdapter; @Override public void onCreate(Bundle savedInstanceState) {原创 2017-07-04 11:14:22 · 854 阅读 · 0 评论 -
禁止ViewPager左右滑动,自定义ViewPager
我的需求是fragment中可以左滑删除条目,这时左滑删除和ViewPager的左右滑动冲突。最终解决方案是,在轮播图的位置,禁止掉ViewPager的左右滑动public class NoScrollViewPager extends ViewPager { public NoScrollViewPager(Context context) { supe原创 2017-06-07 16:37:56 · 1431 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader......couldn't find "libweibosdkcore.so
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/***/base.apk"],nativeLibraryDirectories=[/data/app/***/lib/arm64, /data/app/***/base.apk!/lib/arm64-v8a,原创 2017-05-22 11:05:19 · 3939 阅读 · 0 评论 -
PopupWindow 兼容6.0以下版本点击外部区域消失
说到点击外部区域消失,可能大部分同学第一反应就是直接设置 mPopupWindow.setOutsideTouchable(ture)不就可以了嘛,不就是点击PopupWindow外部区域消失嘛,当然这样设置过后,你在6.0以上版本运行时完全没有问题滴,但是如果运行在6.0以下版本就有问题了,必须要设置背景才有效,不然点击外部区域是不会消失的,这是为何呢? mPopupWindow...原创 2019-05-07 10:27:47 · 1162 阅读 · 0 评论 -
android getResources.getColor(R.color.colorId)方法遭弃用
我们在开发过程中,偶尔会遇到部分api会被划一下,也就是当前使用的API过时了,那么官网肯定给出有其替代API。现在要说的就是在android 6.0上getResources.getColor遭弃用,那么它的替代方法为ContextCompat.getColor(context,R.color.colorId);原创 2017-03-06 15:29:48 · 4766 阅读 · 0 评论 -
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 异常解决方案
异常情景最近在更改项目需求的时候,有在下个界面(以下统称B界面)改变状态之后,上个界面(以下统称A界面)的状态也需要重新加载一下数据,于是就在打开下个界面某个状态改变之后,上个界面的数据重新请求加载一下,逻辑写完之后,在7.0测试机上面没人任何问题,然后在5.0手机上面测试的时候就出现了上诉异常:查明原因最后通过打印生命周期日志的方式,排查到问题所在,在5.0手机上面,打开下一个界原创 2018-01-29 15:22:19 · 1612 阅读 · 0 评论 -
Android EditText 设置键盘右下角显示发送,并且可以输入多行
Android EditText 设置键盘右下角显示发送,并且可以输入多行今天一哥们在群里问了这么一个问题,试着实现了一下,在此记录一下:首先既然想在EditText 获取焦点以后,键盘右下角显示完成,那就在需在xml文件中为EditText添加android:imeOptions=”actionSend”属性然后需在代码中设置一下两行代码即可mEditText.setInp...原创 2018-05-28 14:31:44 · 11319 阅读 · 8 评论 -
好用的 Android getDrawable过时的替代方法
之前代码中获取Drawable都是使用如下方法:Drawable TopDrawableOne = getResources().getDrawable(R.drawable.icon_test);但是此方法过时,不推荐使用,那么肯定是有其他替代方法的,经过查找,很多网友都是推荐使用Drawable getDrawable(int id, Resources.Theme the原创 2016-09-13 10:13:34 · 39193 阅读 · 1 评论 -
android.view.InflateException Error inflating class android.webkit.WebView
异常描述:android.view.InflateException: Binary XML file line #7: Error inflating class android.webkit.WebView at android.view.LayoutInflater.createView(LayoutInflater.java:633) ...原创 2019-09-24 09:16:06 · 22434 阅读 · 14 评论 -
Android Studio 代码可以正常编译但是代码爆红解决方法
先 clean project项目,再 build project如果步骤一不好使,尝试invalidate cache / restart如果invalidate cache / restart也不好使的话,就把项目目录下面的 .idea 文件夹和 .gradle 文件夹,然后重新打开 AS 。...原创 2019-06-11 17:21:44 · 3163 阅读 · 0 评论 -
TextView 占位对齐经常使用的标识符
  == 普通的英文半角空格  == ==   == no-break space (普通的英文半角空格但不换行)  == 中文全角空格 (一个中文宽度)  ==   == en空格 (半个中文宽度)  ==  ...原创 2019-06-04 14:58:06 · 1126 阅读 · 0 评论 -
Caused by: java.lang.RuntimeException: Using WebView from more than one process at once with the...
1、异常情况:Caused by: java.lang.RuntimeException: Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/5583772、异常出发环境:因为Android P行为变更,不可多进程使用同...原创 2019-04-22 10:18:14 · 19143 阅读 · 21 评论 -
AS13 facets cannot be loaded. you can mark them as ignored to suppress this error notification处理
AS有时总是会莫名奇妙的遇到一打开AS,项目一片报红,找不到依赖类,严重影响工作效率,当然处理方法有时需要File->Invalidate Caches/Restart 然后重启解决。但是今天遇到的这个13 facets cannot be loaded. you can mark them as ignored to suppress this error notification 情况,...原创 2019-01-24 09:25:09 · 2332 阅读 · 0 评论 -
动手搭建自己的本地测试服务器
动手搭建自测服务器,加快本地开发进度,最近自己在开发过程中有这么一个需求,在开发本地应用模块过程中,需要请求服务器测试服务器,但是服务器老出问题,于是就有自己本地搭建一个服务器的一个想法,然后配置接口,返回自己请求以后返回自己想要的数据信息的需求,当然这些数据也可以直接写在本地应用里面,但是这样模拟出来的场景不是自己想要的,于是就有自己本地搭建服务器得这样一个需求,并且比较简单,于是在这里分享出来...原创 2018-06-10 08:16:30 · 30907 阅读 · 12 评论 -
为RecyclerView自行添加item的点击事件
RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解一下如何为RecyclerView的item添加点击事件,顺带也复习一下观察者模式。最终目的:模拟ListView的setOnItemClickListener()方法,调用者只须调用类似于setOnItemClickListener的东西就能获得被点击item的相关数原创 2017-05-03 10:05:50 · 8934 阅读 · 3 评论 -
ScrollView嵌套RecyclerView时滑动出现的卡顿解决方案
问题现象:一个界面有多个RecyclerView或者其他超过一屏显示的一些内容时,就需要要上下滚动了,就会需要在外面嵌套一个ScrollView,但是滑动过程不是很顺畅,有卡顿的感觉。解决方案:禁止RecyclerView的滑动。最简单便捷的方法就是linearLayoutManager = new LinearLayoutManager(context) {原创 2017-04-20 10:04:43 · 4928 阅读 · 0 评论 -
Android Studio出现 No service of type Factory available in ProjectScopeServices. Error解决方案
从github上面下载下来的开源项目导入到Studio以后报了这个错clean了下工程,发现好像是maven出了问题于是把问题定位到根目录的build.gradlebuildscript { repositories { jcenter() } dependencies { classpath 'com.a原创 2016-10-20 15:28:44 · 5102 阅读 · 0 评论 -
强引用、软引用、弱引用、以及虚引用简单介绍
从事Android开发的同学都知道移动设备的内存使用是一个非常敏感的话题,今天我们来看下如何使用这几种引用来优化内存使用情况。首先我们来理解几个概念。1.StrongReference(强引用)强引用是我们最最常见的一种,一般我们在代码中直接通过new出来的对象等,都是强引用,强引用只要存在没有被销毁,内存就不会被系统回收。我们以生成Bitmap为例如下:Bitmap imageB原创 2016-10-20 14:52:16 · 579 阅读 · 0 评论 -
好用的开源组件,收藏已备后用
1、名称:GuideView简介:最最轻量级的新手引导库,能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导提示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展查看链接2、名称:Android - adDialog简介:一个简单,强大的广告活动弹窗控件查看链接地址原创 2016-08-16 09:19:34 · 652 阅读 · 0 评论 -
关于热修复
线上程序出现Bug,在不想重新发布包让用户更新安装的情况下,可以热修复是你的最佳选择参考资料Android 热补丁动态修复框架小结Android 热补丁动态修复技术系列安卓App热补丁动态修复技术介绍现在市面上热修复框架很多,以下是常见的四种。1、Dexposed无法支持全平台,并不适合应用到商业产品中。2、AndFix作为n原创 2016-10-17 15:49:21 · 1339 阅读 · 0 评论 -
FragmentTransaction管理的Fragment生命周期状态
在我们Android中,对Fragment的操作都是通过FragmentTransaction来执行的。而如果从Fragment的结果来看,FragmentTransaction中对Fragment的操作大致可以分为两类:1、显示操作:add()、 replace()、 show()、 attach()2、隐藏操作:remove() 、hide() 、detach()对于每一组方法原创 2016-10-14 11:20:10 · 7778 阅读 · 2 评论 -
当为ListView添加Header以后,在onitemClick里面position位置不正确处理策略
最近在项目里面有为listView添加头信息的需求,但是添加之后发现了一个有趣的问题,就是添加之后,在onitemCLick里面的position发生错乱了,首先想到的是直接手动+1,但是这种处理方法容易引起误解,于是Google了一下,发现有个老外issue过一个bug,和我遇到的问题一样,不过这个bug被RomainGuy reject掉了,理由是你用错了,请用getAdapter,这回答原创 2016-09-27 10:09:59 · 1769 阅读 · 0 评论 -
收藏一些比较有用的ADB命令
ADB命令有很多,如果能够熟练掌握这些命令,能够节省一定的开发时间,现把一些比较常用的一些命令罗列出来以备后用。查看设备cpu和内存占用情况:adb shell top查看进程列表:adb shell ps查看wifi密码:adb shell cat /data/misc/wifi/*.conf查看ADB帮助:adb help获取设备名称:原创 2016-10-09 16:16:51 · 657 阅读 · 0 评论 -
分页加载总页数计算公式
例:内容总数量为:totalCount每页加载数量为:loadCount所求总页数为:totalPage 第一种算法:totalPage = totalCount% loadCount== 0 ? totalCount/ loadCount : totalCount/ loadCount+ 1 ;第二种算法:(简便,推荐)totalPage原创 2016-08-17 15:12:20 · 14433 阅读 · 4 评论 -
Android Studi 运行报错 Duplicate files copied in APK META-INF/LICENSE.txt 解决方案
com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE.txt日志输出为: Error:Execution failed for tas原创 2016-06-20 09:10:31 · 1327 阅读 · 1 评论 -
Android Studio 代码多屏查看
在开发过程中我们可能需要对代码进行分屏查看,之前使用Eclipse进行开发的时候,我们都是直接鼠标长按选中就行随意拖动的,但是换成AS开发工具以后,此种方法死活不行,那是不是就是说AS不支持分屏查看代码呀?怎么可能,只是我们没有找到相应的查看方法而已,接下来用图说话,So Easy!方法就是先把鼠标放在想要拖动的代码条目上面,然后点击鼠标右键,既可以出现我贴出的这个菜单界面,然后根据自己的喜好原创 2016-06-16 10:01:19 · 9181 阅读 · 0 评论 -
Android 文件或者文件夹删除工具类
public class DeleteFileUtil { /** * 删除文件,可以是文件或文件夹 * * @param fileName * 要删除的文件名 * @return 删除成功返回true,否则返回false */ public static boolean delete(String原创 2016-06-15 11:16:09 · 663 阅读 · 0 评论 -
自定义Dialog出现黑色背景,去除策略
在style 文件中加入如下两个item即可 true @android:color/transparent原创 2016-06-14 13:53:21 · 5847 阅读 · 0 评论 -
ShareSDK jar 包和新浪weiboSDKCore_3.1.4.jar包冲突解决方案
之前由于项目中的分享使用了ShareSDK的一键分享但是由于最近产品新增需求,要在客户端内集成微博授权第三方登陆,集成到工程里面以后发现,在打包的时候会报 com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com原创 2016-06-07 09:14:10 · 4839 阅读 · 1 评论 -
朋友圈的“全文”“收起”实现
朋友圈列表的点击“全文”展开、点击“收起”折叠,实现起来很简单,主要是以下两步:获取item文本的行数记录item文本的状态1.获取文本的行数很容易想到获取文本的行数,超出规定行数便折叠文本,但没有方法可以直接根据字数计算出TextView的行数,所以只能用content.setText();content.getLineCount();这时会发现这样获取到的行数为0,因为s转载 2016-10-21 10:28:40 · 3917 阅读 · 1 评论 -
Android中 WebView与Javascript简单交互
从目前市面的大部分App来讲,大致分成Native App、Web App、Hybrid App三种方式,Hybrid App单纯的数据展示我们直接采用WebView来渲染就可以了,但是有时候可能会用到两者之间传递参数的情况,今天就来总结一下两者之间如何互相调用。本篇主要介绍WebView与Javascript的数据交互。WebView与Javascript交互:WebVi原创 2016-10-21 10:42:14 · 1938 阅读 · 0 评论 -
getBackground().setAlpha(ScrollY)遇到的奇怪问题解决方案
最近在开发一个新的模块的时候,产品需求顶部title背景跟随滑动的距离渐变,最后在效果实现之后,遇到问题,项目中其它界面的顶部title都变成了之前那个界面的渐变程度,最后经过查找是因为使用了这个IgetBackground().setAlpha(ScrollY)API所致,然后经过查找问题解决方案,发现getBackground().mutate().setAlpha(ScrollY),加过mu原创 2016-11-28 14:39:40 · 621 阅读 · 0 评论 -
关于项目中依赖的design版本升级过后,项目中的自定义behavivor(上拉隐藏,下拉显示)的view隐藏后不再显示的问题解决方案
问题描述:项目中有个界面下方有个悬浮开通提示,开通提示布局有个自定义的behavior,效果是上拉隐藏,下拉显示。本来项目用的design包版本是compile ‘com.Android.support:design:25.0.1’,后来更新了AndroidStudio,顺便也把design包改为compile ‘com.android.support:design:25.3.0’了,改了之后,可原创 2017-04-05 11:12:40 · 1192 阅读 · 0 评论 -
在Android 6.0下继续使用HttpClient
由于开发需求,项目编译API版本改成了23,但是改完之后发现,原有工程里的网络请求用到的HttpClient在此版本已经被Google废除了,但是还想在项目中继续使用怎么破呢,查找一些相关资料后发现:如果想要继续使用HttpClient的话,只需在AS主Module的gradle中配置:android { useLibrary ‘org.apache.http.legacy原创 2016-06-27 09:11:31 · 6596 阅读 · 2 评论 -
Android 中对 aar 文件的使用攻略
在Android Studio中对一个自己的库进行生成操作时将会同时生成.jar与.aar两个文件分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outputs/aar/libraryname.aarjar、aar两者区别: *.jar: 只包含了c原创 2017-04-11 10:26:25 · 1412 阅读 · 0 评论