自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (8)
  • 收藏
  • 关注

原创 学习笔记-Java基础:并发

Thread的状态Java中线程的状态分为6种:1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得CPU时间片后变为运行中状态(running)。

2020-12-29 13:17:30 178

原创 学习笔记-Java基础:Thread

线程启动启动方式有两种:1、x extends Thread;,然后X.start2、X implements Runnable;然后交给Thread运行Thread与Runnable区别Thread和 Runnable 的区别 Thread才是Java里对线程的唯一抽象,Runnable只是对任务(业务逻辑)的抽象。Thread可以接受任意一个Runnable的实例并执行。如何终止一个线程安全的中止则是其他线程通过调用某个线程A的 interrupt()方法对其进行中断操作,中

2020-12-27 17:08:32 189

原创 学习笔记-Java基础:代理模式

代理(Proxy)是一种设计模式,提供了间接对目标对象进行访问的方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的功能上,增加额外的功能补充,即扩展目标对象的功能.这就符合了设计模式的开闭原则,即在对既有代码不改动的情况下进行功能的扩展。代理模式的关键点是:代理对象与目标对象.代理对象是对目标对象的扩展,并会调用目标对象静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.静态代理模式一般会有三个角色:抽象角色:指

2020-12-25 16:37:48 202

原创 学习笔记-Java基础:注解与反射

电风扇等方式

2020-12-25 13:21:05 123

原创 学习笔记-Java基础:泛型

什么是泛型?Java泛型(generic)是JDK5中引入的一个新特性,泛型提供了编译时类型安全监测机制。该机制允许程序在编译时检测非法的类型。泛型的本质是参数类型,即所操作的数据类型被指定为一个参数,注意泛型不存在与JVM虚拟机。为什么使用泛型?1.泛型具有更强的类型检查,可以增强编译时错误检测,减少因为类型问题引发的运行时异常。2.泛型可以避免类型转换。3.通过使用泛型,可以实现泛型算法,这些算法可以处理不同类型的集合,可以自定义,并且类型安全且易于阅读,可以增加代码复用性。泛型

2020-12-23 10:17:03 178 1

转载 JDK1.8接口的新特性

