自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Venus 的博客

科技改变世界,知识在于积累,更在于分享.

原创 开发学习常用网站

文章目录1、Android 开发1)Android 在线代码阅读1、Android 开发1)Android 在线代码阅读https://www.androidos.net.cn/sourcecode

2019-01-14 13:38:24 638

原创 常用工具 网站等

文章目录1、思维导视图1、思维导视图1)ProcessOn在线UML

2018-10-08 15:04:40 158

原创 android studio jni 调用 第三方 非标准 so库

文章目录1、简介2、先编译出一个第三方非标准so库1)android studio 新创建一个项目2) main 新创建 jni 文件夹3) 新建 .cpp 文件和 .h 实现 求和功能4)、编写 CMakeLists.txt 用来编译 cpp 文件到so5)配置编译环境6)、编译第三方 非标准 库3、新项目 引用第三方 so 库1)新建 android studio 项目2)新建 java 类,封装想要调用的接口函数3)Main 文件夹新建 jniLibs 文件夹4)创建 对应的 jni java 类

2020-08-08 20:24:21 44

原创 jni 在C 语言中添加 log

文章目录1、在Android.mk 文件中添加2、在 C 文件中引入LOG1、在Android.mk 文件中添加LOCAL_LDLIBS += -llog2、在 C 文件中引入LOG#include <android/log.h>#define LOG_TAG "System.out"//用于打印info级别的log信息#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

2020-08-08 16:04:40 31

原创 pyqt5 平移动画

文章目录1、实例展示2、代码逻辑实现1、实例展示2、代码逻辑实现import sysfrom PyQt5.QtGui import QPixmapfrom PyQt5.QtCore import QPropertyAnimation, QSequentialAnimationGroup, QRect, QAbstractAnimation, QPointfrom PyQt5.QtWidgets import QApplication, QWidget, QLabelclass Demo(

2020-08-08 15:36:07 20

原创 升级Ubuntu nodejs 版本

sudo apt-get install npmsudo npm install n -gsudo n stable备注n是一个Node工具包,它提供了几个升级命令参数:n 显示已安装的Node版本n latest 安装最新版本Noden stable 安装最新稳定版Noden lts 安装最新长期维护版(lts)Noden version 根据提供的版本号安装Node...

2020-08-07 20:35:46 25

原创 android studio 编译 jni 调用标准的so库 (2)

文章目录1、简介2、获取标准 so 库 包名和 接口说明3、新项目引用 标准 so 库1) 新建android studio 项目2)创建 jniLibs 文件夹拷贝库3)、java 文件目录创建so库引用相同的包名文件名4)、对 so 库的引用4、对非标准 so 库的引用1、简介这里的 so 库 是标准的 so 库,有完整的 包名和接口文档说明,则这样就可以直接在上层创建 相应的java 层接口,直接调用库方法。2、获取标准 so 库 包名和 接口说明就像上节我们创建的标准 so 库 根

2020-08-07 10:24:19 36

原创 android studio 编译 jni 库并被调用(1)

文章目录1、简介1)、NDK2) 、为什么使用NDK?3)什么是JNI?4) 为什么使用JNI?2、环境配置1)android studio ndk 下载2) ndk 路径配置(1)ubuntu 配置 ndk 全局路径(2)android studio 配置 NDK3 编译自身 so 库文件1) 新建 Android studio 项目2) 新建 一个 java 层 JNI 类3) javah 生成JNI 类 能够 和C /C++ 文件相互引用的头文件4) main 文件夹 下新建 jni 文

2020-08-06 20:50:33 55

转载 git repo 入门 简介

文章目录版本控制介绍一、原始版本控制二、本地版本控制三、集中版本控制四、分布式版本控制GIT一、获得GIT仓库二、GIT中版本的保存三、GIT文件操作版本控制介绍版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。。。一、原始版本控制最原始的版本控制是纯手工的版本控制:修改文件,保存文件副本。有时候偷懒省事,保存副本时命名比较随意,时间长了就不知道哪个是新的,哪个是老的了,即使知道新旧,可能也不知道每个版本是什么内容,相对上一版

2020-07-31 15:22:34 51

原创 repo 让源码恢复到原生状态

repo sync -dorrepo forall -vc "git reset --hard"可以清除源码里面的所有记录,让源码回到最初状态

