综合( 右侧选择分类 )
android01

Android产品研发(七)-- 较少Apk热修复

去年一整年android社区中刮过了一阵热修复的风,各大厂商,逼格大牛纷纷开源了热修复框架,恩,产品过程中怎么可能没有bug呢?重新打包上线?成本太高用户体验也不好,咋办?上热修复呗。好吧,既然要开始上热修复的功能,那么就得调研一下热修复的原理。下面我将分别讲述一下热修复的原理,各大热修复框架的比较,以及自身产品中热修复功能的实践。热修复的原理通过更改dex加载顺序实现热修复最新github上开源
1042 人浏览
android01

Android产品研发(二十三)-- Android 中保持静态密钥实战

上一篇文章中我们讲解了android中的实用调试技巧。讲解了android中的原生Log API以及其使用方式,讲解了自定义日志API、使用方式和实现原理,讲解了通过gradle配置日志框架在正式环境中屏蔽日志信息等。最后我们还重点讲解了android studio中的断点调试技巧,主要包括:断点调试功能、日志断点、求值调试、异常断点、方法断点等。更多关于android中实用调试技巧的知识,可以参
1042 人浏览
hangge

K8s - Kubernetes使用详解9(使用Secret管理敏感信息)

应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息如果直接保存在容器镜像中显然不妥,Kubernetes提供的解决方案是Secret。九、使用 Secret 管理敏感信息1,Secret 的功能介绍Secret会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息。Secret会以Volume的形式被mount到Pod,容器可通过文件的方式使用Secret中
1039 人浏览
web

js获取url参数中文乱码问题 decodeURI

