自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 四种内部类及详解,主要是内部类和静态内部类的差别

https://www.cnblogs.com/hasse/p/5020519.html辅看这个:https://www.cnblogs.com/nzhbk/p/6489005.html内部类分为: 成员内部类、局部内部类(在类中的一个方法里定义了一个类)、静态嵌套类、匿名内部类 。private Handler mHandler =new Handler(...

2018-03-28 15:19:19 407

原创 Java中异常捕获 try catch finally

异常有以下几种:重点几种:Error(系统错误):描述的是内部系统出现错误;用户什么也干不了;Exception(异常):描述的是由程序和外部环境引起的错误,这样的错误能被捕获;RuntimeException(运行时异常):虽然是异常的子类,但是单独挑出来说明;它描述的是程序设计错误,错误的类型转换,数组越界访问,都会由JVM抛出RuntimeException;Runt...

2018-03-27 14:00:22 556

原创 Cloneable接口及clone()方法

首先,cloneable接口中是没有数据域和方法的,被称为标记接口,它代表了一个类的特殊属性;实现这个接口会被标记,然后实现接口的子类对象都能使用Object类中的clone()方法;Java库中很多类都实现了这个接口,Data,ArrayList等;如下:调用了实现接口的Arraylist对象的clone方法; 刚克隆出来的list2和list1是两个不同的对象,只是内容...

2018-03-27 11:13:57 1924

原创 Java可变参数列表说明(int... array)

