自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android进程间通信 - 几种方式的对比总结

什么是RPCRPC(Remote Procedure Call)即远程过程调用,它是一种通过网络从远程计算机程序上请求服务,在不需要了解底层网络技术的协议下,即可获取计算机进程中的数据。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC在OSI网络通信7层模型中,位于传输层与应用层之间,即位于会话层: RPC实现模式,就是我们常说的C/S结构,引用百度百科的定义:...

2018-07-29 21:12:45 25422 1

原创 Android进程间通信 - Socket使用(TCP、UDP)

在使用Socket实现进程间通信前,先对网络协议相关知识进行简单回顾。网络分层一般情况会将网络分为5层:应用层     常见协议:HTTP、FTP、POP3等传输层     常见协议:TCP、UDP网络层 &amp

2018-07-28 19:38:30 6152 3

原创 Android进程间通信 - ContentProvider内容提供者

简介ContentProvider主要用于在不同的应用程序间实现数据共享的功能,允许一个程序访问另外一个程序中的数据,还能保证数据访问的安全性。 是Android跨进程实现数据共享的标准方式。ContentProvider相当于进程间的搬运工,对数据一系列的操作(CRUD)数据源可以是数据库(SQLite等)、文件、xml、网络等等。统一资源标识符(URI)UR...

2018-07-22 20:37:48 3590

原创 Android进程间通信 - Messenger的使用和理解

Messenger简介Messenger是基于Message对象进行跨进程通信的,类似于Handler发送消息实现线程间通信一样的用法。Messenger使用下面写个客户端跨进程发送消息到服务端,服务端接受到立即回复的例子。服务端实现流程首先创建一个Handler对象接着创建一个Messenger对象,并把Handler对象以形参传入Messenger中最后通...

2018-07-18 02:16:47 7279 2

原创 Android进程通信 - AIDL解析与Binder浅析

在上篇我们知道了AIDL的基本使用Android进程通信 - AIDL的使用方法,然而还存在使用上的疑问,比如:AIDL是怎么实现IPC的?服务端创建Binder对象或者客户端AIDL接口对象,都调用Stub()方法实现,那么该方法具体有哪些操作? 什么是Binder?其实上面这三点可以统称理解为AIDL本质是什么;下面重点对AIDL文件生成的java文件进行解析,在创建了AIDL...

2018-07-16 22:31:11 868

原创 Android进程通信 - AIDL的使用方法

AIDL简介AIDL是Android接口定义语言,有点类似于我们开发中的普通接口。由于不同进程间不能共享内存,为了解决进程间通信的问题,可以通过AIDL接口语言来实现进程间的通信。AIDL文件支持的数据类型基本数据类型(int、long、char、boolean、double)String和CharSequenceList和Map集合 集合内元素必须是AIDL支持的数据类型服...

2018-07-15 02:17:20 3396 2

原创 Android进程通信 - 序列化Serialzable与Parcelable

序列化简介定义序列化是将对象的状态信息转换为存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从储存区中读取或反序列化对象的状态,重新创建该对象。 简单而言: 序列化是将对象转换成字节流 反序列化是将字节流转化成对象。用途主要用途:序列化将对象写成字节流持久化保存在内存、文件、数据库中将序列化对象通过网络...

2018-07-11 01:24:59 2501

原创 HarmonyOS鸿蒙应用开发——原生与H5通信框架DSBrigde-HarmonyOS

HarmonyOS版的DSBridge,通过本库可以在鸿蒙原生与JavaScript完成交互,相互调用彼此的功能。目前兼容Android、iOS第三方DSBridge库的核心功能,基本保持原来的使用方式,可以放心接入到项目中,后续会持续迭代保持与Android库相同的功能,减少前端和客户端的适配工作。支持以类的方式集中统一管理API;支持同步和异步调用;支持进度回调/回传:一次调用,多次返回;支持API是否存在的测试 (当前仅支持检测原生API,在调用call()方法时会自检测)

2024-01-09 14:22:40 1985 1

原创 HarmonyOS鸿蒙应用开发——数据持久化Preferences

