自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 下载并打开Github源码教程

文章目录下载并打开GitHub源码教程1. 打开项目并Star2. 复制项目链接3. 打开AndroidStudio并输入项目链接4. 确认项目开始下载5. 项目下载完成之后打开项目6. 等待AndroidStudio下载依赖后运行项目注意事项下载并打开GitHub源码教程1. 打开项目并Star根据链接打开项目(以天气预报项目为例:https://github.com/LuoPeiQin/DongWeather)打开项目后根据下图点击Star(防止后续找不到该项目)2. 复制项目链接

2020-06-03 08:23:44 10318 24

原创 推荐一个很好用的蓝牙开源库

一个很好用的蓝牙开源库Bluetooth该库的特点库地址蓝牙搜索自定义View自定义View包含的内容蓝牙基本操作相关接口说明获取单例对象注册蓝牙状态监听注册蓝牙连接状态变化监听切换蓝牙类型搜索蓝牙停止搜索蓝牙连接蓝牙与断开蓝牙连接低功耗蓝牙时开启高速模式取消注册监听回调蓝牙收发数据重点说明方式一:继承蓝牙内置协议内置协议简要说明设置蓝牙传输协议创建异步发送数据任务创建同步发送数据任务方式二:原始数据收发设置原始数据收发监听发送数据Bluetooth该库的特点内部集成了多种蓝牙芯片的操作,能兼容几.

2020-05-25 08:08:42 3709

原创 为什么匿名内部类只能访问其所在方法中的final类型的局部变量?

匿名内部类不能访问外部类方法中的局部变量,除非变量被声明为final类型这里所说的“匿名内部类”主要是指在其外部类的成员方法内定义,同时完成实例化的类,若其访问该成员方法中的局部变量,局部变量必须要被final修饰。原因是编译程序实现上的困难:内部类对象的生命周期会超过局部变量的生命周期。局部变量的生命周期:当该方法被调用时,该方法中的局部变量在栈中被创建,当方法调用结束时,退栈,这些局部变...

2020-04-26 10:06:02 442

原创 IntentService源码解析

IntentService是什么?IntentService是一个用来在子线程中执行任务的服务。为什么这么说呢?我们一起来看看IntentService的源码IntentService的源码public abstract class IntentService extends Service { private volatile Looper mServiceLooper; ...

2019-07-11 20:30:34 184

原创 HandlerThread源码解析

HandlerThread是什么?HandlerThread是一个含有Looper的线程。普通线程是没有Looper的,也就意味着不能直接使用Handler来将其它线程的工作切换到这个线程,需要先自己创建一个Looper。但是HandlerThread则是直接帮我们完成了这个工作。话不多说,我们直接来看看HandlerThread的源码public class HandlerThread...

2019-07-11 19:29:29 139

原创 ThreadLocal的工作原理

ThreadLocal是什么ThreadLocal是一个能够隔离线程的数据存储类。特定线程存储的数据只有该特定线程才能够获取到。ThreadLocal的原理低版本中ThreadLocal中最重要的就是set和get方法,我们一起来看一下set public void set(T value) { Thread currentThread = Thread.curre...

2019-07-11 14:57:45 215

原创 Handler只看这一篇就够了

文章目录误区理解Handler和UI的关系误区经常有人会这样理解Android的消息机制就是HandlerHandler就是用来更新UI的但实际上,正确的理解是Android消息机制主要指Handler的运行机制,我们大部分的开发中只需要和Handler打交道就可以了,但Handler的底层需要MessageQueue和Looper的支撑。Handler并不是专门用于更新...

2019-07-10 13:33:50 245

原创 Android中的多进程的开启方式

正常方式给四大组件在AndroidManifest中添加android:process属性特殊方式在JNI的Native层fork一个新的进程多进程会导致的问题静态成员和单例的唯一性失效;SharedPreferences的可靠性下降;Application会多次创建;...

2019-07-08 14:24:52 450

原创 Android-IntentFilter的匹配规则全解

什么是IntentFilter在Android开发中,有显示和隐式两种启动Activity。其中显示非常简单,而隐式调用就涉及到了IntentFilter,这是Intent的一种匹配规则,想隐式的调用特定的Activity,就必须要让Intent匹配想要启动的Activity的IntentFilter。IntentFilter说明IntentFilter中有action、category、...

2019-07-05 14:51:11 242

原创 Android四大组件重难点

Activity生命周期注意Acitivity由A-》B切换时,会先执行完A的onPause,然后再执行完成B的OnResume,然后才执行A的onStop,所以不能在onPause中执行耗时操作。当activity中弹出dialog对话框的时候,activity不会回调onPause。然而当activity启动dialog风格的activity的时候,此activity会回调onPa...

2019-02-19 13:33:06 275

原创 Binder简要说明

一、Binder是什么?总的来说,Binder是Android中一种较为底层的通信方式,用来让linux系统有效的管理不同的模块,保证安全方式。从应用层的层面来说,Binder是Android特有的一种IPC(进程间通信)方式,也是Android中效率较高,最为常用的一种方式。二、Binder有什么用?Android是基于Linux系统开发的,而Linux是一种多进程操作系统,多进...

2018-06-21 16:16:49 329

原创 View的滑动总结

通过以下三种方式可以实现滑动:    1、通过View本身提供的scrollTo/scrollBy方法来实现滑动;    2、通过动画给View施加平移来实现滑动;    3、通过改变View的布局参数来实现滑动。下面分别介绍这三种滑动方式的区别:   首先要介绍一下View的基本位置参数:    Android3.0之前,View的基本位置参数有:left、right、top、bottom(都是...

2018-06-21 15:51:01 317

原创 基于Android开发的天气预报app(源码下载)

基于AndroidStudio环境开发的天气app-系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows10系统下进行开发。主要实现了:1、定位城市天气显示;2、城市编辑功能(增、删、改、查)以及对应天气显示信息的改变;3、天气信息的Widget窗口显示(城市的编辑功能可以远程的更新Widget窗口信息的显示)4、下拉刷新、天气显示界面左右滑动、城市拖拽等小模...

2017-05-25 20:37:35 79376 797

原创 面试c++研发工程师需要看哪些书

本文主要是我现阶段对将要学习的几本书的罗列,并不保证对大家有用,如果没兴趣可以不用继续看下去了,谢谢。如果你有什么建议和指导,欢迎交流,谢谢!1.对linux C 编程的学习。PS: Linux是一个非常经典的系统,熟练的掌握它能够让你后面的学习变得更加高效和深入。《linux C 编程》、《linux 操作系统原理与运用》2.对c++能有一个良好的基础和深入的认识。PS: 不管学什么

2016-05-18 10:12:33 4024

天气预报源码(全)

很全面的Android天气预报源码,有widget小窗口,多页面多城市,城市的增删改查。四大组件、开源库都有涉及到,想在Android学习初期做个项目练手的。这是最好的选择。

2017-06-09

空空如也

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

TA关注的人

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