自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Android dumpsys命令总结

dumpsys

2024-05-23 16:05:24 165

原创 Excel单元格里的值等于指定值,高亮它所在的一行或一个区域

高亮一行

2022-11-09 14:28:38 1513 1

原创 bat脚本-批量删除文件前缀

windows批量删除文件名前缀

2022-08-31 22:57:57 4571

原创 树莓派调试板适配

串口名称是 USB-SERIAL CH340,波特率是115200,其余默认即可。关闭log中的内核error:echo 0 > /proc/sys/kernel/printk

2021-12-03 17:17:26 171

原创 Android源码URL

https://www.androidos.net.cn/sourcecode

2021-04-27 09:59:54 102

原创 树莓派Android10源码试装

树莓派Android10系统试装

2020-11-10 09:12:05 2278 2

原创 Android源码编译(基于配置好的环境)

该博客是已经配置成熟的编译环境,用于快速的下载新代码参照,如果没有配置编译环境,请参照我的另一篇博客链接。(1)切换Python至version3.6+:sudo update-alternatives --config python有问题,请参照我的另一篇博客链接。(2)初始化源码仓库,这里将repo文件中的google的REPO_URL改成清华的url:repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/man

2020-10-19 17:58:29 137

原创 Android源码编译(逐步演绎版:遇到问题,解决问题,直至完成)

查看repo库上分支版本:git --git-dir=.repo/manifests/.git/ branch -a

2020-10-19 17:54:58 642

原创 Android源码编译时Python版本问题(EOFError: marshal data too short)

在repo init时,需要python3.6+,在编译android源码时,又需要Python2.7,可以使用如下方式配置:使用update-alternatives 命令处理 Linux 系统中软件版本的切换,使其多版本共存。向系统注册python3.8.2:sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.8 2向系统注册python2.7:sudo update-alternat

2020-09-24 14:20:37 2464

原创 APP安装时的广播通知

结论:安装新APP时系统发出的广播:09-15 06:11:12.838 18166 18166 D test1 : action = android.intent.action.PACKAGE_ADDED, packageName = package:com.estrongs.android.pop替换APP时系统发出的广播:09-15 06:09:15.329 18166 18166 D test1 : action = android.intent.action.PACKAGE_REM

2020-09-15 15:23:28 545

原创 线程池

C++:

2020-06-11 07:39:52 115

原创 Git命令使用[日常随记]

//创建分支并切换$ git checkout -b work、//查看本地分支$ git branchmasterwork

2020-05-25 16:52:23 153

原创 C++和Java的语法区别整理

#前言:当使用某种语言开发做一段项目后,再切换其他语言时,总是会出现一些不适用的情况,虽然大多数语言都是相通的,但还是有必要先整理他们的区别,方便切换时使用。#正文:(1)创建和销毁对象:C++:Java:(2)(3)(4)(5)(6)(7)(8)(9)(10)...

2020-02-06 12:26:53 1166

原创 Visual Studio调试Linux平台的C++程序(CMake)

CMake是一个跨平台编译工具,可以生成各平台的makefile,非常方便。关于“Visual Studio调试Linux平台的C++程序”,请参照我的另一篇文章,https://blog.csdn.net/liudi_ly/article/details/104110079构建CMake工程:打开Visual Studio,新建CMake Project,配置CMake settings ...

2020-01-29 22:02:39 1205

原创 Visual Studio调试Linux平台的C++程序

开发环境:Windows8.1Visual Studio 2019虚拟机运行ubuntu-18.04.1-desktop-amd64.iso使用Visual Studio Installer安装Linux development with C++工具包配置:新建一个Console App工程,按照工程中的Getting Started页,进行设置即可。比如需要在linux系统...

2020-01-29 21:09:47 898

原创 Android开发注意事项

(1)Android推荐使用SparseArray来替代HashMap:(执行不一定快,但是节省内存)Map<Integer, String> bbb = new HashMap<>();替换为:SparseArray ccc = new SparseArray<>();...

2020-01-19 17:23:07 118

原创 androidx.lifecycle.Transformations函数分析

