自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android Studio 3.5格式化xml文件时代码错乱问题

更新studio到3.5之后出现了一个问题,格式化xml文件代码时会出现代码顺序错乱,包括布局文件和AndroidManifest文件,解决方法记录如下:打开设置 - 点击 Editor - Code Style - XML - (右上角文字 Set from…) - Predefined Style - Android 点击 Apply 和 OK希望给其他遇到此问题的朋友有所帮助...

2019-08-22 13:14:01 2628 7

原创 Mac通过自带终端连接linux服务器

打开Mac终端,切换到root权限下 切换root权限: sudo -i通过ssh命令连接linux服务器 ssh root@127.0.0.1(目标ip地址) root是账户名,@后面的是连接的ip地址 输入IP地址后回车,第一次连接会让你输入yes或者no来确认是否连接,输入yes回车输入密码,连接服务器...

2019-05-29 09:58:41 4741

原创 升级fresco依赖后加载GIF崩溃

Androidstudio提示更新gradle依赖,更新之后加载GIF就出现崩溃了,报错:java.lang.NoSuchFieldError: No field forceOldAnimationCode of type Z in class Lcom/facebook/imagepipeline/common/a; or its superclasses (declaration of 'c...

2018-11-06 10:16:52 804

原创 AndroidStudio升级gradle3.2.1后项目报错

刚刚把项目gradle升级到3.2.1后项目报了个错:Android resource compilation failedOutput: /Users/gaoxingfei/shidonghui/shidonghui_Android/app/build/intermediates/incremental/mergeAnzhiDebugResources/merged.dir/values/...

2018-11-05 17:26:58 3031

原创 Recyclerview滑动崩溃

刚刚测试说在搜索的时候会偶现崩溃,连接studio后查到错误Log为:java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 8(offset:8).state:10复现了几次之后终于确定:是在list数据变化时滑动recycle人view,也就是在调用notyfyChanged方法...

2018-11-05 17:13:43 813

原创 Android Studio 无法预览xml布局视图

今天升级gradle和sdk之后,发现编辑布局文件时右边没有预览了,在style文件中Theme报红,鼠标移到Theme上之后提示:Cannot resolve symbol ‘Theme’ less… (⌘F1)Validates resource references inside Android XML files解决办法:经过检查之后,原来是sdk依赖忘了升级了,当时只升级了buil...

2018-09-20 11:18:12 1785

原创 gradle版本导致的编译问题 error: resource style/TextAppearance.AppCompat not found.

新建了一个工程之后编译报错:Error:(1461, 5) error: resource style/TextAppearance.AppCompat (aka com.example.hp.progressbartest:style/TextAppearance.AppCompat) not found.Error:(1504, 5) error: resource style/Text...

2018-05-30 15:56:29 11708 1

原创 EventBus打包混淆问题

项目中如果使用了Event Bus,在打包的时候,如果代码里面做了混淆处理,那么打的包就会报错,提示为“Subscriber class has no public methods called on Event ”。 为了解决这个问题我们需要在proguard-rules.pro里面加入如下内容就会在app打包的时候避免被混淆-keep class de.greenrobot.event.**

2017-07-24 12:01:38 896

原创 AndroidStudio关于EventBus报错解决方法its super classes have no public methods with the @Subscribe

今天使用EventBus,这行报错:EventBus.getDefault().register(this);查看日志显示,its super classes have no public methods with the @Subscribe annotation虽说有提示,但还是一头雾水,只能一步一步踩坑了。经过不断试错,终于找到问题所在: EventBus接收消息的方法,即使用@Subscr

2017-06-28 00:07:58 5887

原创 TextView文字跑马灯效果

项目中要用到跑马灯效果,如下: 虽说看起来挺简单,但还是踩了好几个坑,故此记录一下。刚开始的时候以为设置以下两个参数就好:android:lines="1"android:ellipsize="marquee"“ellipsize”参数代表text view文字设置一行显示的时候文字显示不下将以何种方式显示,总共有5个参数:start:表示将文字开头省略,用“…”代替middle:表示将

2017-06-25 13:24:34 6585 1

原创 小Tip之int...

在方法形参中写(int…)如下:public void test(int... testNum) { int[] testNums = testNum;}testNum代表可多填的int参数,调用方法的时候可以:test(1,2,3,4);形参中的“int…”代表可输入此类型的参数不限量,其实就是一个数组,其它比如string、 float类型都可以这么使用。

2017-06-15 14:16:46 309

原创 遇到的错误之java.lang.IllegalArgumentException: No view found for id

今天遇到一个特别诡异的错,搞了好久才解决,记录报错如下:java.lang.IllegalArgumentException: No view found for id 0x7f10023e (com.huitong.privateboard:id/main_viewpager) for fragment ChatsFragment{dfa9b #1 id=0x7f10023e android:sw

2017-06-15 02:38:45 8405

原创 SharedPreferences存储工具类

public class SharedPreferencesUtil { /** * 保存数据到文件 * * @param context * @param key * @param data */ public static void saveData(Context context, String key, Object

2017-06-05 02:07:54 358

原创 网络状态判断工具类

public class NetworkUtil { /** * 检测当的网络(WLAN、3G/2G)状态 * * @param context Context * @return true 表示网络可用 */ public static boolean isNetworkAvailable(Context context) {

2017-06-05 02:03:37 436

原创 MD5加密工具类

public class MD5Utils { public static String MD5(String sourceStr) { String result = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(

2017-06-05 02:02:15 363

原创 解决安卓style文件中设置Activity退出动画无效或者被干扰的问题

问题描述: 今天在style文件中设置如下activity进出动画:<!-- 定义弹框Activity的进入、关闭动画 --> <style name="AnimSearch" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/pu

2017-06-05 01:49:52 5755

原创 dp与px转换工具类

**描述:**dip与px相互转换,获取屏幕宽/高,获取状态栏高度public class DisplayUtil { public static int dip2px(Context context, double dipValue) { final float scale = context.getResources().getDisplayMetrics().densi

2017-06-05 01:14:13 268

原创 应用数据管理工具类

描述:主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录public class DataCleanManager { /** * 获取本应用缓存大小 * * @param context * @return * @throws Exception */ public

2017-06-05 00:54:27 392

原创 解决Android Studio编译时出现GC overhead limit exceeded

今天运行项目时,Studio报了一个错:"java.lang.OutOfMemoryError: GC overhead limit exceeded"通过网上查询,得到解决办法,记录如下:添加以下代码到 “gradle.properties” 中:org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemor

2017-06-04 18:00:51 9700 1

原创 模板设计模式

设计模式设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。 设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索。模板设计模式抽象类的应用:模板方法设计模式(Template Method) 举例: 需求:获取任意一段程序的运行时间 提示:获取程序开始和结束的时间并相减即可。获取时间:System.currentTimeMi

2017-02-03 18:24:16 291

原创 面向对象高级特性1:抽象类

一、抽象类(abstract class) 随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。 当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取。有时只抽取功能定义,而不抽取功能主体。class Chinese{ public vo

2017-02-03 17:36:35 620

原创 native关键字

native关键字修饰的方法使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++等非Java语言实现的,并且被编译成了DLL,由java去调用。 (1)为什么要用native方法 java使用起来非常方便,然而有些层次的任务用java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。 与java环境外交互: 有时java应用需要与java外面的环境交互

2017-02-03 17:15:22 262

原创 final关键字

1、在Java中声明类、属性和方法,局部变量时,可使用关键字final来修饰,表示“最终”。 2、final修饰类:太监类(不能被其它类继承) 3、final修饰的方法 例如:Object类中public final native Class<?> getClass();例如:class Person { public final void test(){ System

2017-02-03 17:11:17 316

原创 类的成员之四:代码块

类和类的成员: (1)成员变量:属性 (2)成员方法:特殊成员方法 getter和setter 有静态成员方法,非静态成员方法 (3)构造器/构造方法 (4)初始块/初始代码块 (5)内部类类的成员之四:初始代码块 初始代码块:一般来说是用于类或实例成员变量的初始化,分为静态代码块和非静态代码块(构造代码块) 1、构造代码块: 每次创建对象时都会被执行,而且优先于构造方法执行

2017-02-03 16:40:18 385

原创 static关键字

1、为什么要使用static关键字 我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。 2、类属性、类方法的设计思想 类属性(类变量)作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变

2017-02-03 13:55:51 369

原创 匿名对象

我们经常将匿名对象作为实参传递给一个方法调用。如果一个对象只需要进行一次方法调用,那么就可以使用匿名对象。 //方法的声明public void method(Student s){}//方法的调用method(new Student());//匿名对象new Student()Student stu=new Student();method(stu);//不是匿名对象,对象使用stu名称访

2017-02-03 13:18:59 395

原创 hashCode()方法

**1、**Object中的hashCode()方法 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。**2、**hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet、HashMap以及HashTable。3、该方法如果没有被重写,那么返回的值是什么呢? 某些朋友误以为默认情况下,

2017-02-03 13:10:56 426

原创 toString()方法

1、默认从Object类继承的toString()方法返回的是 getClass().getName() + ‘@’ + Integer.toHexString(hashCode()) 即该对象的类名称@该对象hashcode哈希码的无符号十六进制表示2、在进行String与其它类型数据的连接操作时,自动调用toString()方法Date now=new Date();System.out.

2017-02-03 12:19:10 1540

原创 ==运算符与equals方法

1、==运算符 (1)基本数据类型比较值:只要两个变量的值相等,即为true (2)引用类型比较引用:比较两个对象的地址值,两个引用变量指向同一个对象的堆空间时,才为truePerson p1=new Person(); Person p2=new Person();if(p1==p2) //falsep1=p2;//如果有这样的赋值语句后 if(p1==p2) //true

2017-02-03 12:14:08 412

原创 超级父类:Object类

1、Object类是所有Java类的根父类:在java.lang中 如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类 public class Person { ... } 等价于:public class Person extends Object {...}2、根据多态的特性: (1)Object类型的引用变量可以接收任何类型的对

2017-01-18 21:28:46 2092 2

原创 面向对象的特征之三多态性

1、多态性指的是什么? 多态性,可以理解为一个事物的多种表现形态。 1)方法的重载与重写 2)子类对象的多态性2、子类对象的多态性的前提: 1)有类的继承 2)有子类对父类方法的重写 3)有向上转型,即把子类对象赋值给父类引用变量class Person { public void say() { System.out.println("咿咿呀呀"); }

2017-01-18 21:16:43 322

原创 super关键字

1、this 调用本类的成员变量:this.属性 调用本类的成员方法:this.方法 调用本类的其他构造方法:this();或this(实参列表);//只能写在构造方法的第一行 ☆当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量是成员2、super:在子类中使用 调用父类的非私有的成员变量:super.属性 调用父类的非私有的成员方法:super.方法

2017-01-18 20:10:20 407

原创 方法的重写override

定义:在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。 要求:(三同(方法名、参数列表、是否static)、两小(返回值、异常)、一大(权限修饰符)) (1)重写方法必须和被重写方法具有相同的方法名称、参数列表。 (2)重写方法的返回值类型必须<=父类方法的返回值类型。 (3)重写方法不能使用比被重写方法更严格的访问权限。即

2017-01-18 20:00:46 400

原创 面向对象的特征之二继承

1、面向对象的三大特征 封装 (Encapsulation) 继承 (Inheritance) 多态 (Polymorphism)2、为什么要有继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。提高了代码的复用性。 继承的出现让类与类之间产生了关系,可以创建更为特殊的类型。 利于可维护性。 此处的多个类称为

2017-01-18 19:52:13 385

原创 多维数组

二维数组[][]:数组中的数组 例如:二维数组 ,就是原来一维数组的每一个元素又是一个数组1、多维数组的声明和初始化 (1)格式1(动态初始化):int[][] arr = new int[3][2]; 定义了名称为arr的二维数组, 二维数组中有3个一维数组, 每一个一维数组中有2个元素 一维数组的名称分别为arr[0], arr[1], arr[2],每一个一维数组又分别有两个元素,例

2017-01-18 19:30:08 506

原创 数组的操作工具类

java.util.Arrays类包含了用来操作数组(比如排序和搜索)的各种方法。Arrays拥有一组static方法。 equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。 fill():将值填入array中。 sort():用来对array进行排序。 binarySearch():在排好序的array中寻找元素。 只能用于已经排好序的数组

2017-01-18 19:14:58 518

原创 数组中涉及的常见算法

1.求数组元素的最大值、最小值 int[] array={49,38,65,97,76,13,27,49}; int max=0; int min=0; for(int i=0;i<array.length;i++){ if(array[max]<array[i]){ max=i; } if(arr

2017-01-18 18:48:43 364

原创 一维数组的内存分析

1、基本数据类型的一维数组int[] s;s = new int[10];for ( int i=0; i<10; i++ ) { s[i] =2*i+1;}2、引用类型的一维数组MyDate[] m; //MyDate是自定义类型,好比Studentm = new MyDate[10]; //引用类型的元素的默认值nullfor ( int i=0; i<10;

2017-01-18 18:38:17 637

原创 数组的遍历

如何遍历数组 (1)一般使用for循环:绝配 例如: int[] iArray = new int[]{3,9,8}; for(int i=0;i<iArray.length;i++){ System.out.println(iArray[i]); }(2)增强for循环:只用于数组元素的查看 语法格式: for(元素类型

2017-01-18 18:23:42 229

原创 数组的声明与使用

一、数组的概念 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素. 数组是多个相同类型数据的组合,实现对这些数据的统一管理. 数组中的元素可以是任何数据类型,包括基本类型和引用类型. 数组属于引用类型,数组型数据是对象(objec

2017-01-18 18:19:24 14819

Android官方API

Android官方API

2017-05-24

空空如也

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

TA关注的人

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