- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 TabLayout tab标签不显示问题终极解决方法
<android.support.design.widget.TabLayout android:id="@+id/homepage_child_tablayout" style="@style/Homepage.TabLayout" android:layout_width="match_parent" androi...
2019-04-28 12:31:40 2975
原创 Android 4.4版本 EventBus报错 java.lang.NoClassDefFoundError: android/os/PersistableBundle 终极方案
************* Crash Log Head ****************Device Manufacturer: OPPODevice Model : OPPO R7sAndroid Version : 4.4.4Android SDK : 19App VersionName : 3.0.3App VersionCode :...
2019-04-23 15:57:34 1084
原创 Fastjson和Gson的故事
Fastjson的介绍可以将Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 源码地址优点:速度快fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。使用广泛fastjson在阿里巴巴大规模使用,在数万台服务器上部署,f...
2019-04-16 21:33:51 147
原创 android IPC机制之Messenger
Messenger是什么?Messenger译为:信使。通过它可以在不同的进程中传递Message对象,在Message中放入我们需要传递的数据,就可以实现数据的进程间传递。Messenger是一种轻量级的IPC,它的底层实现是AIDL。AIDL详细使用看这里 /** * Create a new Messenger pointing to the given Handle...
2019-04-16 18:46:42 131
原创 android 获取assets目录下文件的路径
暴力直接获取 String path = "file:///android_asset/icon_wm.png";先把文件读成流,在转化地址String path = null;InputStream abpath = getClass().getResourceAsStream("/assets/icon_wm.png"); try { path = new Str...
2019-04-15 10:07:53 8357 3
原创 复习Android之ContentProvider详解
ContentProvider的底层是采用 Android中的Binder机制。ContentProvider是一个抽象类,并且实现ComponentCallbacks2接口abstract class ContentProvider implements ComponentCallbacks2我们开发自己的内容提供者我们就需要继承ContentProvider这个类并复写其方法,此类用来...
2019-04-14 21:42:12 235
原创 @androidx.annotation.NonNull 导致项目不能运行
解决方法:gradle.propertiest 文件中添加android.useAndroidX=trueandroid.enableJetifier=truebuild.gradle 文件中添加implementation 'androidx.annotation:annotation:1.0.2'Build->Rebuild Project之后项目就可以运行了...
2019-04-14 21:03:28 7586 3
原创 复习Android之ContentProvider简介
ContentProvider的作用ContentProvider作为安卓四大组件之一,它作用是为不同的应用之间数据共享,提供统一的接口。ContentProvider如何实现数据共享的?ContentProvider通过uri来标识其它应用要访问的数据,通过ContentResolver的增、删、改、查方法实现对共享数据的操作。还可以通过注册ContentObserver来监听数据是否发...
2019-04-14 19:28:25 104
原创 复习Android之Broadcast Receiver
广播有几种形式?分别有什么特点?Android广播的定义:无序广播 和 有序广播无序广播:通过sendBroadcast()方法来发送,异步操作。特点:所有的receivers接收broadcast的顺序都不确定,效率高。有序广播:通过sendOrderedBroadcast来发送,所有的receiver依次执行。特点:从优先级最高的广播接收器开始接收,如果优先级相同,谁先注册,就可...
2019-04-13 13:35:44 90
原创 java算法之排序算法
冒泡排序 public static void main(String[] args) { int srcArray[] = {11, 31, 44, 57, 7, 8, 911, 101, 111, 17, 21, 123, 28, 123, 32, 538, 41, 457, 540, 565, 641, 78, 81, 88, 95, 98}; bub...
2019-04-11 11:02:59 111
原创 java算法之二分查找算法
二分查找又称折半查找,它是一种效率较高的查找方法。、折半查找的算法思想:、将数列按有序化(递增或递减)排列,进行折半查找。可以明显减少比较次数,提高查找效率。优点:查找比较次数少,查找速度快,性能好。缺点:要求待查表为有序表,且插入删除困难。public static void main(String[] args) { int srcArray[] = {1, 3, 4,...
2019-04-09 13:09:26 281
原创 线程知识巩固第五节
线程池的原理上一篇介绍了为什么要使用线程,以及创建线程的的几种方式。接下来将详细介绍线程的实现原理。由源码可知,线程池实际上调用的还是ThreadPoolExecutor方法。下面将看一下ThreadPoolExecutor的源代码和注释解析。 /** * Creates a new {@code ThreadPoolExecutor} with the given initial...
2019-04-08 19:48:08 149
原创 线程知识巩固第四节
线程池的使用为什么要使用线程池?线程池为线程生命周期开销问题和资源不足问题提供了解决方案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。优点:请求线程已经存在,所以消除了线程创建所带来的延迟。可以立即请求服务,使应用程序响应更快。通过适当地调整线程池中的线程数目,也就是当请求的数目超过某个阈值时,就强制其它任何新到的请求一直等待,直到获得一个线程来处理为止,从而可以防止资源...
2019-04-07 22:29:54 156
原创 线程知识巩固第三节
线程常用的一些方法sleep()方法主要的作用:停止当前线程执行,资源让给其他线程执行,到指定时间线程自动恢复运行状态。 try { //休息一秒 sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); }wait() 和notify()有一个共同...
2019-04-07 21:51:13 174
原创 线程知识巩固第二节
多线程之经典案例–售票案例 public static void main(String[] args) { System.out.println("Hello World!"); new MyThread("张三 ").start(); new MyThread("李四 ").start(); } public...
2019-04-07 20:13:19 182
原创 线程知识巩固第一节
什么是线程?线程:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程的开启方式有几种?怎么实现?开启线程的方式有三种:继承Thread类(重写run方法) public class Main { publ...
2019-04-07 19:33:19 209
原创 复习Android之Service的AIDL传值
Service的类型本片按地点划分种类开启关闭本地服务public static void bindLocalService(Context context, ServiceConnection serviceConnection) { if (context == null || null == serviceConnection) { ...
2019-04-01 09:33:47 718
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人