2020-07-21 19:27:28 59

原创 android 源码中 adb fastboot 编译后位置

有的时候ubuntu adb 或者fastboot 不识别,或者版本较低,我们就可以使用源码编译后的abd ,fastboot路径:/out/host/linux-x86/bin/adbfastboot然后把他们拷贝到 /usr/bin/ 下就可以在 ubuntu 中使用

2020-07-21 19:23:16 71

原创 pip 升级到 20.1.1

1) 添加镜像源python -m pip install --upgrade pip -i https://pypi.douban.com/simple2) 安装包pip install yapf -i https://pypi.douban.com/simple3) 查看版本

2020-07-21 19:06:41 181

转载 Android OTA差分包升级失败 img sha 验证问题

升级失败log如下:I update_engine: [0530/162336:INFO:delta_performer.cc(359)] Applying 21701 operations to partition "system"E update_engine: [0530/162336:ERROR:delta_performer.cc(1060)] The hash of the source data on disk for this operation doesn't match the e

2020-07-16 17:31:18 134

转载 Android5.0 Recovery源代码分析与定制---recovery UI相关(二)

在上一篇文章中,我们大致的介绍了recovery的启动流程,那么,recovery升级或者做双清的时候,那些图形动画又是如何实现的呢?我们来看看代码。以下这段代码位于recovery/screen_ui.cpp1void ScreenRecoveryUI::Init() 2{ 3 gr_init(); 4 5 gr_font_size(&char_width, &char_height); 6 7 text_col = text_row = 0; 8

2020-07-16 17:25:42 94

转载 Android5.0 Recovery源代码分析与定制(一)

Android的系统升级,Android的线刷,卡刷,格式化究竟有什么奇妙的地方呢?它又是怎么实现的呢?今天我将为大家揭开它的面纱!我们以Tiny4412的Recovery源代码为例,虽然4412并没有支持Recovery系统,但弄明白它的原理,我们也可以开发或者移植一个出来。其实,在recovery.cpp中开头就已经做了详细的说明,我们来看看。che/recovery/intent - OUTPUT - intent that was passed in 6 * 7 * The arguments

2020-07-15 20:09:26 94

转载 Android OTA升级(二)之ota_from_target_files文件分析

概要:此部分为全包升级主要实现过程,涉及到ota_from_target_files 文件,这个也是制作全包和差分包的主要工具,接下来我们就着重分析怎么利用这个工具制作full_ota_package的。主要流程:源码分析:上节中Makefile中otapackage目标最后的cmd为:$(hide) MTK_SECURITY_SW_SUPPORT=$(MTK_SECURITY_SW_SUPPORT)MKBOOTIMG=$(MKBOOTIMG) \ ./build/tool

2020-07-07 20:05:45 211

转载 Android OTA升级(一)之Makefile文件分析

概要:此篇文章主要介绍Android ota包(Android L)的编译制作过程,侧重于Makefile中编译ota的流程,从指定target到编译cmd等流程。主要流程:源码分析:build/core/Makefile:.PHONY: otapackageotapackage: $(INTERNAL_OTA_PACKAGE_TARGET)/otapackage 伪命令,即执行 make otapackage时,将编译$(INTERNAL_OTA_PACKAGE_TARGET)目标/$(

2020-07-07 19:39:24 119

原创 repo sync 断点自动下载脚本

#!/bin/bashrepo sync -j4while [ $? -ne 0 ]doecho "======sync failed ,re-sync again======"sleep 3repo sync -j4done

2020-06-28 15:54:29 71

原创 搭建个人网站----3---centos7部署Tomcat

文章目录1、Tomcat 下载2、安装下载的包3、打开 关闭 Tomcat4、在tomcat 上部署我们自己的项目1、Tomcat 下载Tomcat通俗说就是一个web容器,商家将他的应用程序部署在Tomcat上,你通过浏览器也就是客户端进行访问时,Tomcat进行解析处理你的请求,然后将信息在返回你,如果没有Tomcat,这个应用解析不了你的请求,所以可以理解成,Tomcat也就是一个中转站,用来解析你的请求和进行返回数据打包。Tomcat 官网下载对应版本,一般应该是和自己 安装的 jdk

2020-06-05 21:08:42 73

原创 搭建个人网站----2---centos7部署服务器数据库 mysql

文章目录1、复制mysql 官方下载地址1、复制mysql 官方下载地址mysql 官网待续···

2020-05-25 20:16:51 111

原创 搭建个人网站----1---购买服务器 (腾讯云)

文章目录1、登录官网2、微信扫码登录3、选购配置4、付款购买5、查看购买服务器主机6、查看 控制台7、开通 服务器 外部访问端口8、ssh 链接服务器依照腾讯云为例1、登录官网2、微信扫码登录点选产品云服务器3、选购配置快速配置 是 已经帮你选好的配置 信息自定义配置 是 自己对服务器 配置进行选择一般有 cpu ,带宽 ,使用时长,系统等。4、付款购买如果是初次购买 比较便宜 可能就 几十块钱5、查看购买服务器主机返回主页 右上角 控制台点击6、查看 控制台点

2020-05-25 19:50:43 117

原创 面试资料合集

1、Android 6.0 面试宝典pdf 下载连接待续····

2020-05-22 12:20:06 72

原创 Android 基础知识面试

1、简述十个常用的linux 命令mkdir 创建文件夹rm -r 删除 文件 及文件夹mv 移动cp 拷贝cat 拷贝文件tail 查看文件尾部more 分页查看文件ls 列出文件清单reboot 重启date 显示日期cal 显示日历ps 查看系统进程ifconfig 查看网络配置vim 编辑文本2、说出几个Android 工程目录src 源文件gen 生成的 R 文件就在次android.jar 以来的 Android sdkassets 资源文件bin 生成的

2020-05-18 23:27:45 85

原创 java 高级面试部分合集

文章目录1、说说你对 java 中反射的理解2、java 中的静态代理,动态代理?1、说说你对 java 中反射的理解java 中 的反射首先首先是能够获取到java 中要反射类的字节码,获取字节码有三种方法,1)Class.forName(className)2)类名.class3)this.class()然后将字节码中的方法,变量,构造函数等映射成相应的Method、Filed、Constructor 等 类,这些类提供丰富的方法被我们使用。2、java 中的静态代理,动态代理?待续

