自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Data的博客

Everything is data

  • 博客(75)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mac 下 Android Studio 连 夜神模拟器 调试

1、运行夜神模拟器(自行搜索下载)2、进入资源目录$ cd /Volumes/Macintosh-HD/Applications/Nox\ App\ Player.app/Contents/MacOS3、执行命令连接adb connect 127.0.0.1:62001...

2019-01-29 17:40:15 1001

原创 Android 面试题 2018

算法冒泡排序,两两排序,从后向前,大的向后,小的向前,时间复杂度O(n2)     优化 选择排序 :无序数组,第一次遍历n-1个数,找到最小的数值与第一个元素交换;第二次遍历n-2个数,找到最小的数值与第二个元素交换;。。。第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。O(n2) java代码实现插入排序 O(n2)  Java code快速排...

2018-11-29 23:25:20 640 1

原创 Android Studio 设置生成文件时自动加上作者和日期

2018-02-27 17:37:45 4982

转载 Android studio & lint 代码检查设置

Android stuido作为google官方推荐的Android开发IDE,提供了一整套强大的静态代码分析工具,使用它们可以很好地帮助我们进行更加规范的开发。从一个常见的场景入手吧。几乎所有的开发团队的代码规范里面都有这么一条:不允许在布局文件中进行hardcode,原因参加见:stackoverflow为了达到上面的目的,我们可以通过设置AS的code inspections来设置静态

2018-02-05 17:50:09 4611

转载 Throwable类

概述Throwable是java.lang包中一个专门用来处理异常的类。它有两个子类,即Error 和Exception,它们分别用来处理两组异常。Error用来处理程序运行环境方面的异常,比如,虚拟机错误、装载错误和连接错误,这类异常主要是和硬件有关的,而不是由程序本身抛出的。Exception是Throwable的一个

2017-12-13 10:06:09 1231

转载 Throwable和Exception的区别

Java语言要求java程序中(无论是谁写的代码)所有抛出(throw)的异常都必须是从Throwable派生而来。当然,实际的Java编程中,由于JDK平台已经为我们设计好了非常丰富和完整的异常对象分类模型。因此,java程序员一般是不需要再重新定义自己的异常对象。而且即便是需要扩展自定义的异常对象,也往往会从Exception派生而来。所以,对于java程序员而言,它一般只需要在它的顶级函数中

2017-12-12 14:32:36 652

转载 Android开发中isTaskRoot方法的使用情景

在android开发中,难免会遇到各种奇葩的问题。比如在开发过程中,安装完成一个app时,在安装界面直接点击打开。我们进入了app的首页,这时我们按home键返回桌面,再点击应用图标,会发现没有直接进入首页,而是先进入了app的闪屏页,在进入首页。重复这一步一直如此。这时我们按back键返回,发现没有直接退回桌面,而是返回到之前打开的多个首页。但是如果一开始安装完我们不是直接打开,而是在桌面点击应

2017-12-11 11:28:57 280

转载 为什么Java内部类要设计成静态和非静态两种?

静态内部类的作用:只是为了降低包的深度,方便类的使用,静态内部类适用于包含类当中,但又不依赖与外在的类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。

2017-12-11 10:22:44 730

转载 掌握自定义 LayoutManager(一) 系列开篇 常见误区、问题、注意事项,常用 API。

本系列文章相关代码传送门: 自定义LayoutManager实现的流式布局 欢迎star,pr,issue。本系列文章目录: 掌握自定义LayoutManager(一) 系列开篇 常见误区、问题、注意事项,常用API。 掌握自定义LayoutManager(二) 实现流式布局概述这篇文章是深入掌握自定义LayoutManager系列的开篇,是一份总结报告。部分内

2017-11-08 11:39:35 494

转载 Android Design Library之二: BottomNavigationView

BottomNavitagionView出现之前,我们首先底部的导航栏大多是使用RadioGroup+RadioButton的特性来实现。现在官方为我们提供了另外的一条路。先来尝试下。Demo打开官方文档里面就有示例程序,比着敲一遍,看下效果。 android.support.design.widget.BottomNavigationView android:

2017-11-03 11:30:05 267

转载 synchronized锁住的是代码还是对象

在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:class Sync {        public syn

2017-11-01 10:25:43 239

转载 使用AndroidAnnotations时@AfterViews方法被调用两次的问题

AndroidAnnotations是android快速开发的一个开源库。不知道的可自行百度。 因为要新增一个用户信息的查看页面,于是偷懒拷贝了用户信息编辑的Activity。然后新建了layout文件,顺手就配置到新的activity里了。@EActivity(R.layout.user_viwer)public class UserViewerActivity extends Bas

2017-09-18 14:55:53 538

转载 ALiBABa fastjson去除JSON对象不需要的属性字段

引入包:[java] view plain copyimport com.alibaba.fastjson.JSON;  import com.alibaba.fastjson.JSONObject;  TEST测试用例:[java] view plain copy

2017-08-09 14:39:47 7056

转载 Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)

