- 博客(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
原创 如何减小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关注的人