数据持久化就是将内存数据通过文件或者数据库的方式保存到设备中。返回值类型是不确定性,定义一个联合类型的别名。,方便后期可以通过单例直接获取实例;实例后会将其保存单例中,这个单例是。实例就可以对数据增删改查操作。注意:以上方法都是异步的。方法中创建实例,其中。

2023-12-13 00:08:43 1775 12

原创 HarmonyOS鸿蒙应用开发——HTTP网络访问与封装

其实在http模块中已经有对应的枚举,之所以再用一个新枚举来声明,是简化使用,同时也是将http模块相关细节屏蔽掉不对外开放,这样可以灵活替换网络库。来封装一个网络请求库,统一管理请求参数、响应数据、日志的输出等,对外屏蔽了细节,使用者只需定义业务数据的实体类以及调用即可。第二、创建httpRequest对象,上面就是网络请求的简单使用,接下来通过。把各种请求方式用枚举声明。**开放接口为测试用例。第三、发起请求,比如。

2023-12-10 17:41:02 3363 3

原创 TypeScript笔记

TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。可以在任何浏览器、计算机、操作系统上运行,并且是开源的。最终会编译成JavaScript语法在浏览器中运行。类型系统,从可从两个角度来考虑类型安全:可分强类型与弱类型语言,强类型:在语言层面上,就约束着函数的实参类型必须与形参类型相同,另外不允许隐式类型转换。弱类型:在语言层面上,不要求函数的实参类型与形参类型是相同的,允许隐式类型转换。类型检查:可分静态类型与动态类型语言静态类型。

2023-07-11 22:44:45 1175 2

原创 webpack笔记二

Babel 是一个工具链,主要用于将采用 ES6+ 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。为了确保打包目录下所有文件都是最新的,因此在打包时需要清除webapck的。实际开发项目中,其实还可以再配置一个环境,如预生产beta环境。添加配置,需要配置生产模式 和webpack的最终配置文件。设置了webpack的构建文件,之前项目根目录的。打开http://localhost:8081/文件拆分了,在打包时自然需要合并了,通过。

2023-07-11 22:38:09 764

原创 webpack笔记一

webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。所谓打包工具就是把开发环境的代码转化成运行环境代码。一般来说,开发环境的代码是为了更好的阅读和开发,而运行环境的代码则是为了能够更快地执行。因此开发环境和运行环境的代码形式也不相同。比如开发环境的代码,要通过混淆压缩后才能放在线上运行,这样代码体积更小,而且对代码执行也不会有任何影响;

2023-07-11 22:31:54 728

原创 CSS-Grid网格布局笔记

显示网格:是指item在定义单元格范围内,比如一行三列的布局,若item在这布局中就是显示单元格,不在则为隐式单元格。前提是容器的子元素超过了网络布局定义范围,比如一行三列的布局,正常是三个元素,但隐式单元格就是超过了三个元素。单元格列数跟随容器宽度自适应,宽度最小不会小于100px,行数是一个隐式单元格属性,会自动适应容器大小。上面没有给网格布局设置宽度与高度,以及网格的列数、行数,都是跟随元素和分辨率自动调节网格的列数、行数。默认子元素都是独占一个单元格的,如果要进行合并单元格,除了前面提到的用。

2023-07-11 22:18:10 1356

原创 解决node环境下SyntaxError: Cannot use import statement outside a module的问题

CommonJS作为Node.js 的规范,一直沿用至今,现在很多类库还在用CommonJS ,而ES6的import/export出现相对晚很多,在Node13以上环境为了兼容ES6的特性,就需要创建package.json文件指明type类型为module。

2022-11-02 21:26:36 3672 1

原创 安装使用nginx解决跨域问题

同源策略的出发点是好的,保护数据的安全性,但也影响着开发的便利性,给开发者造成困难,比如不能正常访问非同源的第三方网络接口。对于网络请求,我们可以用nginx来代理转发接口,避开浏览器同源策略的限制。

2022-10-30 18:02:48 2295

原创 adb命令删除offline离线手机设备