上一篇文章 js获取url参数的时候没考虑到中文乱码的问题其实很简单 直接用 decodeURI 函数就行了方法:以下JS函数用于获取url参数:(超级简单)function getQueryParam(variable) { var query = window.location.search.substring(1); var vars = query.split("&a
1038 人浏览
xiaozhi

16.JavaScript是如何工作的:存储引擎+如何选择合适的存储API

概述在设计 Web 应用程序时,为本地浏览器选择合适的存储机制至关重要, 一个好的存储引擎可以确保可靠地保存信息,减少带宽,提高响应能力。正确的存储缓存策略是实现离线移动 Web 体验的核心构建块,同时也大大的提高了用户体验。在本章中,讨论可选择的存储 Api 和服务,并提供一些在构建 Web应用程序,该使用哪种存储引擎。数据模型数据存储模型确定数据在内部的组织方式,这会影响 Web 应用程序的整
1036 人浏览
android01

Android产品研发(十八)-- WebView问题集锦

上一篇文章中我们介绍了hybrid开发相关的知识。重点介绍了hybrid开发的概念,hybrid开发的作用,android中如何实现hybrid开发,android中实现hybrid开发的例子,以及产品开发中hybrid开发实践等,通过对以上这些概念的介绍我们对hybrid开发应该已经有了大概的了解,更多具体的内容可参考我的:android产品研发(十七)-->Hybrid开发本文中我们将介
1035 人浏览
hangge

K8s - Kubernetes使用详解8(使用Volume存储实现数据持久化)

我们知道容器和Pod的生命周期可能很短,会被频繁地销毁和创建。当容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,我们可以使用Kubernetes Volume。 除此之外,有一些场景可能一个pod里面的多个容器需要共享数据。同样可以借助Volume来实现。八、Volume 存储1,什么是Volume?(1)Volume的生命周期独立于容器,Pod中的容器可能被
1035 人浏览
xiaozhi

2.React 项目结构和组件命名规范

React 作为一个库,它没有规定项目的整体结构。这很好,因为它给了我们自由去尝试不同的方法,并适应更适合我们的方式。另一方面,这可能会给React领域的开发人员带来一些困惑。我将会在本文为大家展示我已经使用过一段时间并且效果不错的方式,这些方式没有通过重新造轮子来实现,而是通过将社区中的方案组合和提炼得到。目录结构我经常遇到的一个问题是如何组织文件和目录结构。在这篇文章中,我们认为你已有一个最小
1035 人浏览
android

WGS84,GCJ02, BD09坐标转换

废话不多说,直接上代码publicclassGps{ privatedoublewgLat; privatedoublewgLon; publicGps(doublewgLat,doublewgLon){ setWgLat(wgLat); setWgLon(wgLon); } publicdoublegetWgLat(){ returnwgLat;
1035 人浏览
android01

Android产品研发(十三)-- App轮训操作

上一篇文章中我们讲解了android app实现长连接的几种方式,各自的优缺点以及具体的实现,一般而言使用第三方的推送服务已经可以满足了基本的业务需求,当然了若是对技术有追求的可以通过NIO或者是MINA实现自身的长连接服务,但是自己实现的长连接服务一来比较复杂耗时比较多,而且可能过程中有许多坑要填,一般而言推荐使用第三方的推送服务,稳定简单,具体管理长连接部分的模块可参考:android产品研发
1033 人浏览
cheng

GitHub开源的10个超棒后台管理面板

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1031 人浏览
android01

Android产品研发(十五)-- 内存对象序列化

上一篇文章中我们讲解了android app中的升级更新操作,app的升级更新操作算是App的标配了,升级操作就是获取App的升级信息,更新操作是下载,安装,更新app,其中我们既可以使用app store获取应用的升级信息,也可以在应用内通过请求本地服务器获取应用的升级信息,并通过与本地app的版本号对比判断应用是否需要升级。升级信息是app更新的基础,只有我们的app的升级信息指明需要更新,我
1031 人浏览
web

微信小程序之授权登录的实现(button按钮)

前言:由于微信官方修改了 getUserInfo、authorize 接口,无法弹出授权窗口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 去触发1.实现思路微信授权登录仅适用于使用微信用户信息的用户,如果自己的项目有完善的用户信息(一套式开发项目),可不使用微信用户信息;如果仅为微信小程序,则要授权、获取用户信息自己写一个微信授权登录页面让用户实现点击的功能,也就是实现
1030 人浏览
hangge

Docker - 实现本地镜像的导出、导入(export、import、save、load)

有时我们需要将一台电脑上的镜像复制到另一台电脑上使用,除了可以借助仓库外,还可以直接将镜像保存成一个文件,再拷贝到另一台电脑上导入使用。 对于镜像的导出和导入,Docker提供了两种方案,下面分别进行介绍。一、使用 export 和 import1,查看本机的容器这两个命令是通过容器来导入、导出镜像。首先我们使用docker ps -a命令查看本机所有的容器。2,导出镜像(1)使用docker
1029 人浏览
web

css按中心点旋转

css按中心点旋转div { width:200px; height:200px; background-color:pink; transition:all 0.6s; /*transform-origin:top left; 设置旋转点 为左上角 */ transform-origin:20px 30px; } div:hover{ /*旋转36
1028 人浏览
android01

Android产品研发(二)-- 启动页优化

上一篇文章中我们介绍加单说明了一下android的编码规范,这里我是强烈建议大家在团队合作中约定编码规范的,哪怕是一个并不是十分规范的规范总比没有规范好得多,尤其是团队产品的研发,对产品的持续迭代过程中你会越发的意识到编码规范对产品迭代的好处,当然了,这里并不是要求大家一定按照文中给出的编码规范作为团队中使用的编码规范,而是希望大家在团队合作中能够约定出自身的编码规范,哪怕其并不是十分的规范。而这
1028 人浏览
hangge

SpringBoot - @ControllerAdvice的使用详解1(全局异常处理 @ExceptionHandler)

顾名思义,@ControllerAdvice 就是 @Controller 的增强版。@ControllerAdvice 主要用来处理全局数据,一般搭配 @ExceptionHandler、@ModelAttribute、@InitBinder 使用。下面分别进行介绍。一、全局异常处理(搭配 @ExceptionHandler)1,基本用法(1)@ControllerAdvice 最常见的使用场
1028 人浏览
android01

Android源码解析(九)-- SystemServer进程启动流程

上面一文中我们讲过android系统中比较重要的几个进程:init进程,Zygote进程,SystemServer进程已经各种应用进程,其中Zygote进程是整个android系统的根进程,包含SystemServer进程已经各种应用进程在内的进程都是通过Zygote进程fork出来的,具体可参见: android源码解析之(八)-->Zygote进程启动流程那么SystemServer进程
1028 人浏览
cnbzlj

android 如何保留数据两位小数

今天,简单讲讲android如何保留运算结果为浮点数时,保留两位小数显示。这个其实很简单,最近做一个功能时,获取到文件的大小为B的数据,在界面上需要显示为MB,这是需要转换才可以1MB=1024*1024B,所以需要进行触发运算,但是运算结果为整数不好,需要为浮点数并且显示小数点后两位数据。当时居然不知道怎么办,所以在网上查找资料,最终解决了问题,这里记录一下。android 保留两位小数5种方法
1028 人浏览
cnbzlj

android 调用系统播放器

今天,简单讲讲android如何调用手机自带的播放器。昨天,从服务器下载一个AVI的视频,下载后需要进行播放,所以想调用系统自带的播放器。但是由于很少用到,所以自己当时不知道怎么写,于是在网上查找资料,最终是解决了问题。这里记录一下。一.网上的常见调用播放器代码(存在问题)String url = "http://192.168.0.1/1.mp4" Intent intent = new In
1026 人浏览