
Android基础
文章平均质量分 72
余生爱静
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Activity启动模式探究
Activity启动模式原创 2024-07-07 17:00:10 · 968 阅读 · 0 评论 -
Pixel 手机上连接提示受阻,无法上网-解决方法
【代码】Pixel 手机上连接提示受阻,无法上网-解决方法。原创 2024-04-08 10:30:09 · 1771 阅读 · 0 评论 -
android camera系列(Camera1、Camera2、CameraX)的使用以及输出的图像格式
android中camera的预览和数据操作原创 2024-01-25 18:02:40 · 5677 阅读 · 0 评论 -
基于官网sh脚本构建SDL android项目
基于SDL官网源码sh脚本,构建SDL android项目原创 2023-11-30 10:51:19 · 513 阅读 · 0 评论 -
android基于UDP实现聊天小功能
通过UDP,结合wireshark解读网络协议原创 2023-11-27 18:07:49 · 1849 阅读 · 0 评论 -
Android Studio xml文件id爆红但是项目可以运行
xml的id爆红,但是不影响项目运行原创 2023-11-23 14:15:22 · 816 阅读 · 0 评论 -
数据结构动手系列-基于数组实现栈结构数据
手撸基于数组实现栈数据结构原创 2023-03-30 11:20:04 · 405 阅读 · 0 评论 -
Ubuntu下载android10源码和编译并刷入Google Pixel3a真机
ubuntu环境,下载、编译、刷机详细文档原创 2023-03-29 14:09:02 · 2749 阅读 · 5 评论 -
数据结构动手系列-基于数组实现ArrayList
基于数组实现ArrayList原创 2023-03-23 09:46:23 · 211 阅读 · 0 评论 -
Android ubuntu环境下载android源码
ubuntu下载android源码原创 2022-06-23 00:01:26 · 2072 阅读 · 0 评论 -
Android Studio连接不到模拟器的解决方案
adb连接android设备原创 2020-01-05 14:18:07 · 4368 阅读 · 1 评论 -
使用adb命令管理应用
adb常用命令总结原创 2019-12-16 08:31:49 · 8519 阅读 · 0 评论 -
蓝牙的应用
上一篇博客结合文档加上自己的理解,简单的梳理了蓝牙的相关操作,接下来就结合自己的理解和相关的资料写了一个Demo,练练手。 BlueToothManager:该类主要封装了对蓝牙开启,关闭,获取设备列表,发现设备,搜索等核心功能。public class BlueToothManage { private BluetoothAdapter mBtAdapter =null原创 2016-01-20 15:43:32 · 545 阅读 · 0 评论 -
线程池核心之ThreadPoolExecutor
这张线程池类图会始终贯穿线程池的始终。今天要学习的主角就是ThreadPoolExecutor工作流程ThreadPoolExecutor是java JDK中对线程池这一概念的实现,首先我们来看一下它的工作流程,然后在通过源码,来了解JDK中对工作流程的实现从图中可以看出,当用户提交一个任务的时候,线程池的处理流程:1)线程池判断线程池里的核心线程是否都在执行任务,如果不是,则创建新...原创 2019-06-08 17:56:09 · 1443 阅读 · 0 评论 -
线程池核心之ScheduledThreadPoolExecutor
从线程池的UML类图可以看到,ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,所以它拥有ThreadPoolExecutor的所有功能,同时它又实现了ScheduledExecutorService接口,所以,这个接口的实现又赋予它新的功能,那就是定时任务的功能...原创 2019-06-15 09:31:24 · 3014 阅读 · 0 评论 -
并发编程三大bug产生背景
这些年,我们的CPU、内存、I/O设备都在不断迭代,不断朝着更快的方向发展。但是,在这个快速迭代的过程中,有一个核心矛盾一直存在,就是 三者的速度差异。CPU和内存的速度差异可以描述为:CPU是天上一天,内存则是地上一年(假设CPU执行一条指令需要一天,那么CPU读写内存的等待一年)。内存和I/O设备的速度差异就更大了,内存是天上一天,I/O设备是地上10年。程序里大部分语句都要访问内存,有些还...原创 2019-06-17 07:27:44 · 267 阅读 · 0 评论 -
并发编程可见性和有序性解决方案之java内存模型
我们已经知道转载 2019-07-03 06:27:18 · 261 阅读 · 0 评论 -
并发编程原子性解决方案-----互斥
之前总结过,一个或者多个操作在CPU执行的过程中不被中断的特性,称为“原子性”。原子性问题的源头是 线程切换,如果能够禁用线程切换不就能解决这个问题了吗?而操作系统做线程的切换是依赖CPU中断的,所以禁用CPU发生中断就能够禁止线程切换。在早期单核 CPU 时代,这个方案的确是可行的,而且也有很多应用案例,但是并不适合多核场景。这里我们以 32 位 CPU 上执行 long 型变量的写操作为例...原创 2019-07-03 07:04:33 · 416 阅读 · 0 评论 -
Java 语言提供的锁技术:synchronized
Java 语言提供的锁技术:synchronized锁是一种通用的技术方案,Java 语言提供的 synchronized 关键字,就是锁的一种实现。synchronized 关键字可以用来修饰方法,也可以用来修饰代码块,它的使用示例基本上都是下面这个样子:class X { // 修饰非静态方法 synchronized void foo() { // 临界区 } ...原创 2019-07-09 07:33:38 · 343 阅读 · 0 评论 -
Java SDK并发包的锁------Lock
我们提到过在并发编程领域,有两大核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。这两大问题,管程都是能够解决的。Java SDK 并发包通过 Lock 和 Condition 两个接口来实现管程,其中 Lock 用于解决互斥问题,Condition 用于解决同步问题。...原创 2019-07-15 06:02:06 · 552 阅读 · 0 评论 -
Tinker的自我介绍
Tinker是什么Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。它主要包括以下几个部分:1、gradle编译插件: tinker-patch-gradle-plugin2、核心sdk库: tinker-android-lib3、非gradle编译用户的命令...转载 2019-07-15 17:55:16 · 526 阅读 · 0 评论 -
Tinker接入全流程---配置篇
接入全流程配置Gradle1、项目gradle2、app moudleapply plugin: 'com.android.application'android { signingConfigs { release { keyAlias 'tinker' keyPassword 'tinker123456' ...原创 2019-07-16 18:26:41 · 2442 阅读 · 0 评论 -
Tinker接入全流程---编译篇
一、基准包生成1、配置tinker-id,保证唯一性2、执行assembleRelease3、查看生成的基准包信息二、补丁包生成1、修改baseApkDir,必须和基准包的路径保持一致,重要的事情说三遍:和基准包的路径保持一致,和基准包的路径保持一致,和基准包的路径保持一致2、修改tinkerId:必须和基准包的manifest里面的TINKER_ID不一样,重要的事情说三遍:和...原创 2019-07-16 19:10:27 · 1103 阅读 · 0 评论 -
线程池-ThreadPool
使用背景虽然在 Java 语言中创建线程看上去就像创建一个对象一样简单,只需要 new Thread() 就可以了,但实际上创建线程远不是创建一个对象那么简单。创建对象,仅仅是在 JVM 的堆里分配一块内存而已;而创建一个线程,却需要调用操作系统内核的 API,然后操作系统要为线程分配一系列的资源,这个成本就很高了,所以线程是一个重量级的对象,应该避免频繁创建和销毁。 那如何避免呢?应对方案...原创 2019-06-07 17:28:16 · 461 阅读 · 0 评论 -
Java 线程概述
在详细介绍并发之前,今天重点学习一下线程原创 2019-05-29 06:49:51 · 390 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-02-25 11:57:40 · 472 阅读 · 0 评论 -
Android阅读源码从工具开始
常言说:工欲善其事,必先利其器,所以要很好的阅读Android的源码,就先准备好工具。原创 2016-03-07 15:32:45 · 2299 阅读 · 1 评论 -
Contacts Provider基础
作为四大组件之一的ContentProvider工作中我们很少会用到自己自定义的ContentProvider,用到的最多的就是系统提供的。官方文档提供了两种系统ContentProvider,一种是CalendarProvider,一种是Contacts Provider。今天我们的主角就是Contact Provider。原创 2016-01-12 14:51:01 · 3414 阅读 · 0 评论 -
Activity的Launch Mode的理解以及相对应的生命周期的运行
Activity的Launche Mode以及生命周期原创 2016-01-08 11:59:17 · 672 阅读 · 0 评论 -
绑定服务的初步解读
由于工作中很少用Service,所以对于service也只是初步了解,最近手头的项目基本进入收尾,所以有时间深入了解一下service.Service是四大组件之一,其重要性不言而喻,即使在面试中,也是面试官必问的问题。 启动一个service有两种方式,一种利用StartService;一种是利用BundService的方式。第一种方式估计大多数人都很容易理解,所以这篇博客重头戏就是以绑定的方式启动Service原创 2016-01-06 17:12:43 · 897 阅读 · 0 评论 -
Android USB HOST通信
之前做了一个关于Android USB通信的Case,通过Android的USB总线给Zigbee供电,和板载的Zigbee(基于Zigbee的自组网)进行通信。要使用Android的USB Host功能,首先你需要确定你的平板(手机)设备是否支持USB Host的功能,你可以从手机开发商的简介里面看到,这个功能是由CPU直接关联的,和软件没有关系,所以,你可以把你的外设模块插进去你的Androi转载 2016-01-20 16:21:58 · 1230 阅读 · 0 评论 -
蓝牙官方文档解读
The Basics 基础API: BluetoothAdapter 该类代表着本地蓝牙的适配器。 作用: 1、它是蓝牙间交互的入口点,利用它可以搜索其它的蓝牙设备,搜索与本机蓝牙已绑定(配对)的蓝牙设备, 2、利用MAC地址可以实例化一个蓝牙设备对象 3、创建一个服务端的Socket来监听与其它蓝牙设备通讯。原创 2016-01-20 14:18:26 · 1045 阅读 · 0 评论 -
java中的加解密操作
java中,加解密方式有五种,Base64、消息摘要、对称加密、非对称加密、数字签名。 消息摘要加密有两种算法:MD和SHA 对称加密有四种算法:DES、3DES、AES、PBE 非对称加密有两种算法:DH、RSA 数字签名有三种算法:RSA、DSA、ECDSA原创 2016-01-19 16:16:00 · 1388 阅读 · 0 评论 -
Android Nfc Beam数据传输
从NfcAdapter的官方文档我们可以得知,Android Beam技术可以实现简单的信息的传输,同样支持文件的传输。 简单消息的传输 一、简单信息的传输API: 1、enableForegroundNdefPush(Activity activi原创 2016-01-19 10:03:38 · 6055 阅读 · 0 评论 -
android-viewDragHelper总结
最近又把医生的《英雄传》重新读了一遍,书中有讲到ViewDragHelper这个知识点,之前在鸿洋的博客中也有读到,今天就结合两位大神的总结做一下自己的总结。原创 2016-03-23 11:25:54 · 1078 阅读 · 0 评论 -
Canvas绘制的总结
android绘图涉及三个类,Cavans、Paint和Path,今天的博客主角就是这三位啦!让我们一起走进android绘图的世界吧原创 2016-03-23 16:15:47 · 2048 阅读 · 1 评论 -
Android图像处理总结
图像的色彩处理一、ColorMatrix在色彩处理中,通常使用以下三个角度描述的:色调、饱和度、亮度,在Android的系统中,封装了一个ColorMatrix类来处理图像的色彩。原创 2016-03-24 12:01:00 · 784 阅读 · 0 评论 -
并发编程概括
并发编程是什么所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生并发编程的目标并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能并发编程解决的核心问题第一、分工所谓分工指的是如何高效的拆解任务并分配给线程1、Executor和线程池2、Fork/Join3、Future4、Balking模式5、Threa...原创 2019-05-23 01:52:31 · 3398 阅读 · 0 评论 -
4.4版本的手机拍照resultCode一直是0
今天用户反映一个问题,在4.4手机上,无法拍照了。我去,我试了一下,还真是存在这个问题,然后就开始google,发现答案都是和启动模式有关,我查,我没有设置启动模式啊!继续找,依然没有找到。找官网,发现官网关于相机拍照的一些代码片段有所调整,专门强调了4.4版本之前和之后的一些差异,估计问题就出在这里,然后在代码中专门判断了版本信息,然后~~~~~,然后就可以了!我日,之前怎么没有问题~~~~...原创 2018-09-25 12:00:55 · 683 阅读 · 0 评论 -
踩坑系列之---getIdentifier
int id=mContext.getResources().getIdentifier(item.getModelImg(),"mipmap",mContext.getPackageName());根据本地图片的名字,获取资源id,本以为会很爽,然而,打包发布后,我查,没有获取到图片,尼玛,啥情况?没打包之前,运行毫无问题,打包之后就有问题了,这时还无疑问和混淆配置有关啦! shr...原创 2018-09-14 10:29:03 · 2619 阅读 · 4 评论