public static void changenum(int... a){//注意此处的省略号是紧贴在基本类型之后的 }这里的 a就是数组名,相当于形参,但这个形参个数不是固定的,可以传多个相同类型的数据,以规定的基本类型传入也行,以数组的形式传入也行;changenum(1,2,3,4,9,7);chagenum(new int[]={7,1,5,2});chagen...

2018-03-25 17:22:25 3219

原创 Java中解锁数组正确姿势以及赋值,foreach遍历?,Java自带的对数组排序,比较等等的静态方法总结

初始化①.double[ ] myList;//此时myList还未分配空间,直到下一步   myList=new double[5];②.double[ ] myList=new double[5];以上是两种初始化的方式; 二维数组初始化:赋值下面说一下赋值的方式:①.double[ ] myList={1,2,3,4,5};②.double[ ] ...

2018-03-25 15:29:33 1480

原创 匿名对象,static关键字

匿名对象:当你觉得new 出一个类A的对象a 有点多余,因为调用过这个对象的方法之后就根本用不到这个对象a,所以就可以采用匿名对象 new A().方法,即可实现匿名创建对象static静态修饰符:*静态对象:  static A a=new A();由于A对象是静态,所以A类创建的所有对象都共享一个对象(用于各种单例模式)1.如果想让一个类的所有方法共享数据,这时就需要用st...

2018-03-25 11:02:10 389

原创 重载和重写区别

区别就是:①重载(只在自己内部类):继承的时候通过变换返回参数类型和参数个数来实现的 或者只在一个类中的话,就是通过构造方法的参数不同来进行重载;   左边的是重写,右边的是重载;右边子类的方法和父类的方法是完全两个方法,因为参数变了   ②重写(子类和父类之间)是子类实现父类同名方法,而且方法内部的参数类型要一模一样,返回类型也要一样,最后方法前面会出...

2018-03-25 10:33:37 190

原创 layout_gravity和layout.gravity区别 android:paddingLeft和android:layout_marginLeft区别

自己主动摆放于父布局中的某个位置:android:gravity是子元素在父类中的对齐方式;(自觉)父类决定自己摆放于父布局的某个位置:LinearLayout:layout_gravityRelativeLayout:layout_centerInParent,Horizon,Vertical ,layout_alignParentBottom,Top等等andr...

2018-03-25 10:04:10 204

原创 px dp sp 资源文件夹名称

工作上的分辨率:五个dimen文件:普通的/x/xx/xxx四个文件夹加上一个nx的文件夹设计师给的如果是2.75自定义dp/sp的格式,那么里面的值对应上nx,然后除3乘2.75得到其他四个文件夹;设计师给的图分别按以下不同分辨率尺寸进行相除,最后都能得到相同的结果。(前面是1dp 等于多少px,后面是屏幕密度)xxxhdpi:4.0 (640) xxhdpi:3 (4...

2018-03-25 10:03:53 902

原创 java线程、线程池,类、对象锁 java线程通信,线程的状态 wait/notify

同步:发送一个指令,需要等待返回结果,才能发出下一个指令,需要等待;异步:发送一个指令,不需要等待,即可直接发出下一个指令;一般情况下,都采用异步,效率更高;但是比如说银行系统,必须采用同步,这样才能保证数据的共享和安全性;synchronize关键字:每个 synchronized 方法都必须获得调用该方法的类实例的锁(或者类锁)方能执行,否则所属线程阻塞;直到synchr...

2018-03-23 11:26:29 5886 1

原创 String类以及new String区别 与StringBuilder和StringBuffer区别

String是一个类不是基本数据类型,它初始化的一个变量a(看成对象是错误的)并被赋值一个引用指向对象“Java”,这个a不能指向其他引用例:String a="Java";① a="HTML5",② 即②是错误的String s=new String("abc");创建了几个对象呢?两个(一个堆里,一个常量池里),此外还有一个...

2018-03-23 09:54:03 746

原创 serializable和Parcelable

1.首先搞清楚为什么要序列化: 为了传递对象;因为intent要想传递对象的话,那么这个对象一定是实现了Serializable或Parcelable接口的;2.他们俩有啥区别呢: Serializable是Java自带的,将一个对象传化成可传输或可存储的状态,可以用于网络传输,以及本地存储等;Parcelable是专门为Android服务的,是将一个完整的对象分...

2018-03-22 17:44:49 263 1

原创 Android View事件分发机制 onTouch和onTouchEvent区别 以及解决滑动冲突的思路

参考: https://www.jianshu.com/p/7d50a6b0b6af总结一下:子View中的监听事件优先级: OnTouchListener---->OnTouchEvent---->OnCLickListener如果优先级高的拦下事件,就不会再传递给后面的监听事件1.Touch事件分发中只有两个主角:ViewGroup和View。View...

2018-03-21 20:54:23 3292 1

原创 当手机切横竖屏的时候,生命周期运行状况

首先先告诉你切屏的方法:int screen=getRescource().getConfigration().orietion.返回1是竖屏,2是横屏;                                设置成横屏:setRequestOriention(Activityinfo.SCREEN_ORIENTIATION_LANDSACPE)                  ...

2018-03-21 19:14:05 254

原创 Activity的启动和关闭,使用Bundle在Activity之间进行数据交换

启动有两种方式:①. startActivity(Intent intent),常用于A启动B,将A的数据传给B:(基本类型数据传输)可用putExtra(String name ,XXX value),getXXXExtra(String name)来取出value值;(复杂类型以及对象传输)也能通过Bundle将数据“打包”成data(Bundle对象),再用data的putXXX...

2018-03-17 12:39:33 1136

原创 Android AsyncTask异步任务

AsyncTask类似于Handle,它更轻量级,不需要借助线程和Handle,采用的是Thread_Pool_Executor线程池,不适合执行耗时长的任务;配置后的线程池如下:1.核心线程数等于CPU核心数+1;2.线程池的最大线程数为CPU核心数的2倍+1;3.任务队列容量为128;AsyncTask<Params,Progress,Result>是一个...

2018-03-17 10:36:17 196

原创 Handle源码分析

因为只有主线程能修改UI组件,所以主线程又被称作UI线程;但是若只由主线程来修改UI的话,这样会导致新启动的线程无法动态改变UI的属性值或者是进行耗时操作,主线程会被阻塞(ANR异常,系统无法响应输入事件和BroadCast),而子线程又不能修改UI组件,只能在新进程里发出一通消息,这时就需要采用handle的传递机制;Handle的作用有两个:在新启动的线程发送消息(一般采用sendEmpt...

2018-03-17 08:50:09 710 1

原创 Android的一些限定符

2018-03-15 16:20:48 236

原创 如何减小APK包的大小

1.保持良好的编程习惯,去除多余以及重复的代码,谨慎添加libs,用不到的就删除2.能用9patch图完成的伸缩效果就不要用大图完成3.尽量复用图片,能用一张图进行旋转伸缩的就不要用其他图来代替;能用代码绘制出的图,就不要用图片;...

2018-03-15 16:14:19 1151

原创 数值类型转化向上转型问题

 数值类型转化:https://blog.csdn.net/linzhiqiang0316/article/details/53129032例子:        比int范围小的值相加,先通过自己的类强制转化,都会被向上转为int,比如shortcharbyte等等,;比int大的就用那个大的; ...

2018-03-15 15:26:56 654

原创 ListView优化问题

第一(优化加载布局:重用了convertView,很大程度上的减少了内存的消耗。通过判断convertView是否为null,是的话就需要产生一个视图出来,然后给这个视图数据,最后将这个视图返回给底层,呈献给用户。特点:如果当前的convertView为null,则通过LayoutInflat产生一个view。代码如下View view;if(convertView == n...

2018-03-14 21:00:53 418

原创 杂文

1.Android和Java的UI设计不同:  Android:通过setcontentview(View) Java:Swing编程中的Jframe控件,这个Jframe本身就是一个布局管理器,只需要不断的往其中加控件就行 2.为什么要对App进行签名?   App是以包名作为唯一标识,如果两个App的包名相同,那么安装在同一台手机上,后面安装的会把前面安装的覆盖; ...

2018-03-14 09:32:50 126

原创 Android项目文件目录的作用

工程目录下一般为:   1.res:存放Android项目的资源文件:layout,vlaues(string.xml,colors.xml等等)  2.src:存放Java源文件;3. AndroidMainfest.xml:它是Android项目的系统清单文件,可以设置一些App的图标,名称,权限,应用兼容的最低版本;四大组件也要在里面配置;  4.bin:用于保存生成的目...

2018-03-14 09:27:51 1337

原创 Android系统结构

Android系统体系结构(采用软件叠层,降低系统5层之间的耦合性):1. 应用程序层--------就是手机上的App2.应用程序框架3.函数库-------------里面都是C/C++库,不能直接调用这些库,但是通过应用程序框架可以运行 4.Android运行时---------分为两部分1.Android核心库集,即Java语言核心库所使用的大部分功能     ...

2018-03-14 08:48:34 240

空空如也

空空如也

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

TA关注的人

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