#LocalDateTime 比较大小 计算两个LocalDateTime的时间差时分秒 实体用的都是 年月时间 格式 以下是LocalDateTime 比较方...
特定日期的取得 LocalDateTime nowLocalDateTime = LocalDateTime.now(); L...
/** * Java8时间方法LocalDate和LocalDateTime * getYear() int 获取当前日期的年份 * getMonth() Month 获取当前日期的月份对象
本来源代码如下: List model; //自定义的一个List数据,存储的是自定义的类 LunchListAdapter
文章提要与总结 ---- SwipeRefreshLayout 1.SwipeRefreshLayout即是实现下拉刷新功能的核心类,它由support-v4库提供的; 2.把想要实现下拉刷新功能的控件放置到...setRefreshing()并传入false,表示刷新事件结束同时隐藏刷新进度条; 正文 ---- SwipeRefreshLayout SwipeRefreshLayout即是实现下拉刷新功能的核心类,...> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android...android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width...app:menu="@menu/nav_menu" app:headerLayout="@layout/nav_header"> android.support.design.widget.NavigationView
下面我就总结一下侧滑菜单实现的4种方式: 一、自定义ViewGroup ,处理其onTouch事件 ---- 二、FrameLayout + 手势处理类GestureDetector ---- 三、使用...NavigationView演示.gif 请看代码,具体的我也不多说了: import android.os.Bundle; import android.support.design.widget.NavigationView...> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android...="match_parent" /> android.support.design.widget.NavigationView android:id="@+id...> android="http://schemas.android.com/apk/res/android"> android:checkableBehavior
其中, scroll 表示当RecyclerView向上滚动时,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways 表示当RecyclerView向下滚动时...> android.support.design.widget.NavigationView android:id="@+id/nav_view" android...> android.support.v4.widget.DrawerLayout> 接着定义一个实体类Fruit,方便后面存取数据: public class Fruit { private...> android.support.design.widget.NavigationView android:id="@+id/nav_view" android...其中, scroll表示当RecyclerView向上滚动时,Toolbar会跟着一起向上滚动并实现隐藏; enterAlways表示当RecyclerView向下滚动时,Toolbar会跟着一起向下滚动并重新显示
为Layout resourcefile; 2.3 使用NavigationView 添加android.support.design.widget.NavigationView...> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android...app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> android.support.design.widget.NavigationView...headerLayout="@layout/nav_header"> android.support.design.widget.NavigationView> android.support.v4...接着调用了setNavigationItemSelectedListener()方法来设置一个菜单项选中事件的监听器,当用户点击了任意菜单项时,就会回调到onNavigationItemSelected
谷歌官方推出了一种侧滑菜单的实现方式(抽屉效果),即 DrawerLayout,这个类是在Support Library里的,需要加上android-support-v4.jar这个包。...使用注意点 1、DrawerLayout的第一个子元素必须是默认内容,即抽屉没有打开时显示的布局(如FrameLayout),后面紧跟的子元素是抽屉内容,即抽屉布局(如ListView)。....widget.DrawerLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout...> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"..." android:textSize="30sp" /> android.support.design.widget.NavigationView
在Java 8之前,如果想将行为传入函数,仅有的选择就是匿名类,需要6行代码。而定义行为最重要的那行代码,却混在中间不够突出。Lambda表达式取代了匿名类,取消了模板,允许用函数式风格编写代码。...— Java8 lambda表达式10个示例 阅读完上面的文字估计也不是特别明白,对于我们日常开发Android,就是简化了匿名函数的使用,可以简单通过下面的示例来感受一下,如果你有更深的兴趣,文末有更多搜集的资料供你阅读...Lamdba示例 用lambda表达式实现Runnable 使用lambda表达式可以替换匿名类,而实现Runnable接口是匿名类的最好示例。...只需要用() -> {}代码块替代整个匿名类。...下面是一些为想了解更多Lamdba使用方法的朋友搜集的资料以及本文参考的文章: jdk1.8新特性之lambda表达式及在Android Studio中的使用 Java8 lambda表达式10个示例
> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android.../tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android...match_parent" android:layout_height="match_parent" /> android.support.design.widget.NavigationView...android:id="@+id/nav_view" android:layout_width="wrap_content" android.../reference/android/support/design/widget/NavigationView.html image.png 这些方法都是对抽屉布局上的菜单和头布局进行操作时可以使用的
因此想到了在Android端用mysql-connector-java驱动包直接访问服务器上的数据库(首先说明这是可行的)。...于是去Mysql官网找到了最新版的jar包下载,直接把mysql-connector-java-5.1.40-bin.jar(开发版最新为6.0.5)引入Android工程,(我用的是Android Studio...)Build没有任何问题,但是在构建APK的时候出错了,错误也就是文章开头那个。...错误的意思大概是这个包不支持Java8(52是Java8的字节码版本号),需要你去build.gradle里手动修改项目的兼容性到1.7。网上查了很多很多资料都是这个解决办法,然而并无用。...直接用低版本的比如mysql-connector-java-5.1.36-bin.jar引入Android工程即可,成功立竿见影。
在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试者,如果知晓这些变化,又将成为面试中的亮点。...比如,符号引用(Symbols)转移到了Native Memory;字符串常量池(interned strings)转移到了Java Heap;类的静态变量(class statics)转移到了Java...针对Java8的调整,我们再次对内存结构图进行调整。...看上图中的方法区,是不是“膨胀”了。 默认情况下元空间是可以无限使用本地内存的,但为了不让它如此膨胀,JVM同样提供了参数来限制它使用的使用。...当使用元空间时,可以加载多少类的元数据就不再由MaxPermSize控制, 而由系统的实际可用空间来控制。
比如,符号引用(Symbols)转移到了Native Memory;字符串常量池(interned strings)转移到了Java Heap;类的静态变量(class statics)转移到了Java...元空间(Metaspace) 对于Java8,HotSpots取消了永久代,那么是不是就没有方法区了呢?当然不是,方法区只是一个规范,只不过它的实现变了。...针对Java8的调整,我们再次对内存结构图进行调整。 ?...看上图中的方法区,是不是“膨胀”了。 默认情况下元空间是可以无限使用本地内存的,但为了不让它如此膨胀,JVM同样提供了参数来限制它使用的使用。...当使用元空间时,可以加载多少类的元数据就不再由MaxPermSize控制, 而由系统的实际可用空间来控制。
而在 DrawerLayout 没诞生之前,需求中需要实现侧滑导航效果时,我们通常会选择去选择一些成熟的第三方开源库(如最有名的 SlidingMenu)来实现类似的效果。...DrawerLayout的监听事件 new DrawerLayout.DrawerListener(){…} Google为我们提供了DrawerLayout常用的API,比如打开或者关闭侧滑栏、控制侧滑栏的方向、设置滑动时渐变的阴影颜色和监听滑动事件等...="true"> android.support.design.widget.NavigationView android:id="@+id/navigation...:gravity="center" android:text="NavigationDrawerContent" /> LinearLayout> android.support.design.widget.NavigationView...package com.turing.navigationdrawer; import android.os.Bundle; import android.support.design.widget.NavigationView
Android平台不支持Java8,如果我们想在Android项目中使用Lambda表达式、Stream API等Java8中的新特性就必须使用Retrolambda、Lightweight-Stream-API...现在Google爸爸终于让Android平台支持Java8了,这篇文章中便来和大家聊聊如何在Android项目中配置使用Java8。...遗憾的是目前Android平台仅支持Java8的部分新特性,当我们在开发面向Android N及以上版本的应用时(即minSdkVersion>=24),可以使用如下新特性: Lambda表达式(Lambda...Jack(Java Android Compiler Kit) 要想在Android项目中使用Java8的新特性,需要将你的Android Studio升级到2.1及以上版本,并采用新的Jack(Java...比如之前我们实现button的点击事件时需要这这样写: button.setOnClickListener(new View.OnClickListener() { @Override
前言:好多 Android 开发者都在说Android Studio太坑了,老是出错,导致开发进度变慢,出错了又不知道怎么办,网上去查各种解决方案五花八门,有些可以解决问题,有些就是转来转去的写的很粗糙...Android Studio第一次启动时出现 unable to access android sdk add-on list ?...解决办法: 找到报错的那个提示,看上面报错的是哪个类,双击shift搜索一下,看这个报错的类在哪个依赖库里面用到了。...解决办法:升级Gradle到合适版本,具体操作如下: 【特别说明】Android Studio版本和gradle版本是相匹配的,不是随意匹配的,版本不匹配就会出错。...AS 2.X如何支持java8?
今天我们盘点一下目前仍然可用的、相对功能很强大的Java反编译工具(Eclipse插件不做评价),比较老的反编译工具很难支持Java8及其以上版本。...如反编译匿名类、内部类、Java8 Lambda等等。...Procyon-Decompiler支持JDK1.8类的反编译,在很多方面做得非常不错:字符串的Switch、枚举声明方面、注解方面、匿名类、内部类、Java8新接口规范、Java8 Lambda表达式...、Java8 方法传递等。...3、Android反编译gui工具Jadx jadx是一款Android反编译gui工具,它支持apk、dex、jar、class、zip、aar等文件。
是匿名函数的别名,Java8后开始引入Lambda表达式.而Android方面Android Studio 2.4 Preview 4 及其之后完全的支持lambda 表达式,如果是之前版本就需要借助插件和编译器了...2.3 方法数量差异 当前 Android Studio 对 Java 8 新特性编译时采用脱糖(desugar)处理,lambda 表达式经过编译器编译后,每一个 lambda 表达式都会增加 1~2...而 Android 应用的方法数不能超过 65536 个。虽然一般应用较难触发,但仍需注意。 2.4 默认方法 在Java语言中,一个接口中定义的方法必须由实现类提供实现。...但是当接口中加入新的API时, 实现类按照约定也要修改实现,而Java8的API对现有接口也添加了很多方法,比如List接口中添加了sort方法。...如果按照之前的做法,那么所有的实现类都要实现sort方法,JDK的编写者们一定非常抓狂,那应当怎么办呢? 在Java8种引入新的机制,支持在接口中声明方法同时提供实现。
第1步:创建自定义视图类。...方法,以告知Spyglass框架在视图膨胀时将属性值路由到此方法。...Spyglass注释,Spyglass框架将在编译时检测它并自动生成setTitle类。...现在,当您从XML实例化类时,Spyglass伴侣会解释属性并进行所需的方法调用。 例如,如果我们膨胀以下布局,则将使用”Hello, World!”作为参数调用setTitle。...xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:app=”http://schemas.android.com/apk/