- 博客(102)
- 收藏
- 关注
原创 巧用Kotlin:内置函数let、also、with、run、apply大大提高你的开发效率!
前言在Kotlin中,有一些用于扩展 & 方便开发者编码的内置函数,能大大提高开发者的开发效率。今天,我将主要讲解的是:let函数 also函数 with函数 run函数 apply函数基础知识:接口回调中Lambda使用在Kotlin中可使用Lambda函数简化一些不必要的嵌套接口回调方法注:仅支持单个抽象方法回调,多个回调方法不支持。// Java接口回调mVar.setEventListener(new ExamEventListener(){
2020-07-09 17:30:40
376
转载 Android 开发小工具之:注解 Annotation
Android Support包之一的support-annotations是通过静态编译检测来提高代码质量的一个注解工具。里面包含了 Android 开发中常用的代码检测注解,帮助开发者提高代码质量。通过SDK Manager下载 Android Support Repository 后,在 Gradle 中通过如下声明来使用该注解包:dependencies {compile ‘com.android.support:support-annotations:22.2.0’}该工...
2020-07-09 16:34:00
677
原创 android studio好用的插件
1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat2.Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。在Activity,Fr...
2019-04-17 15:47:01
985
转载 Android项目中引用本地aar文件的方法
随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便。aar何为aar?大家都知道jar文件把,如果你有一个Andro
2017-03-03 14:08:03
534
转载 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
原文:How to distribute your own Android library through jCenter and Maven Central from Android Studio 如果你想在Android Studio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中。dependencies { compi
2017-03-03 11:51:53
464
转载 Android属性allowBackup安全风险浅析
1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是True。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用
2017-03-03 10:46:40
491
转载 Android AndroidManifest.xml文件的android:supportsRtl属性详解
转载请注明出处:http://blog.youkuaiyun.com/aa464971/article/details/51372204Android交流群:146262062更多开发文章:http://dyhdyh.comAndroid Studio新建工程的AndroidManifest文件里会有一个supportsRtl属性,并且默认是true,那这个属性到底有什么用呢,顾名
2017-03-03 10:41:15
348
翻译 android官方技术文档翻译——aar 格式
本文译自androd官方技术文档《AAR Format》,原文地址:http://tools.Android.com/tech-docs/new-build-system/aar-format。本文地址:http://blog.youkuaiyun.com/maosidiaoxian/article/details/41578499。转载请注明出处。翻译如有错讹,敬请指正。
2017-03-03 10:21:18
354
转载 内存分析工具 MAT 的使用
1 内存泄漏的排查方法Dalvik Debug Monitor Server (DDMS) 是 ADT插件的一部分,其中有两项功能可用于内存检查 :· heap 查看堆的分配情况· allocation tracker跟踪内存分配情况DDMS 这两项功能有助于找到内存泄漏的操作行为。Eclipse Memory Analysis Tools (MAT)
2016-09-22 22:29:07
351
转载 Android Studio使用Lint进行代码检查
Android Studio目前已经更新到1.4版本,它作为Google官方推荐的IDE,功能非常强大,其中提供了一套静态代码分析工具,它可以帮助我们检查项目中存在的问题,让我们更有规范性的开发App。它可以检查出:xml文件中是否存在hardcode硬编码、unused resources没有使用到的资源、probable bug可能的bug等等。那么现在我们来测试使用它看看:Android
2016-09-22 21:33:14
338
转载 Android:onNewIntent()触发机制及注意事项
一、onNewIntent()在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent1、其他应用发Intent,执行下列方法:onCreateonStartonResume发Intent的方法:Uri uri = Uri.pa
2016-09-21 21:44:36
407
转载 Android代码混淆之混淆规则
请尊重他人的劳动成果,转载请注明出处:《Android代码混淆技巧》 因为Android是使用Java开发的,所以开发者可以使用ProGuard对代码进行混淆。SDK已经集成了ProGuard工具,开发者可以从SDK目录下的\tools\proguard目录中进行查看。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测
2016-09-20 10:56:23
1157
原创 String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String
2016-09-14 09:59:19
1501
转载 getResources().getDisplayMetrics().density 的理解
网上别人的代码 用于px和dp相互转换import android.content.Context; public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) {
2016-09-12 22:03:43
16178
2
转载 Android中通过typeface设置字体
Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace",除此之外还可以使用其他字体文件(*.ttf)方法一:XML中使用android默认字体使用默认的sans字体--> Android:text="Hello,World" Andr
2016-09-12 09:44:51
421
转载 computeScroll
computeScroll:主要功能是计算拖动的位移量、更新背景、设置要显示的屏幕(setCurrentScreen(mCurrentScreen);)。重写computeScroll()的原因调用startScroll()是不会有滚动效果的,只有在computeScroll()获取滚动情况,做出滚动的响应computeScroll在父控件执行drawChild时,会调用这
2016-09-11 23:44:28
2276
转载 安卓‘进度条ProgressBar’中‘setIndeterminate()’方法的辨析
在进度条的设置中,setIndeterminate()方法是用来设置进度条是否采用‘模糊模式’(这是我杜撰的名称,但意思没 错,Indeterminate的意思就是‘不确定的,模糊的,不明确的’)当设置setIndeterminate(true)参数为真时,进度条采用不明确显示进度的‘模糊模式’,当设置setInd
2016-09-09 14:58:48
2855
转载 ViewConfiguration.getScaledTouchSlop () 用法
转自——http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0225/907.html摘要 getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。 /** * 包含了方法和标准的常量用来设置UI的超时、大小和距离 */ public class ViewConfig
2016-09-02 10:37:50
402
原创 Android自定义dialog并实现失去焦点,activity获取焦点的功能
前言:由于在项目中需要用到更新显示动画的需求,所以想到了dialog,自定义dialog不难,网上教程很多,但是在实现dialog背景透明的需求时,遇到了一点问题,网上的一些方法在我的机器上并没有实现,只能曲折中找到了另一个方法实现。虽然有点麻烦,但毕竟效果不错。此方法写在这里,一是和各位分享,二是做个记录,留待以后需求。不说了,上代码:下面是dialog自定义布局文件,是
2016-08-31 13:31:08
10949
1
转载 android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
涉及到滑动,就涉及到VIEW,大家都知道,Android的UI界面都是由一个一个的View以及View的派生类组成,View作为基类,而常用的布局里面的各种布局就是它派生出来的ViewGroup的子类,ViewGroup作为各个组件的容器搭建了整体的UI。以下是android UI的结构示示意图:查看源码[java] view plain copy
2016-08-31 10:52:52
479
转载 【移动开发】View的scrollTo()和scrollBy()区别
首先,需要知道的是,View是可以延伸到屏幕之外的,可以想象一下ListVIew或GridView。也就是说View的尺寸可以超过屏幕的尺寸。View的大小就是onDraw()中Canvas画布的大小。Canvas可以做translate()、clipRec()t等变换,可以说Canvas是无边界的。而我们在屏幕上所见到的,只是Canvas的一部分而已。可以调用View的scrollTo()和sc
2016-08-31 10:49:15
461
转载 android MotionEvent中getX()和getRawX()的区别
public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0;
2016-08-31 09:21:34
304
转载 RectF Rect用法
一、Canvas类android.graphics.Canvas Canvas类好比手机中的画纸,我们可以在Canvas上画图形或者图像。一般我们用android来绘画的时候,需要四个组成部分: 1、位图:包含像素 2、Canvas画板:包含绘画内容,写入位图 3、初始图形:如Rect、Bitmap、text等 4、Paint:用来描述上面初始图形的颜色和类型等 Can
2016-08-30 20:54:10
661
原创 TextView显示人民币符号¥
这真的是个鸡肋的问题,如果你复制上面的人民币符号到你的TextView中,显示出来的效果是这样的 。网上有很多种复杂的解决方案,什么修改字体啥的,我也是服了,那我还不如去换个图片呢。简单暴力的解决方法,复制下面这个符号:¥ 到你的代码中,就不会了。眼尖的就能看出这两个符号的区别,但由于csdn也识别不出来,配个截图给你们看看,这可是我珍藏的。,一个大一个小。 左边
2016-08-30 10:08:05
1011
转载 详解Paint的各种set方法
一、前言 我们用set方法来设置画笔的样式,类似于我们挑选画笔画画的过程。由于上面有些方法不支持硬件加速,所以在高版本系统中可能会没有效果。因此,我们首先来看看官方废弃的方法。下图来自:https://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported当你要使用打叉
2016-08-29 22:45:25
1342
转载 Android画图最基本的三个对象(Color,Paint,Canvas)
简述:Android画图最基本的三个对象(Color,Paint,Canvas)三个类都存放在 android.graphics包下1) Color :颜色对象,相当于现实生活中的 ‘调料’2) Paint : 画笔对象,相当于现实生活中画图用的 ‘笔’————主要的还是对‘画笔’进行设置3) Canvas : 画布对象,相当于现实生活中画图用的 ‘纸 或
2016-08-29 16:21:00
518
原创 更新AndroidStudio后,运行原来可以运行的程序时,出现 Error running app: Instant Run requires 'Tools | Android | Enable A
错误描述如下图所示:解决方法如下: 在菜单栏中选择:Tools -> Adnroid -> Enable ADB integration ,勾选之后,再运行程序就可以了。
2016-08-28 23:42:36
600
1
转载 Android中Path类的lineTo方法和quadTo方法画线的区别
当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的lineTo和quadTo方法实现的绘制线路形式也是不一样的,下面就以代码的实现来直观的探究这两个方法的功能实现区别; 1. Path--->quadTo(float x1, float y1, float x2, float y2): 该方法的实现是当我们不仅仅是画一条线甚至是画弧线时会形成平滑
2016-08-27 17:16:25
851
原创 object-c 占位符
SpecifierDescription%@Objective-C object, printed as the string returned by descriptionWithLocale: if available, or description otherwise. Also works with CFTypeRef objects, retu
2016-08-25 21:17:50
373
转载 常用快捷键 特别是格式化代码ctrl+i
不泛泛的把所有快捷键列出来了,只记录几个我常用的快捷键,希望给像我一样的xcode入门者点帮助:cmd键(键盘ctrl和alt中间的那货) option键就是Alt键常用1. cmd + c 复制2. cmd + v 粘贴3. cmd + z 撤销编译1. cmd + b 编译但不运行2. cmd + r 编译并直接运行
2016-08-25 21:05:05
2119
转载 Android沉浸式状态栏SystemBarTint的使用方法
什么是沉浸式状态栏Android从4.4开始支持这种显示效果,直接看对比图:从上图可以看到左边淘宝APP最顶部的状态栏背景是黑色的,而右边的360手机助手那个位置不是黑色,就是用了沉浸式状态栏这种效果。SystemBarTint的使用那么如何给应用加上这种效果呢? SystemBarTint是两年以前的一个开源库,现在我们依然可以用它很方便的给应用加上。
2016-08-23 14:24:52
444
转载 SystemBarTint的使用(设置半透明状态栏)
1.在系统是4.4以上的系统,包括4.4开始可以设置半透明的状态栏了代码:[html] view plain copyif(VERSION.SDK_INT >= VERSION_CODES.KITKAT) { //透明状态栏
2016-08-23 14:18:12
877
转载 Android 使用SystemBarTint设置状态栏颜色
做项目时,发现APP的状态栏是系统默认的颜色,突然想到,为啥别的APP是自己设置的颜色(和APP本身很相搭),于是也想给自己的APP设置系统状态栏的颜色,更加美美哒。。。 搜了下,发现原来设置状态栏居然有个很高大上的名字(听不懂的都是高大上)——沉浸式状态栏,Android4.4以后开始支持沉浸式状态栏, 继续搜索,发现,有一个很简单的开源项目——SystemBarTint,可以很完美的
2016-08-23 14:06:47
391
转载 Android使用fitsSystemWindows属性实现–状态栏【status_bar】各版本适配方案
Android使用fitsSystemWindows属性实现–状态栏【status_bar】各版本适配方案 首先我们看下qq的status bar在各个android版本系统中适配:1.Android5.0以上:半透明(APP 的内容不被上拉到状态) 2.Android4.4以上:全透明(APP 的内容不被上拉到状态) 3.Android4.4以下:不占据sta
2016-08-23 13:27:26
496
原创 android:clipToPadding和android:clipChildren
假设我们要做一个效果,界面最顶部是一个ActionBar并且是半透明的,ActionBar下面是一个ListView,在初始状态 下,ListView是top是在ActionBar的bottom位置的,但当ListView滚动的时候可以透过ActionBar看到下面的 ListView的内容。如下面两张图所示:正常态:滚动态:乍一看,不是很简单吗,只
2016-08-23 11:44:15
256
转载 系统去掉 Android 4.4.2 的StatusBar和NavigationBar
1. System Bar简介 在Android4.0 (API Level 14)及更高版本中,System Bar由Status Bar和Navigation Bar组成。 在Android的官方网站已经详细讲解了如何Hdie Status Bar和Navigation Bar。 本文化讲述如何在系统中Hide Status Bar和Navigat
2016-08-23 11:13:47
306
转载 android onUserLeaveHint和onUserInteraction
android onUserLeaveHint和onUserInteractiononUserLeaveHint 当用户的操作使一个activity准备进入后台时,此 方法会像activity的生命周期的一部分被调用。例如,当用户按下 Home键, Activity#onUserLeaveHint()将会被回调。但是当来电导致来电activity自动占据前台,Activity#
2016-08-19 10:37:43
1078
原创 Android常用系统广播
查看详情://关闭或打开飞行模式时的广播Intent.ACTION_AIRPLANE_M;//充电状态,或者电池的电量发生变化;//电池的充电状态、电荷级别改变,不能通过组建声;Intent.ACTION_BATTERY_CH;//表示电池电量低Intent.ACTION_BATTERY_LO;//表示电池
2016-08-18 10:31:27
229
转载 Android 中的Activity、Window、View之间的关系
一、概述 Activity 可以说是应用程序的载体(也可以理解为界面的载体,但是不界面),用户能够在上面绘制界面(Activity本身不绘制界面),并提供用户处理事件的API,维护应用程序的生命周期(Android应用程序是由多个 Activity 堆积而成,而各个 Activity 又有其独立的生命周期)。 Activity内部组合了一个Window(
2016-08-16 15:35:21
468
转载 Activity中UI框架基本概念
Activity 是应用程序的基本组成部分,提供了可视的界面,与用户进行交互;具体Acitivity是怎么样显示这些事视图元素以及响应事件交互的。一Activity相关概念Activity:Activity包含一个Window,该Window在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建;View:最基
2016-08-16 14:54:19
218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人