
android
文章平均质量分 60
探索者丶
https://my.youkuaiyun.com/android_hv#
展开
-
Andorid获取原生GPS定位信息
Android 原生GPS定位原创 2022-06-29 14:45:03 · 1928 阅读 · 1 评论 -
《剑指Offer》Java实现
1) 找出数组中重复的数字 2) 不修改数组找出重复的数字 3) 二维数组中的查找 4) 替换空格 5) 从尾到头打印链表 6) 重建二叉树 7) 二叉树的下一个结点 8) 用两个栈实现队列 9) 斐波那契数列及青蛙跳台阶问题 10) 旋转数组的最小数字 11) 矩阵中的路径 12) 机器人的运动范围 13) 剪绳子 14) 二进制中1的个数 15) 数值的整数次方 16) 打印1到最...原创 2022-01-12 11:06:05 · 254 阅读 · 0 评论 -
Git本地新建项目代码上传到Gitlab上,并合并main
本地新建项目,初始化git 项目 git init 项目根目录下会有 .git 文件夹 gitlab 新建仓库 在新建的项目下,复制仓库地址 使用HTTPS地址 本地项目,添加远程gitlab 仓库地址 git remote add origin 你刚才复制的地址(https://gitlab.bingosoft.net/canwinbim/geofront/bimreview.git) 将本地master和远端master建立映射 gi...原创 2021-03-26 14:36:29 · 1564 阅读 · 1 评论 -
Android 一分钟了解简单原生FaceDetector人脸识别,解决SurfaceView+MediaRecorder录制视频不清晰
近来,发现登入后台管理系统,发现上传上来的认证视频太模糊了,于是乎,发现没有给MediaRecorder设置帧频率。// 设置帧频率,录制视频会更加清晰mRecorder.setVideoEncodingBitRate(5*1024*1024);1.直接开撸,先打开相机,来获取想要的bitmap,关于为什么用到YuvImage:https://blog.youkuaiyun.com/illidan...原创 2018-07-21 18:52:35 · 5439 阅读 · 2 评论 -
org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.
AS 升级3.1以后遇到了各种坑,比如:想让降低targetSdkVersion,然后开始了报错之旅: 直接删除mainfest中的roundIcon,因为低版本是没有这个SDK的;android:roundIcon="@mipmap/ic_launcher_round"再次build项目,发现还有一点小问题,原来新版本AS的res目录下会多出两个文件:果断删除,重新编译...原创 2018-07-27 11:34:02 · 8111 阅读 · 0 评论 -
Android适配全面屏(华为荣耀8,小米8,三星S8等)
昨天公司一运营小伙拿着新买的小米8,问我,为啥项目在我手机上下面有一大块是黑色的,原来,测试机一般用都是1920*1080的,或者是更小的,(16:9)的屏幕,而他的小米8是2160*1080(18:9)。一些手机厂商为了追求更大的屏幕空间以及更极致的用户体验,于是提高了屏幕纵横比,17:9、19:10、18:9、18.5:9的手机开始进入市场,这些手机被称为全面屏手机。适配方案1.设...原创 2018-07-28 10:10:43 · 7361 阅读 · 8 评论 -
ThreadLocal与InheritableThreadLocal的区别
ThreadLocal:实现一个线程本地的存储,也就是说,每个线程都有自己的局部变量。所有线程都共享一个ThreadLocal对象,但是每个线程在访问这些变量的时候能得到不同的值,每个线程可以更改这些变量并且不会影响其他的线程,并且支持null值。(Handlder中有使用ThreadLocal,EventBus中也有应用到的) private String TAG = "MainAc...原创 2018-08-04 18:04:32 · 1082 阅读 · 0 评论 -
Android 清理缓存、优化内存空间
有时候项目中需要清理一些缓存数据(如:图片缓存、网络数据缓存等),当然也要对SharedPreferences存储的数据进行清理,当然App中有个这样的功能可能会提高逼格吧。public class CacheDataManager { /** * 获取整体缓存大小 * @param context * @return * @throws Ex...原创 2018-08-19 17:53:28 · 2361 阅读 · 0 评论 -
Android之获取加载图片宽高问题(getIntrinsicWidth与getwidth的区别)
获取图片大小:在Android的开发中,凡是需要画图的地方大都离不开类Drawable。//方法1 获取宽高int width1 = imgDetailImage.getDrawable().getBounds().width();int height1 = imgDetailImage.getDrawable().getBounds().height();//方法2 获取宽高flo...原创 2018-08-21 17:56:34 · 3821 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library虹软Bug
java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library "/data/app/com.arcsoft.sdk_demo-kvhONHnMPDN9YhRUAVn1Ow==/lib/arm/libmpbase.so" >= file size: 0 >= 0 使用虹软人脸识别,添加...原创 2018-11-02 19:01:57 · 1894 阅读 · 0 评论 -
Android shape实现订单卡片制作(shape画半圆及矩形圆角、渐变、虚线(不显示?))
这个没有图片怎么搞,要不自己画?两个半圆,一个矩形的四个圆角,一根虚线,组合一下吧:order_pay_shape_left.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:...原创 2018-11-08 19:33:19 · 1628 阅读 · 0 评论 -
Android Studio3.0报错:Annotation processors must be explicitly declared now
偶尔在GitHub上搞点代码瞅瞅,AS升级3.0之后带入经常吃点这样那样的错误:Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Pleas...原创 2018-11-12 15:14:09 · 503 阅读 · 0 评论 -
AndroidStudio每次打开项目不自动打开上一次打开的文件、每次打包都需要重新输入key store path
最近在运行AS时,发现每次打开都要重新的打开目录及打开相关的文件,打包必须重新添加签名文件,我也是醉了。问题原因:workspace.xml损坏了(workspace是可移动媒体不能更改的是系统自动编译的)。解决方案:找到工程目录下的.idea——>libraries——>workspace.xml删除,别担心AS会报错,它会自动去重新编译一个workspace文件,然后重启A...原创 2018-11-29 10:38:22 · 1415 阅读 · 0 评论 -
PullToRefreshListView添加头部布局下拉冲突
添加头布局时,如果头布局高度很高,当滑动到中间想要滑到顶部会发现listview会直接拦截下拉事件,与头布局产生冲突。解决方法: listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScroll...原创 2018-12-19 17:22:27 · 464 阅读 · 0 评论 -
AndroidStudio unused impor statement及Cannot find declaration to go to依赖包(v7及第三方包)丢失问题
平时在项目中很多时候都有依赖包,当然出现什么v7包丢失,以及第三方包丢失,有时候本身对项目没什么影响,不是真正的丢失,只是不能查看依赖相关信息;这种情况对于强迫证的小伙伴肯定看着不舒服,看着报红就以为报错了呐,然而搞半天,还是不行各种清缓存无卵用....方法:直接把当前项目关掉,然后Open an existing Android Studio project 重新打开你的项目,则...原创 2019-02-27 16:26:32 · 653 阅读 · 0 评论 -
Android快速实现手机号及邮箱验证(手机号正则表达式及邮箱正则表达式)
1.如果是一般的判断手机号前两位可以使用下面方法,[1]代表开头是1,[3456789]代表第二位是3456789,而后面几位随意去编写。public static boolean validataPhonNumb(String phone) { String telRegex = "[1][3456789]\\d{9}"; Pattern pattern = Pattern...原创 2018-07-20 11:00:05 · 1748 阅读 · 0 评论 -
Android实现ViewPager滑动播放视频,ViewPager+Fragment取消懒加载问题
1.首先:设置ViewPager的verticalViewPager.setOffscreenPageLimit(0),发现无效,但是源码中确实设置0之后默认的是0,然而你滑动的时候发现当前的视频在播放而下一条也会播放。2.解决 :public abstract class LazyLoadFragment extends Fragment { @Bind(R.id.img...原创 2018-07-19 19:00:24 · 3149 阅读 · 0 评论 -
Android 自定义Imageview之RoundCornersImageView(实现圆角及圆形图片)
在实践中,有时候会用到圆形图片展示(个人头像展示)及圆角展示,其实Glide加载ImageView能够实现这些:Glide加载圆形图:RequestOptions mRequestOptions = RequestOptions.circleCropTransform().diskCacheStrategy(DiskCacheStrategy.NONE).skipMemoryCach...原创 2018-07-25 11:47:58 · 2044 阅读 · 0 评论 -
项目中如何正确使用开源框架
前天发了一篇文章「 如何选择开源项目? 」广受大家喜爱,其实我们在使用开源项目的过程中有不少注意的事项,今天就来给大家补充下「如何正确的使用开源项目?」如果你是个人练手项目,那随你心情,想怎么用怎么用,没啥需要强调的注意事项,本篇文章仅是以在商业项目采用开源库做介绍。1. 使用成熟稳定的开源项目现在技术日新月异,可能隔几天就会出来一个新的开源框架,但是公司的商业项目永远以稳为主,也原创 2017-01-16 14:03:29 · 1264 阅读 · 0 评论 -
图解Android Studio导入Eclipse项目源码
本篇经验将向大家介绍如何在Android Studio中导入先前用Eclipse开发的Android应用。方法/步骤1打开Android Studio,在主页面中选择"File"->"New"->"Import project...",如下图所示:2在弹出的"Select Eclipse or Gradle Proje转载 2017-01-16 15:16:11 · 549 阅读 · 0 评论 -
使用第三方框架解耦的一种思路—简单工厂模式的运用
原创 2017-01-19 gdutxiaoxu 何俊林前言: 能在平时的coding中,使用到设计模式,是一件非常细节的事,但恰恰也是走向高阶的开端,同样一段代码,不同的人写,水平是不一样的。今天是由gdutxiaoxu投稿本公众号授权发布的,gdutxiaoxu之前写的《记一次360面试》也是在本公众号独家发布的,是老朋友了。gdutxiaoxu的blog:http://b转载 2017-01-19 16:23:06 · 1516 阅读 · 0 评论 -
Android优化系列之apk瘦身
摘要: 概述为什么APK要瘦身。APK越大,在下载安装过程中,他们耗费的流量会越多,安装等待时间也会越长;对于产品本身,意味着下载转化率会越低(因为竞品中,用户有更多机会选择那个体验最好,功能最多,性能最好,包最小的),所以apk的瘦身优化也很重要,本篇博客将讲述apk瘦身的相关内容。概述为什么APK要瘦身。APK越大,在下载安装过程中,他们耗费的流量会越多,安装等待时间也会越长;对于产品转载 2017-02-14 10:42:28 · 401 阅读 · 0 评论 -
菜单开源库装逼大全
最近在看一个GanNew的开源代码,然后发现有个菜单,效果还挺好看的,没看代码之前,我还想着是怎么实现的,我第一想到了共享元素,然后一看代码,发现原来是个开源库。好吧,然后就去搜索有没有更好玩的菜单,就记录一些找到的,以后有需要也可以加入,或者拿来看看代码。讲道理,也是挺好的。1、BoomMenu是不是已经厌倦了那些一成不变的菜单,看起来是如此平庸,一点都不能吸引人,那么不如试试下面这种,转载 2017-02-14 11:32:50 · 1765 阅读 · 0 评论 -
Android沉浸式状态栏实现
应用市场上App越来越多的出现沉浸式状态栏的设计(如下图所示)状态栏和导航栏具有相同的颜色。Android在4.4开始对于该种效果的支持,而在4.4之下,状态栏只是黑框,无法控制。同时在4.4和5.0及其之上的版本对该种效果的支持又有所差异,因此要实现该种效果,可以将4.4归为一类,5.0及其之上归为一类。接下来,我们将一步步来在4.4和5.0及其之上来实现如下所示效果。导航栏问题转载 2017-02-14 11:38:28 · 487 阅读 · 0 评论 -
【干货】支付宝App架构揭秘—使用的开源组件总结!
前言:阿里巴巴作为现在BAT的三巨头之一,其技术在业界也是有目共睹的。而支付宝更是作为阿里的可以蓖美微信的重量级产品,不管是稳定性、性能优化还是架构设计方面都能给我们很多学习和借鉴的地方。现特花了点时间整理了 支付宝 Android 客户端使用的开源组件,给需要的同学。供学习和借鉴。在你不知道用什么开源框架的时候可以作下参考,在你的实际项目中引用成熟稳定的开转载 2017-02-14 12:04:40 · 6290 阅读 · 0 评论 -
业余时间写了一个第三方微博(不使用官方SDK)
作者: 听任蔓草堙路地址:http://www.jianshu.com/p/531efdf5cdc5GitHub地址:https://github.com/Werb/Werb第一前言前段时间,想要写一个练手的项目,所以决定开发一个第三方微博 App分析 Sina WeiboSDK源码,发现官方Api请求在实现、代码风格上存在很多弊端本项目中所转载 2017-02-14 16:45:19 · 593 阅读 · 0 评论 -
PullToRefreshListView添加含有listview的头部底部布局的各种问题
在工作中小伙伴们肯定会添加各种各样的布局,展示不同的列表。1.PullToRefreshListView添加头部布局 listview.getRefreshableView().addHeaderView(head);2.PullToRefreshListView添加底部布局listview.getRefreshableView().addFooterView(foot原创 2017-11-09 12:34:26 · 2036 阅读 · 1 评论 -
Android 仿微信红包动画特效一分钟搞定
简单来说你多在微信中发几个群红包就能有一些思路,但是有些特定的状态需要注意前后端配合。搞了半个小时TMD没有把视频转换成GIF,直接上照片吧,醉了~1.支付完成之后会出现第一个图,打开第二个图的时候当前界面是有一个动画效果的,可以微信中发个群红包试试~无非是图片抖两下,这里将第二张的红包总布局设置Animationxml version="1.0" encoding= "U原创 2017-12-20 15:20:29 · 7804 阅读 · 1 评论 -
一分钟解决Shape分割线及分割线圆角框
分割线圆角框:xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <stroke android:dashGap="5dp" android:dashWidth="8dp" a原创 2017-12-14 16:00:38 · 1692 阅读 · 0 评论 -
Android ViewPager中切换fragment刷新数据
Fragment重载Fragment.onHiddenChanged(boolean hidden)方法可以解决:/** * 切换Fragment时每次都会执行 * @param hidden */@Overridepublic void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden);原创 2018-01-12 18:33:10 · 1716 阅读 · 0 评论 -
实战WebView加载js界面并播放视频遇到的一些小问题java.lang.IllegalStateException
直接上代码:webView加载js界面String contentHtml = "<html lang=\"en\">\n" + " <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"&a原创 2018-06-14 18:27:52 · 1987 阅读 · 0 评论 -
ViewPager+Fragment滑动刷新view状态
@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (!isVisibleToUser){ if (imgDetailVideo !=null){ imgDetailV...原创 2018-06-14 18:50:25 · 1196 阅读 · 0 评论 -
Glide加载gif 动态图的显示不清晰及不显示的问题
最近修改自定义下拉刷新动画的时候,UI妹子给了张gif图,80多k,使用Glide加载本地图片是时候发现有时候这张图片不现实,难道是加载的问题,偶尔加载出来发现图片不清晰,哪像一个车在跑,分明是在飘:解决方法: Glide.with(context).load(R.mipmap.waiting_geton_icon).asGif().diskCacheStrategy(DiskCac...原创 2018-07-03 17:37:42 · 7167 阅读 · 0 评论 -
Android 应用瘦身,从 18MB 到 12.5MB
开篇语前阵子老大交给了我一个任务,主要是帮我们开发的直播应用做 Android 端的安装包瘦身,花了大概一周的时间把安装包从 18MB 减小到了 12.5MB。原本完全可以优化到 10MB 之下,但由于其他原因的限制,所以目前阶段只到 12.5MB 为止。在此记录一下优化的思路和用到的工具,方便自己以后 Review ,有需要的童鞋也可供参考。瘦身的目的从目的导向来看,我们是不会无缘无转载 2017-02-05 10:14:09 · 459 阅读 · 0 评论