最近在使用React Native,选择了夜神模拟器,连接模拟器需要进入安装目录连接,通过。在调试Android应用过程中,经常会使用adb命令,比如检测设备连接状态时,会使用。,如果在使用过程会出现频繁断开的话,可以参考这篇文章解决。尝试过如下方法来删除离线设备,都未解决。另外记录adb常用命令, 后续慢慢补充。最后把数据线拔掉就可以了。,夜神adb默认端口是。

2022-09-25 23:21:47 5718

原创 No connected devices found; please connect a device, or see flutter.dev/setup for getting started in

No connected devices found; please connect a device, or see flutter.dev/setup for getting started instructions这个问题困扰我两天的时间,之前的老项目也是一样的网上的方案几乎全部都试了一遍,在我这里都是没有效果的,就差重装AS了。当然也可以按照下面的方案试试,毕竟有小伙伴是可以解决他的问题。flutter的环境配置都是正常的,没有问题的, 检测出设备是有识别的,就是不知道问题出哪里。最后在技术群

2022-06-26 19:06:24 3224

原创 修复损坏的SQLite数据库文件(database disk image is malformed)

最近实施那边反馈,有个别客户明明是把数据保存到数据库,但在界面就是没有呈现出来查询不到数据,为了跟踪排查问题与实施沟通后,决定让客户将数据库导出发回来。在SQLite Stuido工具可以正常查看该表的所有数据,但用sql语句去查询某条数据时却无法正常访问,抛出如下异常:https://blog.csdn.net/wjb123sw99/article/details/89463307https://blog.csdn.net/fangye945a/article/details/94762526.

2021-10-25 09:55:00 8104

转载 Android Studio Build Output 栏内汉字出现乱码的解决方案

先上个图 就是图中红框内显示的毛病,Build Output栏中的汉字出现了乱码,其它地方都没有乱码。 此方案仅适用于图片中出现的乱码。 百度上的消除乱码的方案都试了一遍,一律没用,最后在必问上问的大神才解决,在这里感谢 “技术宅星云” 大神搭救。 解决方案如下: 1、打开Android Studio 2、打开Configure —> Edit Custom VM Options 3、...

2021-10-18 10:44:01 556 1

转载 深入理解js立即执行函数