JDK1.8之前接口:常量(必须赋值)抽象方法abstract(和final static private三个关键字冲突)interface Inter { //int a ; //编译报错 常量必须要赋值不能使用默认值。 int a = 10; // 前面有默认修饰符 public static final //void show(){} //编译报错 抽象方法必须没有方法体 void show(); //前面有默认修饰符 public abstract

2020-08-30 17:43:28 320

原创 JDK7和JDK9关于Try-Catch的使用

JDK7的新特性:可以在try后边加一个(),在括号中引入对象,此对象的作用域是整个try代码中,以文件输入输出流为例,可以在()中引入文件输入流/输出流,在try中代码执行完毕之后,会自动释放资源,不用再调用close释放资源。格式:try (定义流对象; 定义流对...;) { //可能会产生异常的代码 } catch (异常类变量 变量名) { //异常处理的逻辑 }JDK9中try…c...

2020-08-30 16:39:54 436

原创 JDK9新特性-对集合的优化_of方法

JDK9的新特性:List接口、Set接口、Map接口:增加了一个静态方法of,可以给集合一次性添加多个元素static <E> List<E> of(E... elements)使用前提:当集合中存储的元素个数已经确定,不在改变时使用。注意:1.of方法只适用于List接口、Set接口、Map接口. 2.of方法的返回值是一个不能改变的集合,集合不能在使用add、put方法添加元素,否则会抛出异常。 3.Set接口...

2020-08-30 12:26:33 305

原创 Java日期转换SimpleDateFormat

Java时间处理日期和时间模式日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 ‘A’ 到’Z’ 和’a’ 到’z’ 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (‘) 引起来,以免进行解释。””” 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。定义了以下模式字母(所有其他字符’A’ 到’Z’ 和’a’ 到’z’ 都被保留):字母 日期或时间元素 类型 示

2020-08-30 11:11:05 269

原创 调用List接口要重写equals方法

List提供了很多便捷的方法,如boolean contains(Object o);int lastIndexOf(Object o);之前没有细究,最近在项目中遇到个问题,List中的元素如果是引用类型,那么在调用该方法来判断List是否包含某个指定元素,必须重写对应类中equals方法。而equals()方法的正确编写方法如下:先确定实例“相等”的逻辑,即哪些字段相等,就认为实例相等; 用instanceof判断传入的待比较的Object是不是当前类型,如果是,继续比较,否则,返回

2020-08-30 10:15:41 433

原创 Android 8.1横屏界面与竖屏界面跳转产生屏幕旋转的问题

问题:从A(PORTRAIT)打开B(LANDSCAPE),然后,又从A finish到B。 A会执行两次重载。切换两次屏幕(竖,横,竖)。原因:从B返回时,系统仍然调用B的横屏状态,此时A会显示为B界面退出时的状态,即横屏状态,由于A界面设置为PORTRAIT,所以之后A会由竖屏切换为横屏在切换为竖屏。1.在配置文件AndroidManifest.xml中添加如下代码: <activity android:name="AActivity"

2020-05-28 13:07:07 3587 2

原创 Android文件存储:内部存储,外部存储及其路径

Android系统分为内部存储和外部存储,内部存储是手机系统自带的存储,一般空间都不大,外部存储一般是SD卡的存储,空间一般都比较大。一般我们会把存储内容放在外部存储空间里。在使用过程需要注意事项:先判断SD卡是否可用,可用时优先使用SD卡的存储,不可用时用内部存储存储在SD卡上时,可以在SD卡上新建任意一个目录存放,也可以存放在应用程序内部文件夹(APP专属文件),区别是在SD卡的任意目...

2020-05-06 14:08:11 4871 1

原创 Android导航栏

目前底部导航栏目前基本上每个App必备的。一般被放到首页的,作为用来显示App整个内容的框架。我这里主要说的就是BottomNavigationBar+Fragment和BottomNavigationBar+ViewPager+Fragment...

2020-05-06 09:54:16 962

原创 自定义 Android Studio 注释模板

Android Studio两种配置模板:File and Code TemplatesLive Templates先来说File and Code Templates:用来配置文件和代码模板,即文件在创建的时候自动会按文件模板生成代码注释。下面来演示一下如何自动生成 Java 类注释。依次打开下面这个菜单:Editor > File and Code Tem...

2020-04-24 14:44:54 703

原创 Android 实现FlowLayout流式布局(热门标签)

今天跟大家分享一下FlowLayout,最近项目中有遇到热门标签这个样的布局(文章末尾可下载源码),如下图:一,创建FlowLayout并继承ViewGroupFlowLayout 类主要实现onMeasure,onLayout和generateLayoutParams方法,具体如下看代码注释;public class FlowLayout extends ViewGroup {

2020-04-20 17:12:27 13114 3

原创 generateLayoutParams() 方法的作用

关于自定义View,在获取MarginLayoutParams方面一直不太懂如何操作,获取MarginLayoutParams的函数有三个:public LayoutParams generateLayoutParams(AttributeSet attrs) { return new LayoutParams(getContext(), attrs);}prot...

2020-04-19 15:07:02 1917

转载 ViewPager与NestedScrollView套嵌会引起冲突,滑动不了的问题

xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pa

2020-04-14 13:12:36 11220 1

原创 使用Gson解析json格式的字符串

开发环境:Android Studio 开始前先添加google的依赖包,添加方法:在builder.gradle文件中添加'com.google.code.gson:gson:2.3.1'Eclipse开发环境的需要对应的jar包,这里就不提供下载了,直接去google下载就OK。假如有这么一个字符串:[html] view plain copy

2020-04-14 13:11:13 7547

原创 BottomSheetBehavior踩坑--IllegalArgumentException: Illegal state argument: 5

在使用BottomSheetBehavior实现底部弹窗我发现点击切换按钮没效果就不说了,居然还报错了,当时心情卧槽,到底哪里出问题了?先看报错信息:点击查看源码,找到抛出异常的代码:看过之后发现要先设置隐藏,真是哔了狗了。。。然后在布局中设置: app:behavior_hideable="true" 完美解决问题,但是我手贱啊,想看看别的方案于是我在代码中设...

2020-04-11 10:19:10 1387

原创 Android动画知识回顾--ObjectAnimator属性动画

照例先附上启舰 大神博客链接。我主要是为了强化记忆和回顾要点,如果想看详细内容那就去看大神的博客吧。先看构造方法:public static ObjectAnimator ofFloat(Object target, String propertyName, float... values) public static ObjectAnimator ofInt(Object ta...

2020-04-10 09:03:21 220

原创 Android动画知识回顾--ValueAnimator属性动画

ValueAnimator属性动画学是学了,代码也能写出了,但是让我自己讲一讲就嘿嘿嘿,主要是脑子有点乱,先说下我个人对ValueAnimator的理解。ValueAnimator主要有两个方法:public static ValueAnimator ofInt(int... values)public static ValueAnimator ofFloat(float... va...

2020-04-09 11:12:18 343

原创 Android动画知识回顾--补间动画(二)

首先感谢启舰大神,本篇主要是对学习Android自定义控件三部曲过程中知识的回顾。这次是使用代码来实现alpha、scale、translate、rotate、set的动画效果 AlphaAnimation 构造函数AlphaAnimation(Context context, AttributeSet attrs) AlphaAnimation(float fromAlp...

2020-04-09 10:30:58 218

原创 Android动画知识回顾--补间动画(一)

首先感谢启舰大神,本篇主要是对学习Android自定义控件三部曲过程中知识的回顾。 从Animation类继承的属性 android:duration 动画持续时间,以毫秒为单位android:fillAfter 如果设置为true,控件动画结束时,将保持动画最后时的状态android:fillBefore 如果设置为true,控件动画结束时,还原到开始动...

2020-04-09 10:03:00 177

原创 Field类的setAccessible()

之前一直以为setAccessible()的取值是由成员变量的访问权限决定的,结果经过测试发现,不管成员变量的访问权限是public、protected、默认、还是private,isAccessible()方法都返回false,但是访问private修饰的成员变量时,需要setAccessible(true),否则抛出IllegalAccessException,而其他访问权限修饰的成员变量可以...

2020-04-05 17:29:00 621

原创 Fragment中的CheckBox初始化没有效果

fragment界面初始化的时候发现CheckBox调用setChecked()没有效果,点击选中后会再次取消选中,搞得我都一脸懵逼,一顿百度后才知道,CheckBox的setChecked()方法改变CheckBox展示状态是在正式展示(测量、布局、绘制三个操作)之后,而我初始化CheckBox的代码写在了onViewCreated()中,所以才会导致setChecked()方法失效。...

2020-04-03 22:56:44 575 2

转载 谈谈Fragment的用法之Fragment实现Tab切换中的那些事

首先底部的我们使用FragmentTabHost即可,这里我们对系统的这个控件做了简单的修改。系统的这个控件在切换tab的时候是会detach 当前的Fragment, 也就是销毁当前Fragment的视图。这样就会导致每次切换tab的时候都会重新走onCreateView,重新创建Fragment view。这样我们之前的状态就会丢失,这当然不是我们所想要的。

2019-04-08 14:59:44 1940

原创 activity设置背景透明及重写跳转动画踩坑

Activity设置背景透明: <!--activity背景透明--> <style name="TranslucentStyle" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowAnimationStyle">@style/AnimBot...

2019-03-26 14:40:15 1789

转载 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别

Activity.finish()Call this when your activity is done and should be closed.在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所...

2019-03-22 17:09:46 168

转载 super.onDestroy(); 应该放在前面还是后面?为什么?

一. 问题描述:**样式 1 **:@Override public void onDestroy() { // TODO: some code super.onDestroy(); }**样式 2 **:@Override public void onDestroy() { super.onDestr...

2019-03-22 17:07:35 987

原创 TabLayout设置自定义Item,消除Item间隔

下面代码从网上找的,发现并不能解决问题,设置成-1dp会导致item背景显示不全,导致有重叠阴影 app:tabPaddingBottom="-1dp" app:tabPaddingEnd="-1dp" app:tabPaddingStart="-1dp" ap...

2019-03-20 16:55:52 1840

转载 JAVA设计模式之单例模式

单例模式是一种比较常见的设计模式。单例模式作用:1.控制资源的使用,通过线程同步来控制资源的并发访问;2.控制实例产生的数量,达到节约资源的目的。3.作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。单例模式适用场景在以下情况下可以考虑使用单例模式:(1) 系统只需要一个实例对象,如系统要求提供一个唯一的序列号...

2019-03-07 23:04:00 121

转载 Android Apk包安装应用闪退,出现 java.lang.RuntimeException Unable to instantiate application Caused by: java

修改一行代码,搞定通过Apk方式安装应用闪退之  java.lang.RuntimeException Unable to instantiate applicationCaused by: java.lang.ClassNotFoundException: Didn't find class "com...activity着急的朋友,看最后几句话就行了!!!!!(本文前面讲述可能是你踩过和我一样...

2018-05-29 10:36:54 4421

转载 Android基础之测量text宽度的三种方式

String str = "mare_blue"; canvas.drawText( str , x , y , paint); //1. 粗略计算文字宽度 Log.d(TAG, "measureText=" + paint.measureText(str)); //2. 计算文字所在矩形,可以得到宽高 Rect rect = new Rect(); paint.get

2017-11-24 14:57:22 723

原创 Android文件存储数据

package com.example.administrator.myapplication;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;import java.io

2017-10-31 17:06:10 1254

原创 RecyclerView的万能Adapter

近期看了RecyclerView更全解析之 - 打造通用的万能Adapter作者录制的视频,手打了一份代码,以便于以后查阅。其余废话不说了,看代码:Adapter部分package com.example.weijinran.recyclerviewadapterdemo.commonAdapter;import android.content.Context;import

2017-10-25 16:31:43 302

原创 OKHttp封装

不说废话,直接上代码(okHttpUtils)package com.weijinran.wjr_library.utils;import android.os.Handler;import android.os.Looper;import java.io.IOException;import java.util.concurrent.TimeUnit;import okh

2017-10-18 13:40:26 514

转载 探索PinYin4j.jar将汉字转换为拼音的基本用法

将汉字转换为拼音在Android开发中是个很常见的问题。例如:在android手机应用开发中,要查询联系人的姓名,通常都是用拼音进行查询的。Pinyin4j是一个功能强悍的汉语拼音工具包,是sourceforge.net上的一个开源项目。主要的功能有: - 支持同一汉字有多个发音 - 支持拼音的格式化输出,比如第几声之类的 - 支持简体中文、繁体中文转换为拼音 首先

2017-08-11 15:08:49 390

转载 Android动态获取权限

前几天在网上找了找Android动态获取权限的文章和视频,自己整理了一下。几天看一位大神说真正的程序员是有着分享精神的,我这个刚刚入行的小菜鸟,也想把自己整理的东西分享给大家。本文参考了A_si的Permission——郭霖认为最优的运行时权限方案和郭霖大神的CSDN视屏在这之前,我们需要知道什么是权限?权限是一种安全机制。android权限主要用于限制应用程序内部某些具有

2017-08-11 11:05:20 556

转载 android6.0以后获取权限(一次性获取所有)

首先上工具类[java] view plain copyprint?"code" class="java">"code" class="java">/**  * Created by LH on 2016/7/27.  */  public class PermissionUtil {      private static PermissionUt

2017-08-11 11:01:48 1157

转载 Android开发 sharesdk分享微信/朋友圈的时候只显示文字,不显示链接

问题:分享的时候只将分享的content分享出去了,连标题及链接都没有分享出去。原因:没有配置image导致。解决办法:在  showShare 方法里面添加配置:if(ImageUrlOrPath != null &&ImageUrlOrPath.contains("/sdcard/")){ //imagePath是图片的本地路径,Linked-I

2017-08-05 09:39:46 1705

BottomNavigationViewDemo.rar

Android底部导航栏的实现。 1.BottomNavigationBar+ViewPager+Fragment 的实现。 2.BottomNavigationBar+Fragment 的实现。 3.BottomNavigationView+Fragment 的实现。

2020-05-06

FlowLayout.rar

实现FlowLayout流式布局(热门标签),并且仿照ListView封装Adapter来通知更新FlowLayout。详细介绍可以查看我的博客:https://blog.csdn.net/wjr1949/article/details/70242570

2020-04-22

OKHttp网络请求封装.zip

在开发过程中有时候一个项目可能会用两三个网络请求框架,使用自己的一套规范来封装三方库。这样可以随时切换网络请求框架,这感觉如丝般顺滑,贼鸡儿爽。我只封装了OKHttp,有兴趣的童鞋可以试试搞一搞别的网络请求库封装。

2020-03-30

OKHttp网络请求封装

在开发过程中有时候一个项目可能会用两三个网络请求框架,使用自己的规范来封装三方库。我这是封装OKHttp实现该接口,当然你也可以使用别的三方库来实现在接口。

2017-10-25

RecyclerView的万能Adapter

RecyclerView的万能Adapter 简单的数据绑定(单种Item) 多种Item Type 数据绑定 增加onItemClickListener , onItenLongClickListener

2017-10-25

CircleImageView

在项目开发中,我们经常需要用到圆形图片效果,典型案例是用户头像的显示。

2017-05-17

UploadPicDemo

UploadPicDemo

2017-05-10

ListView GridView 万能的适配器

ListView GridView 万能的适配器

2017-04-11

空空如也

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

TA关注的人

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