笔者目前使用的Gradle配置描述如下:配置划分:defaultConfig 默认配置signingConfigs 签名信息配置buildTypesproductFlavors打包apk重命名dependencies 依赖配置详细配置:1,defaultConfig 默认配置defaultConfig { //项目包名配置 applicationId

2017-07-20 16:12:13 643

转载 通过配置Flavors和自定义buildConfigField进行多个服务器地址打包

通过配置Flavors和自定义buildConfigField进行多个服务器地址打包    productFlavors{ } 是配置多渠道打包的.       1).productFlavors{ } 与 buildTypes{ }里面的配置是多对多的关系。            2).productFlavors{ } 其实是defaultConfig{ }的子集

2017-07-20 16:09:17 1613

转载 Gradle Build Variants for your android project

When developing an app, you usually have many slightly different versions of this app. The most common example is probably the backend you want to use: production or staging.You usually define the

2017-07-20 14:36:21 1040

转载 An Android Studio Gradle Build Variants Example

The goal of this chapter is to use the build variants feature of Android Studio to create a project which can be built in two flavors designed to target phone and tablet devices respectively. The buil

2017-07-20 14:35:19 721

转载 build Variants创建不同配置的app(图文详解)

现象描述开发一个app避免不了在多种环境下运行,比如开发环境、测试环境、正式环境,而根据不同环境要配置不同的变量,在以前,我都是通过注释相关代码实现的,显然这样比较麻烦。 进入正题,那么如何可以一键更改配置呢?步骤一:配置build.gradle文件的productFlavors节点 productFlavors { moon {//配置的名称,可以

2017-07-20 10:15:40 5037

转载 Why would I want to fitsSystemWindows?

System windows are the parts of the screen where the system is drawing either non-interactive (in the case of the status bar) or interactive (in the case of the navigation bar) content.Most of the

2017-07-18 16:17:42 422

转载 NavigationView获取Header View的问题

NavigationView是Google推出的MD风格支持库里的主要控件之一,一般与DrawerLayout结合使用提供侧滑菜单。NavigationView的header布局中常用来放置用户头像、用户名等信息,所以我们必须获取到header布局中的view。最近在使用NavigationView的时候遇到无法通过findviewbyid方法获取header布局的问题(返回值是null)

2017-07-18 14:48:20 543

转载 Android开源库V - Layout:淘宝、天猫都在用的UI框架,赶紧用起来吧!

前言V- Layout 是阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用让人激动的是,在上个月V- Layout终于在Github上开源!Github - alibaba - vlayout在五一假期我对V- Layout进行了详细分析,我将献上一份 V- Layout的使用攻略

2017-07-14 14:56:31 676

转载 【双语】使用ConstraintLayout构建响应式UI(Build a Responsive UI with ConstraintLayout)

作者: weiyf时间:2017-03-10原文链接:https://developer.android.com/training/constraint-layout/index.htmlConstraintLayout允许你使用平面view层次结构去创建一个大而复杂的布局(没有嵌套的view groups)。它类似于RelativeLayout,其中所有的view都是根据兄弟

2017-07-14 11:30:28 803

转载 ItemDecoration解析(三) 实现stickyHeader效果

前两篇介绍完了ItemDecoration的基本用法。这次打算用ItemDecoration做点好玩的——实现stickyHeader效果。如图:我们从动画可以看出,其实头部有种,一种跟ItemView在同一层级,类似一个不同type的Item;另外一个始终保持在最上层,并且滑动到每组的最后一个item时,会有一个被顶上去,或者被拉下来的效果。我们继续分析下,应该如何实现:

2017-07-14 10:19:13 442

转载 ItemDecoration解析(二) onDraw onDrawOver

上篇文章介绍了利用ItemDecoration的getItemOffsets方法来设置每个ItemView的间隔,这篇文章继续介绍下ItemDecoration剩下的两个方法(未过时的)——onDraw和onDrawOver。在官方的开发文档中有指出,onDraw是在itemview绘制之前,onDrawOver是在itemview绘制之后。All ItemDecorations ar

2017-07-14 10:16:23 1251

转载 ItemDecoration解析(一) getItemOffsets

介绍An ItemDecoration allows the application to add a special drawing and layout offset to specific item views from the adapter's data set. This can be useful for drawing dividers between items, hig

2017-07-14 10:13:31 4742

原创 NestedScrollView onClick事件不能正常工作

问 题我用NestedScrollView与CoordinatorLayout,使滚动动画工具栏。(由应用程序:layout_scrollFlags =“滚动| enterAlways”)NestedScrollView包含的LinearLayout作为根的孩子,我把2 TextViews到LinearLayout中,使展开/折叠动画。一个设置可见 而另一个被设置为

2017-04-27 16:18:18 2550

转载 创建java类中类出现is not an enclosing class

[java] view plain copy public class A {      public class B {                }  };  需要实例B类时,按照正逻辑是,A.B ab = new A.B();那么编译器就会出现一个错误--"is not an enclosing class"再翻看相

2017-04-18 15:03:41 96550 3

原创 ViewPager 调用 notifyDataSetChanged()无刷新

一、原理  所以还是有针对性的去看源码,效率会高一些。  废话不多说,先看第一个示例。 Viewpager在调用notifyDataSetChanged()时,界面无刷新。  相信很多做过Viewpager的同学肯定遇到过这个问题,这个是bug还是android就是如此设计的,我们不做讨论。总之,它确实影响我们功能的实现了。  可能不少同学选择为Viewpa

2017-04-17 13:45:19 550

转载 Android布局中xml和java效率比较

Android 布局中有xml和Java代码两种方式,xml简单、直观、可见,也符合MVC结构。java代码布局灵活、但是代码量不少。结合项目需求,一般是两种布局方式混用。今天,不讨论什么时候用那种,讨论下这两种方式,那种效率更高。猜测:效率方面,因为xml涉及到xml解析,即便是打包apk时已经对xml进行了编码,但是相比内存中直接创建UI布局,效率还是会更低些。下面用代码对比测试:

2017-03-24 10:33:23 2581

转载 使用DashPathEffect绘制一条动画曲线

引言以前在做曲线图的时候,一直想实现曲线动态绘制的效果。类似于js图表库中的效果:http://www.highcharts.com/demo/spline-symbols那个时候没有安卓中没有任何一个原声的图表库实现了这种效果。不管是aChartEngine,还是后来的MPAndroidChart,HelloCharts都没有在曲线图方面做到很好的展示效果。HelloCharts以及

2017-03-22 09:44:41 1225

转载 Android 系统状态栏沉浸式/透明化完整解决方案

前言网上已经有很多有关于系统状态栏的解决方案,这篇文章也不会有什么新奇的解决方案,都是本人经过自己试验,统计提炼出来的相对靠谱的一套解决方案.如果是android大牛可以忽略本文,怕让您贱笑.只面向小白,帮助小白减少摸索的时间.关于术语网上有很多争论:你这状态栏是变色龙状态栏,不是沉浸式的这应该是沉浸式的状态栏吧,系统栏与actionbar颜色设为一致我

2017-03-16 14:33:26 925

转载 Android数据库greenDAO框架用法和源码分析

greenDAO简介greenDAO是一种Android数据库ORM(object/relational mapping)框架,与OrmLite、ActiveOrm、LitePal等数据库相比,单位时间内可以插入、更新和查询更多的数据,而且提供了大量的灵活通用接口。如何开始greenDAO需要提前生成Entity、DAO等文件,因此需要先建立一个java工程用于生成上述文件。具

2017-03-07 14:23:23 212

转载 Git 提示fatal: remote origin already exists 错误解决办法

今天使用Git 添加远程github仓库的时候提示错误:fatal: remote origin already exists. 最后找到解决办法如下: 1、先删除远程 Git 仓库$ git remote rm origin2、再添加远程 Git 仓库$ git remote add origin [email protected]:FBing/Java-c

2017-03-04 20:34:11 591

转载 Toolbar中Menu中图标不显示的问题

menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > item android:id="@+id/item_action_share" android:icon="@d

2017-03-03 16:28:51 1751

原创 添加xxx库混淆配置

添加xxx库混淆配置

2017-03-03 16:16:39 293

转载 toolbar中设置menu收起图标颜色以及popupwindow弹出位置

1、设置menu收起图标颜色,就是那三个点的图标,默认的如果使用light style 就是 黑色的,如果使用 dark style 就是白色的。 如何能够自定义颜色? -- Base application theme. --> name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> -- Custo

2017-03-03 16:05:44 3168 1

转载 FreeLine实现Android的秒级编译

一、使用步骤1.安装plugin:安装完后AS上就有一个freeline的编译按钮了。2.配置Project以及Module的gradlebuildscript { repositories { jcenter() } dependencies { classpath 'com.antf

2017-03-02 11:39:07 379

转载 ViewPager限定预加载的页面个数setOffscreenPageLimit(int limit)

ViewPager里面还定义了一个     private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;默认值 是1,这表示你的预告加载的页面数量是1,假设当前有四个Fragment的tab,显示一个,预先加载下一个.这样你在移动前就已经加载了下一个界面,移动时就可以看到已经加载的界面了. 从日志里面可以看到onActivityC

2017-03-01 16:20:50 652

原创 Android继承AppCompatActivity后实现全屏设置

现在越来越多的Android开发人员使用Android studio,使用Android studio创建新项目后Activity默认继承的是AppCompatActivity(我用的Android studio 版本是1.5.1)。那么问题来了,在此种情况下Activity该如何设置全屏呢?好多人都知道设置全屏的方式有两种:一、在manifest.xml文件里面设置notitle的主

2017-03-01 15:12:17 1298

转载 AndroidStudioTip--用Builder模式替代构造方法

Builder模式并不少见,Effective Java 书中作者也有讲解,主要解决构造函数或方法的参数太多。在Android开发中,比如Android的AlertDialog 和许多三方库组件一般都提供一个Builder,然后方法链式让你set各个参数这里不是讲解Builder,而是给大家分享一个AndroidStudio小技巧 帮你快速替换成Builder模式,生成一个Buil

2017-02-28 18:01:29 287

unity3D拼图游戏

Unity3d做的拼图小游戏,简单易上手,适合新手看看

2012-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除