看过jQuery源码的人应该知道,jQuery开篇用的就是立即执行函数。立即执行函数常用于第三方库,好处在于隔离作用域,任何一个第三方库都会存在大量的变量和函数,为了避免变量污染(命名冲突),开发者们想到的解决办法就是使用立即执行函数。 1.什么是立即执行函数(IIFE) 在了解立即执行函数之前先明确一下函数声明、函数表达式及匿名函数的形式,如下图: 接下来看立即执行函数的两种常见形式:( functio...

2021-10-09 13:44:31 221

转载 五分钟读懂UML类图

平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。那么属性/方法名称前加的加号和减号是什么意思呢?它们表示了这个属性或方法的可见性,UML类图中表示可见性的符号有三种.

2021-09-11 23:45:01 144

转载 设计模式中类的关系

     在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1. 依赖(Dependence)         依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另...

2021-09-09 16:46:12 130

原创 WebView独立进程方案-基于腾讯X5的二次封装

文章目录前言概述基本使用架构流程命令模式预初始化参考前言概述几乎所有的App都会用到WebView组件,用WebView承载业务功能也是一种选择,毕竟不用等待应用市场的审核,提升业务上线与bug修复的及时性,但WebView加载业务功能,也有很大的缺陷,体验不好(主要体现在加载、交互上)、耗内存;针对耗内存的问题这里提供跨进程的设计方案,让WebView在单独的一个进程中运行,这样做的好处是分担主进程的内存压力,另外WebView进程发生崩溃了,也不会影响到主进程的正常运行。WebView跨进程通信是

2021-08-08 19:53:34 2056

转载 javac “错误:编码GBK 的不可映射字符”

推荐推荐使用第一种方法,在javac命令中设置编码格式utf-8第二种方法将文件转成ANSI编码,中文注释会乱码转载与参考自:解决 java “错误:编码GBK 的不可映射字android studio 中的编码问题问题与解决过程 public class HelloWorldwww{ public static void main(String args[]){

2021-04-05 09:09:30 867

原创 Git - Failed to connect to github.com port 443: Timed out

问题描述系统环境:window10和以往一样的pull拉取代码,在今天忽然拉取失败,提示:Failed to connect to github.com port 443: Timed out字面提示与github.com链接超时,通过ping检测github.com是正常链接,github网站也是正常能访问的。查阅网上很多资料说是与代理有关联,接着尝试如下步骤,修改测试完美解决这个问题。问题解决一、进入设置 -> 网络和Internet在代理中把使用设置脚本开关打开,接着把脚

2021-04-02 23:39:34 9302 10

原创 快速入门uni-app写个简单应用

文章目录前言效果项目结构路由配置与跳转配置跳转参数获取网络请求前言uni-app相信很多人都不会陌生,特别是做前端更是,uni-app是基于vue.js开发的前端框架,一套代码多端运行;github star很平稳的增长,更多的是国内开发者关注,另外我们也看出关于跨平台的技术,flutter是遥遥领先,github star指数一定程度上可以辅助我们做技术选型。从百度指数来看,热度反而超过了flutter,可以看出uni-app框架在国内很受欢迎。觉得可以去尝试下,如果有vue的基础,对uni-ap

2021-03-20 16:13:47 744 3

原创 vue - 写给自己看的教程

文章是从有道云笔记转到csdn博客,如果存在图片丢失问题或者错误,可阅读原文与留言,谢谢!文章目录vue项目结构vue单文件结构项目结构模板语法插值文本指令v-bind自定义绑定指令v-ondata属性条件渲染v-if和v-else if、v-elsev-showv-if 和 v-show 区别列表渲染v-model插槽概念具名插槽插槽下父子组件的数据交互路由路由命名路由跳转router-link路由跳转编程式路由跳转路由获参总结参考之前有段时间学习了vue,并做了一个简单项目,隔了半年多再去用vu.

2021-03-20 16:05:21 225

原创 CSS - 居中布局常用方法

文章是从有道云笔记转到csdn博客,如果存在图片丢失问题,可阅读原文文章目录Flex弹性盒子方法单行居中多行居中多列居中position + transform方法margintext-align总结参考居中布局在CSS中是一个很蛋疼的老问题,相信每位在刚刚入门的时候很烦恼,网上也有很多关于居中布局的文章,由于每个人场景不同可能很难选择一个自己适合的方法。今天总结下,会以打分的方式来排名,总分是5分Flex弹性盒子方法分数:5分为什么把Flex放在第一呢,无论是水平居中还是垂直居中、单行、多.

2021-03-20 15:55:01 816

原创 CSS - Flex弹性布局笔记

文章是从有道云笔记转到csdn博客,如果存在图片丢失问题,可阅读原文文章目录基本概念作用在父元素上的属性flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content作用在子元素上的属性orderflex-growflex-shrinkflex-basisflexalign-self参考刚刚接触CSS布局的时候,很多时候会依赖display + position + float属性来布局,在使用过程中很不方便。比如一些.

2021-03-20 15:43:28 278

原创 解决android studio download maven-metadata.xml卡住问题

最近在运行一个老项目时,一直卡在download maven-metadata.xml问题上,经历了各种操作都没发解决,比如开启VPN代理、清cache缓存、重启AS与电脑等都没解决这个问题,后来看到是maven云镜像仓库地址发现了改变,就尝试去更换新地址。刚开始只把的jcenter的仓库替换了也不行,接着后面把google和gradle-plugin的仓库地址换也换成了阿里的镜像地址。在项目根build.gradle配置如下:buildscript { repositories {

2021-03-14 09:42:28 7974

转载 解决Android依赖冲突Program type already present

前言 实际开发中,为了提高开发速度和效率,总避免不了引用第三方提供的依赖和类库,如果含有相同依赖的类库被我们引用时,而他们的版本又不相同,就有可能会导致一系列问题和异常,本文结合本人时间总结和他人经验,稍作总结。 问题 依赖 下面是一个项目build.gradle中的依赖,我们简单做一下分类 网络相关 okhttpretrofithttp-legacy 常用类库 rxpermission(权限监测)leakcanary(内存泄漏)BaseRecycl...

2021-03-12 15:19:46 2262

原创 HBuilder X 下载安装内置浏览器失败

文章目录前言解决方法参考前言今天周末闲着没有什么事,就抽空玩玩所谓很强大跨平台的uni-app,HBuilder X下载解压即可使用,写一个简单demo,一切都很顺利,但每次修改调试看结果都需要跑到手机看就很蛋疼了,在HBuilder X提供一个预览功能,需要在下载内置Web浏览器插件才可使用。在下载内置浏览器插件,一直提示下载失败,请检测网络是否正常:详细错误日志,在HBuilder X中,帮助 -> 查看运行日志解决方法下次两种方法可以依次尝试下:关闭HBuider X

2021-01-30 15:00:10 7733 2

原创 Android性能优化 - 内存优化

系统会为每个应用分配一定大小的内存,具体分配多大的内存是取决设备硬件的配置,这个内存资源是有限的,如果程序没有合理管理好内存,最终会导致程序的异常。这里指的内存是RAM给我们分配的大小内存问题具体表现有下面几种情况:内存抖动:在内存图形实时数据中呈锯齿状,整个过程在频繁创建与销毁回收对象,最终可能会导致UI上卡顿,严重情况下也会造成内存溢出内存泄漏:不使用的对象没有被回收掉,在内存图形实时数据中呈倾斜逐步上升的状态,可用内存会越来越少,最后频繁GC造成UI卡顿,甚至可能会内存泄漏OOM,程序

2021-01-16 20:05:18 187

原创 win10快捷键冲突检测与解决方法

相信很多人都遇到过,在使用一个快捷键时会经常与其他软件产生冲突,事与愿违;而且又很难找到是与哪个软件产生了冲突。有一款工具可以帮我们定位到目前的快捷键在哪个软件,这样就可以到对应的软件上把这个热键删除或者改成其他,避免热键冲突。FindGlobalHotkey下载链接提取码:mxok下载解压即可使用如果需要检查某个快捷键被使用了,直接FindGlobalHotkey即可,你在使用快捷键的时候会自动帮你捕获,找到是哪个软件,如下:最后去对应的软件去修改这个快捷键,解决冲突。注意:在使用完后需

2020-12-20 13:26:40 19380 10

原创 亿图9.3安装指南

亿图图示是一款很好用的作图软件,使用简单方便,包含大量的实例库和模版库。可以很方便的创建流程图、网络拓扑图、组织结构图、商业图表、方向图、UML、软件设计图、线框图、信息图、思维导图、建筑设计等等。

2020-12-19 19:47:24 20513 67

原创 MarkdownPad2安装教程

虽然现在有很多厂商推出了Markdown书写平台,要么不能本地上传图片,要么不能免费使用,要么不能离线操作,其实我喜欢就是MarkdownPad的离线操作,同时还可以修改css样式改变Markdown的显示样式。

2019-11-11 14:37:38 32089 55

原创 快速处理编译运行compileDebugJavaWithJavac问题

快速处理编译运行AS compileDebugJavaWithJavac问题compileDebugJavaWithJavac是什么,从字面上看就是在debug调试的执行javac命令,编译器遇到不能解析的内容而抛出的异常。上面一大片报红,很难定位错误的原因在哪里,在Terminal执行gradlew compileDebugJavaWithJavac命令能快速找到原因:下面是命令执行结...

2018-12-10 16:07:07 24020 2

原创 Android Studio常用设置与插件

1、IDE编码全局设置UTF-8,避免中文乱码settings -> editor -> File Encodings2、设置IDE的编码区的文字大小和样式settings -> editor -&am

2018-12-01 11:16:19 882

原创 SQLite(五) - Java数据库连接(JDBC)

首先下载sqlite-jdbc.jar 包,接着把jar包导入项目中,我这里是使用Android Studio开发工具,将jar包放在了libs目录下在build.gradle中添加依赖 implementation files('libs/sqlite-jdbc-3.23.1.jar')使用Java连接数据库,有三个基本步骤加载数据库驱动建立数据库连接创建SQL执行对象Stat...

2018-11-27 14:33:57 745

最新防微信

模仿微信写的一个Demo,布局基本显示完全,ListView列表显示和水平侧滑删除。

2015-10-18

空空如也

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

TA关注的人

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