2020-05-14 20:10:25 73

原创 python selenium 根据文本寻找元素,或着判断是否含有指定文本

1、根据文本找指定元素python:driver.find_element_by_xpath("//*[text()='花呗套现']").click()driver.find_element_by_xpath("//*[contains(text(),'花呗')]").click()2、判定页面是否含有指定文本if text in driver.page_source: return True...

2020-05-09 20:41:07 517

原创 autojs 蚂蚁森林能量自动拾取即给指定好友浇水

文章目录1、简介2、开发环境搭建1)、手机安装 auto.js2)、电脑安装vcCode3)、vcCode 安装autojs插件4)、连接电脑端的 vcCode 和手机端的 autojs(1).开启AutoJS插件(2) 查看电脑ip(3) autojs 手机连接电脑3、编写功能代码1) 、使用 vcCode 进行代码编写2) 、运行代码3) 保存电脑上的代码到手机4)自动拾取蚂蚁能量的参考代码...

2020-05-01 17:53:29 2602

原创 java clone 阐述

文章目录1、为什么要clone2、new 对象和 clone 对象的区别3、clone 对象的使用1) 我们 先看 一下 赋值引用;2)下面我们看一下克隆一个对象:4、clone 分为 浅拷贝 和 深拷贝1、为什么要clone当一个对象需要被多人操作,但是又不相互影响,需要保持原对象的状态,这时就会克隆出许多不同的对象。2、new 对象和 clone 对象的区别new 操作 本质是操作内存...

2020-04-27 21:34:50 148

原创 python openpyxl 实现 excle 的读写与修改

1、读 excle:import openpyxlfileName = "myExcle.xlsx"wb = openpyxl.load_workbook(fileName) #加载excle 文档sheet = wb.active #获取当前sheet 默认第一个#sheet = wb["Sheet1"] # 根据 Sheet name 获取对应表maxRow = sheet.m...

2020-04-23 21:43:48 161

原创 python 暴力破解密码

import itertoolstsPassWord = "13@dcN" #设置的测试密码lenPassword = 6 # 密码长度wordList="0123abcd@!MN"#密码字符集合passWd = itertools .product(wordList,repeat=lenPassword) #调用迭代函数 自匹配for i in passWd: str ...

