- 博客(25)
- 收藏
- 关注

原创 Java算法与数据结构——目录导航
1、集合的框架基础接口有哪些?集合主要分为Collection和Map2个接口 Collection又分别被List和Set继承 List被AbstractList实现,然后分为3个子类,ArrayList,LinkList和Vector Set被AbstractSet实现,又分为HashSet和TreeSet Map衍生出的集合分为HashMap,HashTable和TreeMap...
2018-12-07 11:20:58
319
原创 记仪表盘项目中学习知识和坑
前言作为一个Android开发,知识学习特别是在项目中学习的知识还是要总结一下。因为以前是做ROM系统开发的,现在转方向做APP,coding思想完全不一样,做APP是处于制造bug和解决bug中。。。下图是用了一个多星期做的第一个成果,贴图为证。学习的技术因为这个是一个Excel表格展示数据,一开始做的时候一脸懵逼不知道咋下手 ...
2019-08-02 16:16:07
296
转载 Java基础——抽象类与接口
前言 :abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。先直观的感受下抽象类和接口public abstract class Baby{ public abstract void Cry{}} interface Door{ void open{...
2018-12-25 15:04:13
246
原创 Java基础——字符串String 数据类型转换 字节
前言string类是java中使用最多,也是面试中最常考到的知识点,所以掌握他是必现的。他在JDK的api中是这样定义的public final class String extends Object implements Serializable, Comparable<String>, CharSequenceString 类代表字符串。Java 程序中的所有字符串...
2018-11-28 16:13:18
631
原创 Android持久化数据存储方式
Android的数据存储方式有五种一、SharedPreferences是一种轻型的数据存储方式 本质是基于XML文件存储key-value键值对数据 通常用来存储一些简单的配置信息 SharedPreference对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现二、SQlite 支持高达2TB大小的数据库 以单个文件形式存在 以B-Tree数...
2018-09-18 19:56:31
249
转载 Android自定义View——自定义View的分类和注意的问题
自定义View的分类继承View重写onDraw方式 这种方式主要用来实现一些不规则的自定义View 需要自己处理wrap_content的情况 因为默认的View对wrap_content没做特殊处理,只把这种情况当做match_parent处理 而且padding也需要自己处理 margin不用 因为margin是父容器确定的 继承ViewGroup派生特殊的Layout 这...
2018-09-18 17:06:35
560
1
转载 Android运行时异常“Binary XML file line # : Error inflating class”
在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉...... 我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决: 1.引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须...
2018-09-17 17:38:42
482
原创 Java 基础——I/O流操作
Java文件和文件流知识:在程序中对file的操作(读写),需要先将file转换成流,然后从流中读写data java I/OJava IO中用于读写文件的四个抽象类:Reader,Writer,InputStream,OutputStream。根据流所处理的数据类型分为两类:(1)字节流:用于处理字节数据。(InputStream,OutputStream),子类是(Fil...
2018-09-05 17:15:47
222
原创 Android基础——多线程之IntentService
IntentService简介public abstract class IntentService extends Service IntentService 是一个抽象类,继承了Service,既然是一个Service,那么它的优先级会很高,不易被杀死;下面是官方文档对他的介绍,大致总结如下IntentService 是可以接受Intent,并异步处理请求的Service,...
2018-08-10 10:48:47
334
原创 Android基础——多线程之HandlerThread
HandlerThread 简介Handler 必须要和 Looper 中结合使用,尤其在子线程中创建 Handler 的话,需要这样写:/** * @ 子线程写Handler+Looper */private class LooperThread extends Thread { private Handler mHandler; @Override p...
2018-08-08 15:53:10
223
原创 设计者模式 —— 单例模式学习
概述单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中的一个类只产生一个实例。在面试中经常会遇到,手写一种单例模式实现方式,而单例的实现方式有:懒汉式、饿汉式、线程安全式、双重检查式和静态内部类方式,为了便于学习记忆记录一下。懒汉式需要时创建一个实例,所以第一个是线程不安全的public class LazySingleton { private ...
2018-08-07 17:51:59
155
原创 Java基础——线程Thread的run( )和start( )的区别
一、前言start( )方法是告诉CPU该Thread在可运行线程池准备就绪,等待线程调度,而run( )则是按顺序执行;先看下面一个简单的列子public void static main(String[] args) Thread thread = new Thread(){ @Override public void run() { super.run()...
2018-08-06 17:19:04
249
原创 Android基础——多线程之Handler
一、概述Handler是Android系统一个重要的框架,主要用于异步更新UI,首先看下Handler的流程图文字解读一下流程图:1、Looper中存放着MessageQueen,MessageQueen存放着很多Message,Handler发送messages前会获取Looper;2、Handler通过post(Runnable r)或者sendMessage(Messag...
2018-08-06 16:52:45
178
原创 Android基础——多线程以及多线程通信开篇
一、Android开启多线程的原因当我们启动一个App的时候,Android系统会启动一个Linux Process,该Process包含一个Thread,称为UI Thread或Main Thread,对应的就是子线程 Work Thread。通常一个应用的所有组件都运行在这一个Process中,当然,你可以通过修改四大组件在Manifest.xml中的代码块(<activity>...
2018-08-06 11:42:27
158
原创 Android基础常用组件——Fragment的创建,生命周期,与Activity通信,结合ViewPager使用的预加载和懒加载
一、创建Fragment的子类,在Android P上面都被禁用,并被其他的替代 静态创建,在xml文件中添加fragment 动态创建,在java中使用FragmentTransaction动态添加二、生命周期 三、与Activity或者Fragment通信FragmentManager.find...
2018-08-01 16:54:04
343
原创 性能优化专题——ANR
1、什么是ANRANR是“Application Not Responding”缩写,应用程序无响应,直观的说就是"咦?卡了?"2、发生ANR的条件应用程序的响应性是由ActivityManager和WindowManager系统服务监视的,当ANR发生条件满足时,就会弹出ANR的对话框Activity超过5秒无响应 BroadcastReceiver超过10秒无响应 Se...
2018-07-31 11:47:04
387
原创 Android基础——Button五种监听点击方法
Button点击事件一共有五种方法:Activity实现onClickListener接口;匿名内部类;定义内部类,实现onClickListener;定义构造方法;XML布局中指定Button的onClick属性;布局文件Button <Button android:id="@+id/button" android:layout_width="wrap...
2018-06-26 14:38:23
1707
转载 面试复习——Android设计模式
单例模式1、概念单例模式是一种对象创建模式,它用于产生一个对象的具体实例,它可以确保系统中的一个类只产生一个实例2、好处省略创建对象所花费的时间 对系统内存的使用频率降低,减轻GC压力,缩短GC停顿时间3、六种写法饿汉模式 public class HungurySingleton { private static final HungurySingleton ...
2018-06-26 10:25:38
484
原创 Android Studio——技巧
一、快捷键代码移动操作ctrl+Alt+空格键 代码提示ctrl+shift+↑ 代码向上移动ctrl+shift+↓ 代码向下移动ctrl+D 复制代码到下一行ctrl+Y 删除整行代码alt+↑ (↓) 类中方法快速上下移动ctrl+W 第一次按选...
2018-06-17 11:33:46
262
原创 Java基础——Synchronized和Volatile学习
Synchronized,了解一下? 指标:理解synchronized的含义、明确synchronized关键字修饰普通方法、静态方法和代码块时锁对象的差异。 有如下一个类A class A { public synchronized void a() { } public synchronized void b() { } } 然后创建两个对象 A a1 = ...
2018-06-13 14:34:23
292
转载 Java5、6、7、8、9的新特性
Java5java5是很重要的一个版本,有泛型、枚举、自动装箱/拆箱、可变参数、注解、foreach循环、静态导入、新的线程模型等等更新。具体参考 Java5的新特性Java6鸡肋的版本,有JDBC4.0更新、Complier API、WebSevice支持的加强等更新。 Java6的新特性Java7java7有一些比较重要的更新,如异常处理增加了被抑制的异常、捕获多异常、try-with-res...
2018-06-13 14:03:47
235
原创 面试复写——Java题目
Android面试中Java题目一般会问道几点在平时coding常用到的,如Thread,JVM和HashMap,但是有的时候也不局限于这些问题,概括起来那么五大知识点1、基础题——关键字和字符串相关2、JVM和GC3、多线程4、HashMap等数据结构 关键字和字符串相关1、Synchronized + Volatile 可以参照这边文章:Synchroni...
2018-06-06 19:06:08
272
原创 Android基础四大组件——Service
一.什么是service?二.service怎么使用?三.为什么要使用service,不使用Thread?四.service的使用需要注意什么?五.service的start和bind区别?六.同一个service先startService,然后再bindservice,如何把它停止掉?七.onStartCommand不同返回值的区别;八.service生命周期方法OnCreate,...
2018-05-25 16:13:14
318
原创 Android基础四大组件——Activity的生命周期,启动模式和应用场景,TaskAffinity,onNewIntent和onSaveInstanceState
一、生命周期二、启动模式根据上面的讲解,并且参考谷歌官方文档,singleInstance的特点可以归结为以下三条:以singleInstance模式启动的Activity具有全局唯一性,即整个系统中只会存在一个这样的实例以singleInstance模式启动的Activity具有独占性,即它会独自占用一个任务,被他开启的任何activity都会运行在其他任务中(官方文档上的描述为,singleI...
2018-05-25 16:10:35
980
原创 面试复习——Android题目
虚拟机1、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。2、DVM和ARTDalvik采用的是JIT技术,字节码都需要通过即时编译器(just in ti...
2018-05-25 10:57:45
696
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人