android
文章平均质量分 88
迎风致
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
展开
-
将android反编译apk生成的代码里的id数字替换成public.xml文件里对应的name
有过反编译经验的人都会发现这个问题:反编译了一个apk,但是代码里的id全是数字,这是代码里的内容,id是十进制:this.mHeaderTextView.setText(2131428266);localTextView.setText(getResources().getString(2131428311));对应的name在生成的另一个public.xml文件...原创 2019-12-05 16:12:09 · 2038 阅读 · 0 评论 -
Android反编译笔记
反编译代码要想将APK文件中的代码反编译出来,我们需要用到以下两款工具:dex2jar 这个工具用于将dex文件转换成jar文件下载地址:http://sourceforge.net/projects/dex2jar/files/jd-gui 这个工具用于将jar文件转换成java代码下载地址:http://jd.benow.ca/解压dex2jar压缩包后,你会发现有很多个文件...原创 2019-12-05 03:37:02 · 575 阅读 · 0 评论 -
项目打包时:Error:Executionfailedfortask':app:transformClassesAndResourcesWithProguardForRelease'.>java.io
Android studio签名发布apk文件时,出现:Error:Executionfailedfortask':app:transformClassesAndResourcesWithProguardForRelease'.>java.io.IOException: Please correct the above warnings first.异常解决方案是:在app包...原创 2017-03-22 12:44:32 · 4605 阅读 · 0 评论 -
android studio 获取发布版和调试版sha1值用android studio自带的Terminal工具的两种方法
android studio 获取发布版和调试版sha1值用android studio自带的Terminal工具的两种方法原创 2017-04-02 22:27:48 · 4004 阅读 · 1 评论 -
java中Arraylist源码分析扩容过程和性能优化
最近被面试官问的一个看似简单的问题给问蒙了 很是尴尬,于是抛出了arraylist的源码,并成功的找出了答案,分享给大家!问题是:arraylist的初始容量是多大?如何在此处进行应用性能优化?第一次听到这个问题真的很蒙,于是按照判断说默认arraylist的size应该是0吧,至于优化就不清楚 了!结果不用出,当然被面试官否决了,还落了个基础不扎实的罪名!不说废话了,看arrayl原创 2017-06-29 22:37:04 · 7000 阅读 · 1 评论 -
nginx安装时出现启动失败异常与解决方案记录
window环境下安装时异常记录(特别提醒,nginx.exe点击启动后无效,不要干着急,乱尝试,正确做法是第一时间要去安装目录下的logs...\nginx-1.8.1\nginx-1.8.1\logs)目录下的error.log查看错误原因:错误记录一:使用windows版本的nginx启动时遇到(1113: No mapping for the Unicode character exist...原创 2018-03-20 22:22:39 · 4325 阅读 · 0 评论 -
一个可以动态绘制任何形状的自定义ImageView控件
本文为原创作品,转载请注明出处:https://blog.csdn.net/wjj1996825/article/details/79687980 公司项目需求是类似于美甲类app的开发,用户选择了不同的甲型图像后,要把界面上存放手指的imageview控件变换为用户选择好的形状,这个需求当时感觉挺头大的,之前确实没有坐过类似这样的自定义控件,于是Goole搜索了一番,最后浏览...原创 2018-03-25 18:22:37 · 4959 阅读 · 1 评论 -
如何改变android.support.design.widget.TabLayout中每一个Tabs字体大小,字体样式,table选中时颜色,选中和未选中时的字体大小变化设置
如何改变android.support.design.widget.TabLayout中每一个Tabs字体大小,字体样式,table选中时颜色,选中和未选中时的字体大小变化设置如果你没有特别的要求,不需要点击后动态的改变tab中每个字体的样式和大小的话,用第一种方案就可以满足你的需求。如果有特殊的需求你就应该参考第二种和第三种自定义tablayout中的每一个tab的方案了。...原创 2018-04-10 14:29:15 · 12430 阅读 · 3 评论 -
Kotlin编程中如何改变Android TabLayout中每一个Tabs字体大小,样式,table选中和未选中时的字体颜色,样式,大小变化设置
Kotlin中如何改变TabLayout中每一个Tabs字体大小,样式,table选中和未选中时的字体颜色,样式,大小变化设置 如果你没有特别的要求,不需要点击后动态的改变tab中每个字体的样式和大小的话,用第一种方案就可以满足你的需求。如果有特殊的需求你就应该参考第二种自定义tablayout中的每一个tab的方案了。第一种方案:改变TabLayout中tab的字体默认大小,仅需要两步:...原创 2018-04-10 16:08:35 · 6141 阅读 · 0 评论 -
TaskExecutionException: Execution failed for task ':app:transformJackWithJackForDebug'最权威有效的解决方案
关于TaskExecutionException:Execution failed for task ':app:compileDebugJavaWithJavac'和 ':app:transformJackWithJackForDebug'. 通过亲身受害,爬坑实践证明非常权威有效的解决方案 ...原创 2018-04-07 02:49:08 · 83188 阅读 · 37 评论 -
如何使Android studio项目支持lambda表达式简化代码
如何使Android studio项目支持lambda表达式 刚开始与lambda表达式打上交道是使用toolbar的返回监听的时候,直接用->就可以设置点击后的监听事件的执行代码。后来引用一些库什么的,用的越来越多也。 当然今天要介绍的是引入lambda表达式的方法,而不是讲我和它磨合的过程,这里介绍两种方式,也会分别介绍它们的优点或者我所知道...原创 2018-04-07 03:26:22 · 4067 阅读 · 2 评论 -
Android开发常见异常和解决方案(一)
异常记录,填过的坑记录下来,作为以后的经验异常1: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexWithDexForRelease' 产生原因:该bug 是由于 grade 的依赖包的问题,查看依赖是否重复但是版本不同。也可能出现的问题: 引入的jar包包含...原创 2018-04-22 23:12:15 · 4134 阅读 · 0 评论 -
Android FaceBook原生广告接入教程(精简版)
公司项目主要做海外市场,并且是资讯类的产品,所以接入一些广告公司的广告是一项不错的创收,昨天下午产品告诉我要马上接入Facebook的原生广告需求,于是下午就开始阅读Facebook广告接入的官方开发文档进行接入测试了,当然,接入的过程并没有那么顺利,遇到了好多坑,还好有一个有接入经验的大哥帮助加上自己坚持不懈的努力,最终成功的接入了。 FaceBook的原生广告的文档写的很详细,从创建...原创 2018-05-03 14:05:39 · 12917 阅读 · 3 评论 -
Android java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity解决方案
Android项目有时会出现这样的异常:java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRet...原创 2018-05-11 13:22:42 · 13611 阅读 · 0 评论 -
AS Gradle构建失败异常:Could not download gradle.jar (io.fabric.tools:gradle:1.25.4)
Android Studio 项目Gradle构建失败异常一:报错如下:Error:A problem occurred configuring project ':app'.> Could not resolve all dependencies for configuration ':app:classpath'.> Could not download gradle.ja...原创 2018-05-12 16:48:09 · 24448 阅读 · 10 评论 -
Android开发常见异常和解决方案(二)
异常:java.lang.IllegalStateException Fragment already active and state has been saved com.privatehoroscope.mobile.custommadefragment.HoroscopesFragment.initData(HoroscopesFragment.kt:121)解决方案 状态异常。...原创 2018-05-25 15:59:26 · 3821 阅读 · 0 评论 -
自定义样式日期时间选择对话框控件(精简版)
Android 原生的日期时间选择控件有时候在项目中使用给人的感觉会比较难看,带来的体验差。 先来上组图片对比下原生和自定义样式后的效果图: 这是原生的效果: 这是自定义样式后的效果(当然我这里的自定义样式比较随便,只要有好的设计,相信你可以做出更好看的样式,掌握自定义控件的方法很重要,哈哈): 废话不说了,开始上关键代码: 自定义日期选择对话框 DataPicker.c...原创 2018-06-04 21:37:55 · 7877 阅读 · 3 评论 -
RecyclerView中获取item在屏幕中的绝对坐标
需求分析:在项目中有时候我们用RecyclerView的时候会有需要获取指定位置的itemview在屏幕中的绝对坐标,比如说做一个商品列表点击商品item后启动商品加入购物车动画,或者星座生肖项目中,用户选择出生日期后,自动匹配对应的生肖并启动一个生肖列表view的选中动画,都需要获取到RecyclerView中一个itemview在屏幕中的绝对坐标然后作为动画的起始位置进行启动,动画的结束位置就...原创 2018-05-24 13:28:30 · 16956 阅读 · 0 评论 -
AdMob Android谷歌广告接入(精简版)
话不多说,在项目里面需要用到的加载谷歌广告的地方比较多,重复代码多次写没有必要,所以封装了一个工具类,直接调用方法就行,你在使用时可以更加细节封装优化一下~ LoadGoogleAd.kt代码:import android.app.Activityimport android.util.Logimport android.widget.Toastimport com.google.an...原创 2018-06-13 00:49:11 · 22264 阅读 · 16 评论 -
Android自定义半圆形圆盘滚动选择器View
前端时间公司项目要求做一个特效的滑动选择器,效果如下图的样子: 功能要求:两边的半圆形转盘可以转动,转盘上的图标也一起滚动,蓝红色图标指着的小图标变成高亮选中状态。 第一眼看到这个需求就想到这个必须要用自定义控件来做才行,于是产生了这样的思路: 半圆形的滚动的转盘自定义view继承viewgroup,重写滑动事件,自定义圆盘上图片的摆放角度,至于蓝色...原创 2018-06-13 01:12:31 · 7329 阅读 · 9 评论 -
Android自定义Dialog对话框的几种方法(精简版)
自定义对话框是经常使用的功能,我们常用的弹窗操作,除了使用popwindow就是使用dialog来实现,这两种组件都支持之定义布局和功能来满足我们个性化的需求,也可以不采用自定义而直接使用系统封装好的api来实现功能。今天简单总结下在使用dialog做弹窗功能的方法和会遇到的问题与解决方案。 方法一:直接使用系统的,不自定义布局和功能方式 /* @setIcon 设置对话框...原创 2018-05-31 11:55:19 · 73517 阅读 · 7 评论 -
Android studio 内存泄漏检测与分析工具使用教程
内存泄露,是Android开发者最头疼的事。可能一处小小的内存泄露,就会导致整个app发生崩溃的可能,那么怎么才能检测内存泄露呢?今天介绍LeakCanary插件的使用方法,这款插件的好处就是,可以在手机端直接查看内存泄露的地方,可以辅助我们检测内存泄露 首先 在build.gradle文件中添加,不同的编译使用不同的引用:dependencies { debugCom...原创 2018-06-21 20:53:17 · 3290 阅读 · 0 评论 -
Android RecyclerView 实现item点击水波纹动画效果
Recyclerview的item如果如果加上水波纹动画的点击效果会使列表的ui体验效果提升很多,今天来给大家介绍一下如何给Recyclerivew的item view添加这样的动画效果。 在res目录的drawable目录和drawable-v21下分别建立linerlayout_water_selector.xml文件。drawable目录下的linerlayout_water_sele...原创 2018-06-22 21:12:38 · 11542 阅读 · 12 评论 -
常用kotlin语法记录和使用说明 转载请标明作者:晨诺星空junjiew
kotlin的语法和java有一定的差别,在使用的时候有一些语法还是容易不适应,所以记录下来一些经常会用到的kotlin语法并带有注释和说明,方便更多人也方便自己在忘记时来查阅和使用~activity跳转的时候,intent写法://写法一var intent = Intent(this,YourActivity().javaClass) //写法二var intent = Int...原创 2018-06-24 16:01:17 · 3201 阅读 · 0 评论 -
友盟分享集成教程(精简版)
之前项目中集成过多次友盟的分享,当时做完后没有写博客记录,然后现在公司的项目市场是国外主要,用到的都是Facebook分享和Android原生的系统分享,所以也用不到国内社交平台的分享集成,但是今天个人的项目里面需要用到集成友盟了,由于当时没有用博客记笔记详细记录,所以再次集成的时候很多都忘了,之前爬过的坑有的甚至重新爬了一次又,所以感觉有必要认真的做下笔记了!于是有了今天这篇博客~,哈哈第一...原创 2018-06-25 01:04:06 · 5644 阅读 · 2 评论 -
Android BroadcastReceiver 监听接收系统的屏幕解锁广播通知,保持后台service服务的常驻运行
消息定时推送是app里面常用的一个功能,但是如何能保证我们推送消息和监测时间的service常驻呢,可以用自定义广播接收器的方式,通过 监听接收系统的屏幕解锁广播通知的方式检查与保持service的正常运行。 下面我写下自己用到的方法: 自定义广播接收器LockScreenReceiver.kt类,下面是LockScreenReceiver代码,注意是kotlin语言哦:/** * Cr...原创 2018-06-25 12:22:46 · 6930 阅读 · 0 评论 -
Android 接入Google应用订阅与应用内支付结算笔记
直接写关键代码在这里: 第一步在 AndroidManifest.xml 文件中添加以下代码行: <uses-permission android:name="com.android.vending.BILLING" />第二部在项目src/main下New Directory命名为aidl,原创 2018-06-29 22:05:32 · 15052 阅读 · 5 评论 -
Android 接入Facebook实现第三方登陆教程(精简版)
首先需要在Facebook官方注册你的应用,这个不用说,需要注意的是在创建应用的时候需要填写应用的key hashes ,这个可以用cmd命令获取,也可以用代码动态获取,我是用代码动态获取的,下面贴下方法:// Add code to print out the key hash @SuppressLint("NewApi") private fun getKeyHash...原创 2018-06-26 21:50:25 · 12918 阅读 · 2 评论 -
Android 整屏截图与区域指定view或layout截屏并返回bitmap对象
直接上关键代码: ScreenShotUtils 工具类代码:import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import a...原创 2018-06-26 21:58:30 · 6279 阅读 · 0 评论 -
Execution failed for task ':app:transformClassesWithDexForRelease'.经验总结
关于Android Error:Execution failed for task ‘:app:transformClassesWithMultidexlistForRelease’和 ‘com.android.build.api.transform.TransformException: Error while generating the mai...原创 2018-07-03 16:32:06 · 19443 阅读 · 0 评论 -
Could not resolve all files for configuration ':app:debugCompileClasspath'.解决方案
异常如下:Error:FAILURE: Build failed with an exception.* What went wrong:Could not resolve all files for configuration ':app:debugCompileClasspath'.> Could not resolve com.google.android.gms:pl...原创 2018-07-03 16:44:26 · 75376 阅读 · 9 评论 -
Retrofit2+RxJava2实现一个网络请求框架精简封装
今天讲下如何使用Retrofit2+RxJava2实现一个网络请求框架的步骤: 前提准备条件自然要有清单文件别忘记添加网络请求权限: <uses-permission android:name="android.permission.INTERNET" />然后开始真正的代码集成实现步骤: 第一步:首先在build.gradle文件中添加以下依赖:dependenc原创 2018-07-03 20:50:10 · 3453 阅读 · 0 评论 -
项目运行报错:Can't create handler inside thread that has not called Looper.prepare()解决方案
项目中在做Facebook延迟深度链接的时候出现了这样的异常,这是一个典型的不能在子线程做更新ui,做activity跳转的异常。 我们都知道,在主线程不能做耗时操作,在子线程不能做更新ui的操作,我这里出现异常的原因就是Facebook给的回调方法里面有一个是参数是hander的回调方法,我获取到信息做判断后直接做了跳转actitvity的操作,所以导致了这样的异常。 看下我代码:p...原创 2018-07-17 21:08:23 · 18666 阅读 · 0 评论 -
Android 用原生ViewPager控件实现卡片翻动效果
先放一张效果图: 想要实现这样的效果其实并不是太难,需要对ViewPager的一些细节属性更深入的了解和认识,下面介绍下一个小demo的实现过程: 第一步创建卡片viewpager适配器的itemview的布局文件:<?xml version="1.0" encoding="utf-8"?&原创 2018-07-23 18:25:02 · 4926 阅读 · 0 评论 -
Android Deeplink,Facebook 广告deeplink配置与测试
先对DepplLink做一个简单的介绍:Android和ios都有一种叫做deeplink的功能,简单讲他就像一个判断,当你运行或者点击了这个唤起deeplink功能的某个控件,然后唤起了deeplink监听事件,它就会开始运行,检查你手机本地有没有安装你指定的某个应用,如果有就唤起你指定的应用的某个页面,如果手机本地没有安装,就跳转到你指定的应用商店,提示用户进行下载的操作。Deeplink是目...原创 2018-07-05 21:09:08 · 15144 阅读 · 14 评论 -
TextView 实现部分文字改变多种颜色并为单段或多段不同颜色的文字段添加不同点击事件
今天晨诺星空继续给大家分享干货知识,福利来了,哈哈。如果你喜欢可以点个关注哦,男同胞关注了就是好哥们儿,哈哈,兄弟,有啥问题找我探讨,保你解决,没有什么是一杯酒解决不了的,如果又就两杯,哈哈~,女同胞的话,除了带给你点编程的营养与干货,别的估计也只剩以身相许了,哈哈又调皮了~ 不开玩笑了,下面开始进入正题: 最近项目中遇到了一个新的需求,在谷歌订阅页面增加文字显示介绍以及点击跳转查看用户隐...原创 2018-07-12 21:42:08 · 4537 阅读 · 3 评论 -
Android activity 四个启动模式的作用与区别
今天来写一点Android中的很基础很重要,并且有些不太经常会用的知识,但是很重要当你需要解决一些需求的时候。是关于Android activity 四个启动模式的作用与区别的,Android中activity有四种启动模式,分别是: 1.standard 2.singleTop 3.singleTask 4.singleInstance它们之间的作用与区别在面试的时候经常会被问到...原创 2018-07-25 00:40:58 · 3175 阅读 · 0 评论 -
自定义shape实现Button和Textview的圆角,描边,颜色渐变效果
shape特效定制很重要,但不经常用容易忘记,所以记录在这里方便以后需要时直接来看笔记,本人不喜欢背代码,只喜欢活学活用! 实现效果如下图中按钮的样式,有边框描边,有中间背景颜色过渡渐变,有四个圆角效果: 实现很简单,只需两个步骤就行: 第一步:在res目录下的drawable目录中创建一个btn_custom_bg_shape.xml文件,并写入如下代码:<?xml vers...原创 2018-08-03 17:30:23 · 3986 阅读 · 1 评论 -
Android 不同分辨率下屏幕适配的实战方案与经验总结
Android 开发中,屏幕适配是一大考点,几乎每一场面试,都不会落下这个问题,这个问题说简单也简单,说难也难,当然对于有过真实的适配经验的人来说,这个根本不算什么问题,从坑里爬过的人,自然知道这其中的水深水浅,哈哈。今天总结分享下自己在项目中关于屏幕适配的一些实战经验,作为自己从事Android开发以来的一篇温故与告白! 方案一:使用多个values下的dimens.xml文件来进行适配。 ...原创 2018-08-07 17:15:31 · 8535 阅读 · 0 评论 -
AndroidStudio新建项目报错Conflict with dependency 'com.android.support:support-annotations'in project 解决方案
错误提示如下: Error:Execution failed for task ‘:app:preDebugAndroidTestBuild’. Conflict with dependency ‘com.android.support:support-annotations’ in project ‘:app’. Resolved versions for app (27.1.0) a...原创 2018-08-13 12:17:14 · 3260 阅读 · 0 评论