package androidx.lifecycle;import androidx.annotation.MainThread;import androidx.annotation.NonNull;import androidx.annotation.Nullable;import androidx.arch.core.util.Function;/** * Transforma...

2019-12-26 20:22:14 790

原创 设计模式-观察者模式

定义了对象之间的一对多依赖,当被观察的对象改变时,依赖其的所有观察对象都会收到通知,并可以根据需求,选择被动方式或主动方式获取数据。最重要的优点:可以解耦,实现对象间的松耦合,依赖程度降到了最低。...

2019-12-25 09:20:30 120

原创 Android的PackageName和ComponentName

(1)PackageName:[是一个字符串]就是AndroidManifest.xml文件中的package=“com.android.car.media.localmediaplayer”(2)ComponentName:[是一个对象,包含了PackageName和ClassName]可以定位App,使用它可以打开一个App的Activity或Service。 public ...

2019-12-24 16:12:46 783

原创 Java注解

Override注解是开发中最常用的,用来修饰继承或实现时需要实现的方法,如果书写错误编译时就会报错。@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Override {}@interface 定义一个注解查看Android SDK源码中的源文件Override.java@...

2019-12-12 13:54:16 92

转载 UML中类之间的六大关系

理解六大关系中在代码中的体现,就可以轻松的阅读设计模式一、泛化关系(Generalization) 说明:这种关系就是面向对象语言中的继承关系,逻辑上可以用"is a"表示。 代码体现:子类继承父类。 UML符号:一条实线+空心箭头。 图示:二、实现关系(Realization) 说明:和泛化关系相似,逻辑上也是用"is a"表示。区别在于实现关系继承一...

2019-12-11 11:40:16 737

原创 Audio Studio安装遇到的问题

(1)Android Studio报错找不到证书:需要在Android studio的jre\jre\lib\security下导入证书C:\Android\Android Studio\jre\jre\lib\security>keytool -import -aliasMyCA -keystore cacerts -file C:\Users\AAA\Documents\Cer\...

2019-12-06 13:40:19 768

原创 ProtoBuf下载和安装(Linux)

我使用的Ubuntu系统,记录下我安装的过程。下载:ProtoBuf下载首页,可以选择最新的正式版本进行下载。https://github.com/protocolbuffers/protobuf/releases我下载的最新的是3.10.1,下载地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.10.1安装手...

2019-11-27 15:44:10 714

原创 ProtoBuf的Socket中应用示例

写了一个socket通信下的ProtoBuf示例,三个文件:Proto协议:HelloProtobuf.proto;服务端,用于接收数据,并反序列化对象:Service.cpp客户端,用于发送数据,从控制台读取数据后,序列化后通过socket发送到服务器端:Client.cpp编写HelloProtobuf.proto文件:syntax = "proto3"; packag...

2019-11-27 15:36:29 597

原创 Socket最小Demo(Linux版)

Service端:新建文件:service.cpp#include <sys/types.h> #include <sys/socket.h>#include <stdio.h>#include &l...

2019-11-25 11:43:32 150

原创 vim常用命令

替换所有文件中的字符串“/Def.h”为“include/Def.h”sed -i s#"/Def.h"#"include/Def.h"#g `grep "/Def.h" -rl --include="*" ./`

2019-11-21 18:39:01 72

原创 Linux常用命令

查看当前目录下所有文件和目录大小(子子孙孙):du -ah查看当前目录下文件和目录大小(儿子们):du -sh *查看当前磁盘使用情况:df -h

2019-11-21 18:35:20 60

原创 static的vector成员变量的写法

在h头文件中:static std::vector<int> vec;在cpp源文件中:std::vector<int> A::vec;

2019-11-19 10:44:32 1126

原创 可变参数(C++版)

可变参数很常用,在这里整理一下:(1)宏定义可变参数:#define LOGE(...) fprintf(stderr,__VA_ARGS__)(2)函数可变参数:代码拷贝自:#include <iostream>#include <stdarg.h>//va_xxx 一系列函数必须引用该头文件//使用一个固定参数表示可变参数的数量,这里就是coun...

2019-11-15 17:15:40 656

原创 在线编译器

使用起来还不错的在线编译器:C++:http://coliru.stacked-crooked.com/多种语言:https://ideone.com/这个没用明白,但是觉得很高大上,以后有空再研究。https://gcc.godbolt.org/...

2019-11-14 10:03:38 107

原创 设计模式-单例模式

单例模式非常常用,但是在项目中一个对象是否真的需要设计成为单例,需要仔细斟酌,避免不必要的资源浪费。最优秀的单例写法,直接上代码,方便使用时直接拷贝:C++:Meyers’ Singleton,《Effective C++》系列书籍的作者 Meyers 提出的,属于懒汉模式(该对象生命周期从声明到程序结束),从C++11版本开始是线程安全的。更具体的详见博客:https://www.cn...

2019-11-13 22:10:56 258 1

原创 Android启动Service的两种方式之bindService()

Android中启动Service的两种方式:startService()bindService()此文介绍第2种:bindService()源码下载

2015-06-19 22:02:17 424

原创 Android启动Service的两种方式之startService()

Android中启动Service的两种方式:startServicebindService此文介绍第1种:StartServicestartService()方式启动的service和启动它的activity的生命周期无关。Android Service的生命周期包括onCreate(), onStart(), onDestroy()。startService()方式启动Service,系统

2015-06-09 22:03:57 708

空空如也

空空如也

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

TA关注的人

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