2020-04-18 16:41:21 358

转载 Android 开源项目分类汇总

转载GitHub原文地址:https://github.com/Trinea/android-open-project待续·······

2020-04-16 23:16:44 144

转载 Android观察者模式(Observable)实例

一:前言最近在遇到了Android的开发中常用到的设计模式之观察者模式,观察者模式,所谓的模式就是一种设计思想,可以按照某种模式,写出更合理,简单,有效的代码。可以用在Android开发中,也可以用在Java,C#等等开发中,就类似单例模式,代理模式,模版等等。二:什么是观察者模式个人理解所谓的观察者模式,打个比喻,就好比,老师在教室上课,学生在教室听课,这里的老师就是被观察者,而这时候的在...

2020-04-15 21:25:38 182

原创 Python 读写修改 Excle

文章目录1、初次创建 写入 Excle2、读取 Excle 内部数据3、修改已经存在的Excle1、初次创建 写入 Exclefrom time import sleepimport xlrdfrom xlutils.copy import copyimport xlwtclass OperateExcle: def __init__(self): self....

2020-04-10 21:15:26 84

原创 Android Loader 数据异步加载

文章目录1、简介2、耗时加载数据常用方式1) Thread + Handler![在这里插入图片描述](https://img-blog.csdnimg.cn/20200409210014534.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0...

2020-04-09 21:13:14 117

原创 adb 获取app 当前 activity,以及打开

adb logcat | grep Displayed或者adb shell dumpsys window | findstr mCurrentFocusadb 命令打开指定 activityadb shell am start -n com.***.view/com.***.***.Activity -S

2020-04-09 15:51:36 355

原创 Android 判断连接的wifi是否能访问网络

如果只是想检测网络是否连接,则直接使用 isNetworkConnected()如果想检测网络连通性(是否能访问网络),则 isNetworkConnected() 与 isNetworkOnline() 结合使用。private boolean isNetworkConnected() { ConnectivityManager connMgr = (ConnectivityMana...

2020-04-08 21:34:40 254

原创 pycharm print 内容缺失 (内容包含 \r \n)

代码如下:sttr = "456\r789"print(sttr)log:只能打印出 789 ,前面的 456 并没有显示主要原因是:\r 代表回车,也就是打印头归位,回到某一行的开头。也就是将这一行前面的覆盖了。“\n” “\r\n” 表示换行...

2020-04-08 20:50:55 123

原创 python 获取当前时间 包含毫秒

类似效果:import timedef get_time_stamp(): ct = time.time() local_time = time.localtime(ct) data_head = time.strftime("%Y-%m-%d %H:%M:%S", local_time) data_secs = (ct - int(ct)) * 1000...

2020-04-08 20:38:08 1022

原创 Chrome Driver 与 Chrome 版本对应表 / Ie

ChromeDriver VersionChrome Version2.3562-642.3663-652.3764-662.3865-672.3966-682.4066-682.4167-692.4268-702.4369-712.4469-712.4570-722.4671-73...

2020-04-08 20:18:30 367 3

原创 白话 Android 设计模式之 合成复用原则

文章目录1、简介2、实例简介1、简介尽量使用对象组合/聚合, 而不是继承关系达到软件复用的目的。什么意思呢,就是使用代码实现功能的时候。尽量的使用对象组合的形式,不要采用继承等方式。比如我们有老师和学生,老师有一个方法是讲课,学生也可以去讲课,用继承的方式我们很好理解。那么老师有啥学生有啥,老师变啥学生也要变啥,这就导致学生和老师之间有一定的耦合性。那倘若我既想要老师的方法,又不想被...

2020-03-23 11:20:09 61

原创 白话Android 设计模式之 最少知道原则

文章目录1、简介2、实例展示。1、简介最少设计原则,一个实体应当尽量少的与其他实体之间发生作用,使得系统模块功能相对独立。也就是说一个软件实体应该尽可能少的与其他实体对象发生作用。这样,当一个模块修改时,就会尽量少的影响其他的模块。我们举一个商店买东西的例子,就是你付钱给售货员,然后他给你商品一种设计模式是:也就是 钱是属于顾客的和顾客有关系,但是这个时候钱直接被售货员获取!商品...

2020-03-20 16:19:48 50

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