
Android开发
黑洲非人lyf
小码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
自定义View之构造方法和用法
自定义view三个构造方法: public SwipeRecycleView(Context context) { this(context,null); } public SwipeRecycleView(Context context, @Nullable AttributeSet attrs) { this(context, att原创 2017-07-16 16:31:04 · 745 阅读 · 0 评论 -
薄荷TOOLBAR(ACTIONBAR)的适配方案
遵循各版本的Android设计我们的App一向是尽量遵循Android的设计,比如顶部的导航栏,我们知道在4.4版本之前Android是不可以自定义状态栏的,在4.4版本Android推出了一个透明状态栏的概念,使手机最顶部的状态栏的颜色全透明,并且颜色可以定义,而5.0推出了Material Design,这个时候的状态栏就变成了半透明的颜色,具体可见下图。4.4版本5.0版本转载 2017-08-19 12:49:02 · 360 阅读 · 0 评论 -
Android Bitmap 会抛出 java.lang.IllegalStateException: only mutable bitmaps may be reconfigured
Android Bitmap 改变的时候可能会抛出 java.lang.IllegalStateException: only mutable bitmaps may be reconfiguredbitmap.setHeight(12);bitmap.setWidth(12);然后就报出 java.lang.IllegalStateException 这个错误,on原创 2017-08-04 22:03:47 · 5765 阅读 · 0 评论 -
android assets和raw的区别
在Android工程的目录下,/assets是应用系统内部需要使用到的诸如音乐、视频类文件,而/res是应用的资源文件,/res内有一个/raw目录,这个目录和/assets有类似,这里记录一下两者的异同和用法。/res/raw和/assets的相同点两者目录下的文件在打包后会直接保存在apk包中而不被编译成二进制。/res/raw和/assets的不同点/res/raw中的文件会被映射到R文件中,转载 2017-08-05 18:14:14 · 1698 阅读 · 0 评论 -
java主线程等待所有子线程执行完毕在执行
java主线程等待所有子线程执行完毕在执行,这个需求其实我们在工作中经常会用到,比如用户下单一个产品,后台会做一系列的处理,为了提高效率,每个处理都可以用一个线程来执行,所有处理完成了之后才会返回给用户下单成功,下面就说一下我能想到的方法,欢迎大家批评指正: 用sleep方法,让主线程睡眠一段时间,当然这个睡眠时间是主观的时间,是我们自己定的,这个方法不推荐,但是在这里还是写一下,毕竟是解决方法原创 2017-08-24 16:33:32 · 515 阅读 · 0 评论 -
Glide使用教程-附带链接
https://mrfu.me/2016/02/27/Glide_Caching_Basics/#glide-系列预览缓存基础在 Android App 中必须去做的是一个很好的实现图片加载组件,尝试去减少网络请求。Glide 在这里并没有什么不同。Glide 通过使用默认的内存和磁环缓存去避免不必要的网络请求。我们将在后面的博客中去详细的查看实现细节。如果你等不到那个时候,通原创 2017-08-24 15:06:29 · 477 阅读 · 0 评论 -
RecyclerView里notifyItemRemoved的坑
RecyclerView很多时候是展示静态的数据,并不会有删除的操作,讲到RecyclerView时,会提到它提供了一个很好的展现删除操作动画的函数,代码片段一般是这样的 @Override public void onBindViewHolder(final CommonViewHolder holder, final int position) {原创 2017-08-29 15:10:29 · 1135 阅读 · 0 评论 -
DrawerLayout实现侧滑布局问题总结
本片是对DrawerLayout使用的一个详细解析,也是对开发中遇到问题的一些总结。DrawerLayout是SupportLibrary中一个支持侧滑效果的控件,开发中主要是跟NavigationView+Toolbar配合来实现侧滑菜单,具体看效果。这个效果模板即可实现,这里简单做下使用讲解,重点不在这里。布局:<?xml version="1.0" encoding="utf-8"?><an转载 2017-08-19 09:16:12 · 521 阅读 · 0 评论 -
Android调试与开发常用命令
Android开发与调试必不可少需要懂得一些命令,如adb,Linux的一些命令,能快速提升开发速度,和开发逼格。本文总结了一些比较常用的命令,很适合初级Android开发工程师。 adb的全称为Android Debug Bridge,就是起到调试桥的作用。作为开发人员,掌握适当所需要的ADB操作命令是非常必须的。就把平时工作中用得相对比较多的命令作个小总结。原创 2017-08-04 21:39:04 · 932 阅读 · 0 评论 -
自定义view之onMeasure,onLayout,onDraw
Android中自定义View时经常会需要重写View的onMeasure(),onLayout()和onDraw()方法,下面分别介绍下这三个方法。顺序onMeasure()→onLayout()→onDraw()一、onMeasure()方法onMeasure(int widthMeasureSpec,int heightMeasureSpec)1、调用时间:当转载 2017-07-16 17:01:23 · 1074 阅读 · 0 评论 -
getRawX、getRawY与getX、getY以及View中的getScrollX、getScrollY以及Scroller中的startScroll方法
1.getRawX、getRawY与getX、getY的区别在编写android的自定义控件,或者判断用户手势操作时,往往需要使用MotionEvent中的getRawX()、getRawY()与getX()、getY()取得触摸点在X轴与Y轴上的距离,这四个方法都返回一个float类型的参数,单位为像素(Pixel)。getRawX()、getRawY()返回的是触摸点相对于屏幕的位置,原创 2017-07-16 17:10:35 · 1105 阅读 · 0 评论 -
Android事件分发理解
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。原创 2017-07-15 15:30:00 · 1815 阅读 · 0 评论 -
Android Framework中的Application Framework层介绍
Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得。 Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求。写APP的人都知道,学习Android开发的第一步就是去学转载 2017-07-19 18:46:40 · 505 阅读 · 0 评论 -
OCR-光学字符识别之训练Tesseract3字库图文详解
训练Tesseract3字库可以提高Tesseract对特定字库的识别率。本文记录了我训练字库的详细步骤,字库训练完成后在Tesseract-OCR中成功调用,另外也记录了我在训练Tesseract3字库中遇到的问题点以及相应的解决方案。 1.训练Tesseract3字库准备工作 1.1 下载并安装Tesseract-OCR,我用的版本是Tess原创 2017-07-25 18:19:27 · 1710 阅读 · 2 评论 -
Android-JNI使用详解
NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西;比如Framework层启下就会经常用,首先进官网和SDK下载地址一样https://developer.android.google.cn/ndk/downloads/index.html,然后其实包里面有sample,例子可以看。1、新建一个类,声明native方法。这个类是java与C/C++交互的中介,方法由java原创 2017-07-23 18:55:29 · 801 阅读 · 0 评论 -
SharedPreference.Editor的apply和commit方法异同
在Android 中存储数据时经常用SharedPreference, 并且在提交数据时一直用的是Editor的commit方法, 今天无意了看到了系统用了apply,看了方法的介绍, 原来这个方法也是可以提交数据的.apply方法在官方SDK说明如下:Commit your preferences changes back from this Editor to the Sh转载 2017-07-11 17:21:31 · 398 阅读 · 0 评论 -
wifi直连(Android)Wifi-Direct
wifi直连也叫做wifi设备点对点连接(peer-peer),不需要连接热点或者网络,需要打开wifi,就可以查找到附近的设备。大概可以分为以下步骤:1.设置以下权限,并且注意最小sdk=142.创建一个广播接收器,通过创建IntentFilter来addAction得到各个特定事件的发生来进行回调.创建一个新的 BroadcastReceiver 类,用来监听系统的Wi-Fi原创 2017-07-08 11:08:20 · 20264 阅读 · 13 评论