android 仿redis的简易设计及代码实现

android 仿redis的简易设计及代码实现

一、前言最近博主在做一款控制停车场摄像头和道闸的Android app,该app的主要职责是根据相机识别出来的车牌为参数,请求服务器后根据返回结果做相应的操作,比如是否开闸放行,或者缴费后出行等,另外还有播放语音和刷新屏幕等功能。如果停车场的环境比较简单,那么只需要单相机就能满足需求,单相机的逻辑比较简单,流程上看不存在并发,所以行为是线性的。一个简单的流程如下:但停车场的环境不可能是一成不变的,业主的需要也多种多样。尽管当前相机的识别率已经达到90%,但有些车流量大的地方,90%的的识别率仍然不能满足需求。另外,相机角度也会降低识别率。为了满足业主的需求,有些场合需要双摄像头。双相机就...

java/spring,开发记录 2021-12-14 PM 822℃ 0条
使用Enum优雅替换if-else的实现

使用Enum优雅替换if-else的实现

一、前言很久就知道有一个替换多重if-else的办法,但一直没有尝试过。今天在写代码的时候也用到了多重if-else,然后凭着对Enum的理解写了一个替换操作,写完以后发现代码确实简洁很多,记录下来供大家参考。二、实现要点先看一下往常的if-else组合的情况,下面是常见的if-else组合示例代码(伪代码):int type = x; if(type == 1){ print "a" }else if(type == 2){ print "b"; }else if(type==3){ print "c"; }els...

java/spring 2021-12-13 PM 626℃ 0条
String.format出现MissingFormatArgumentException的解决办法

String.format出现MissingFormatArgumentException的解决办法

一、问题描述最近调试Android APP,在运行时出现如下错误的信息。如上描述,这是一个运行时错误,导致app多次crash。既然是一个运行时错误,一般和参数或者是格式化有关。代码跟踪发现是由于String.format 函数导致的,将参数打印到字符串格式化的时候发生的一个错误。1 java.util.Formatter.getArgument(Formatter.java:1111) 2 java.util.Formatter.doFormat(Formatter.java:1076) 3 java.util.Formatter.format(Formatter.j...

java/spring 2021-12-11 PM 591℃ 0条
INSTALL_FAILED_SHARED_USER_INCOMPATIBLE出现的原因和解决办法

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE出现的原因和解决办法

最近和同事开发一个Android控制板上APP远程重启的功能,重启的原理很简单,只要通过Android API调用来实现,详细的教程及可能的问题见本博客:Neither user xxx nor current process has android.permission.REBOOT 的解决办法。但在开发调试的过程中,Idea抛出如下的错误信息:Installation did not succeed. The application could not be installed: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE List of apk...

开发记录 2021-12-08 AM 1340℃ 0条
详解Java/Android利用反射技术调用@hide类和函数

详解Java/Android利用反射技术调用@hide类和函数

背景介绍公司的主要产品中有个核心的部件,它是使用Android工业板子作为硬件基础,在里面开发一个app作为控制程序。这款产品需要现场部署,意味着我们在更新的过程中不会有人为的干预,既然没有人为的干预,那么决定了该app需要实现静默更新功能。所谓的静默更新,就是不需要在人的干预下,实现app的自主更新,并且完成自我启动。该方法区别于传统的人为升级,不需要人点击即可完成升级,升级过程中程序可以没有任何的感知。关于静默升级的内容在这里不做展开,这里着重讲一下研发升级功能的时候遇到的一个问题,即如何利用反射技术调用@hide类或者@hide函数。为了会遇到这个问题呢?那是因为Android的f...

java/spring 2021-11-26 AM 2155℃ 0条
Neither user xxx nor current process has android.permission.REBOOT 的解决办法

Neither user xxx nor current process has android.permission.REBOOT 的解决办法

最近碰到一个需要重启Android系统的需求,经过网络查询,使用如下代码进行系统级别的重启工作:private void rebootSystem(){ PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE); pm.reboot(null); }但运行了之后,抛出如下错误:ava.lang.SecurityException: Neither user 10141 nor current process has android.permission.REBOO...

开发记录 2021-11-25 PM 936℃ 0条