- React Native通讯原理
zbl_zbl
androidReactNativ
之前写过一篇文章ReactNativeAndroid源码分析,在此文章的基础上分析和总结下RN与Native的通讯流程。本文基于Android代码分析,iOS实现原理类似。1.通讯框架图先来解析下各个模块的角色与作用:Java层,这块的实现在ReactAndroid中-ReactContext:Android上下文子类,包含一个CatalystInstance实例,用于获取NativeModule
- Mac运行Python程序
安卓开发top
2024年程序员学习python开发语言
一、如何运行.python文件方法一:在终端中执行pythontest.py方法二:使用PythonLauncher新建一个.py的文本,在文本顶部指定python的版本。如图:然后对着.py文件进行右键,选择PythonLauncher进行打开,PythonLauncher配置如图:二、可能出现的问题自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿
- 多版本Python安装
__如风__
python开发语言linux
多版本Python安装多版本python安装主要是保证环境变量不冲突即可,在linux上源码安装指定安装目录,在windows上建议直接下载可执行文件而不是安装程序到指定目录(下载安装程序不勾选PythonLauncher和添加到环境变量应该也可以,但本人未尝试过),使用时写全目录即可。通常新的项目都是先创建虚拟环境,激活虚拟环境,环境变量加载成功就可以愉快地使用python了。Centos安装y
- Android 源码中jni项目 加载so目录小结
峥嵘life
JniAndroid系统androidandroid
Android源码中jni项目加载so目录小结文章目录Android源码中jni项目加载so目录小结一、前言二、so目录验证测试1、jniso文件错误报错(1)报错1-未找到so文件:(2)报错2-so文件中未找到native方法:2、验证的几种情况(1)apk下面的lib/arm64/放置正确的so文件(2)apk下面的lib/arm64/放置错误的so文件所以上面两个测试,验证了lib/arm
- VSCode查看Android源码,从入门到放弃
阳哥说全栈
Androidandroidvscodejava
VSCode查看Android源码比较简单,首先下载Android源码,我用的Mac,所以比较方便,对了repo在homebrew里面就有,直接brewinstallrepo就可以,但是版本比官方的略低,但是可以用,只是有警告。下载之后直接用VSCode加载文件夹即可,直接可以在目录里面打开文件,对于非jdk的类能定位到文件位置,但是jdk的源码无法定位,显示的是.class文件反编译出来的代码,
- 利用spring-boot-thin-launcher插件分离jar包的依赖和配置
飞空之羽
技术文章springbootmaven
SpringBoot项目可以通过spring-boot-maven-plugin插件打包生成一个可执行的jar包,这样可以脱离web容器(例如tomcat)直接运行。但默认情况下spring-boot-maven-plugin打出来的包是一个fatjar,即将所有的依赖全部打进了jar包当中,这样的jar包体积很大,每次更新系统的时候都需要完整替换整个jar包(本地还好,如果是云服务器,网速慢了每
- AS高版本SDK编译生成的apk放入低版本android源码中集成编译错误
辉色投像
android系统中内置app:LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)#ModulenameshouldmatchapknametobeinstalledLOCAL_MODULE:=DemoLOCAL_MODULE_TAGS:=optionalLOCAL_SRC_FILES:=$(LOCAL_MODULE).apkLOCAL_MODULE_CLA
- 转载的--------待整理
青木原树海之森
MTK平台Android知识android
Launcher总结:1、launcher的布局太居中,要想两边拉伸40dp40dpappstab栏的宽度(Launcher2icon数目、大小)\packages\apps\Launcher2\res\layout-sw720dp\workspace.xml>launcher:cellCountX="10"launcher:cellCountY="6"2、或者不想改数目:protectedvoi
- Android修改系统默认设置
xujn071
Android开发
1、launcher的布局太居中,要想两边拉伸40dp40dpappstab栏的宽度(Launcher2icon数目、大小)\packages\apps\Launcher2\res\layout-sw720dp\workspace.xml>launcher:cellCountX="10"launcher:cellCountY="6"2、或者不想改数目:protectedvoidonMeasur
- 仿华为车机UI--图标从Workspace拖动到Hotseat同时保留图标在原来位置
Kwanvin
AndroidLauncher3深度定制开发华为uiandroidLauncher3java
基于Android13Launcher3,原生系统如果把图标从Workspace拖动到Hotseat里则Workspace就没有了,需求是执行拖拽动作后,图标同时保留在原位置。实现效果如下:实现思路:1.如果在workspace中拖动,则保留原来“改变图标位置”的功能2.如果拖拽到Hotseat,则添加到Hotseat的同时也在原来位置复制一个一样的View3.每次改变都要存到数据库以保存当前状态
- android 12.0 Launcher3禁止拖拽最后一个hotseat图标功能实现
安卓兼职framework应用工程师
android12.0Rom定制化高级进阶androidhotseat拖拽hotseat图标禁止拖拽hotseatDropTarget
1.概述在12.0系统Launcher3进行定制化开发中,对于hotseat的开发中,由功能需求要求Launcher3禁止拖拽最后一个hotseat图标功能实现的功能,而拖拽也是在workspace.java中处理的接下来就从workspace.java开始找解决的办法2.Launcher3禁止拖拽最后一个hotseat图标功能实现相关代码分析packages/apps/Launcher3/src
- Android 13.0 Launcher3定制化之最近任务的全部清除由左边移到下边显示
安卓兼职framework应用工程师
android13.0Rom定制化系列讲解androidlauncher3recents最近任务列表任务列表清除按钮
1.概述在最近13.0的系统rom产品开发中,在Launcher3的定制化开发中,在最近任务列表中,发现点击recents最近任务键后显示的全部清除按键在左边由于是横屏的产品显示在左边不太合理所以要求显示在下边比较合理,所以要从Launcher3的显示流程来解决这个问题2.最近任务全部清除按钮左边移到下边显示的核心代码packages/apps/Launcher3/quickstep/src/co
- 深度学习系列70:模型部署torchserve
IE06
深度学习系列深度学习人工智能
1.流程说明ts文件夹下,从launcher.py进入,执行jar文件。入口为model_server.py的start()函数。内容包含:读取args,创建pid文件找到java,启动model-server.jar程序,同时读取log-config文件,TEMP文件夹地址,TS_CONFIG_FILE文件根据cpu核数、gpu个数,启动多进程。每个进程有一个socket_name和socket
- android:configChanges分析
l309681481
androidgitee
android:configChanges如果要在android源码确认是否是configChanges导致了Activity重启,建议把ActivityThread.DEBUG_CONFIGURATION改为true。Activity无法内部消化此次配置改变时,会调用relaunchActivityLocked方法。不同的是,如果此Activity正在前台,那立即调用;在后台的,则等切到前台后再
- 学习GPG
stxinu
GPG
0.前言在使用repo下载android源码和git下载kernel源码里会使用到gpg,那gpg是什么?该如何使用?这里说到的GPG是GnuPG,是GnuPrivacyGuard的缩写,它提供钥匙管理、加解密和数字签名等功能,其涉及到非对称加密算法,在学习每一项新技术时都先学会用再去深究其实现,故而我们在这里简说原理后立马学习如何用,品尝非对称加密算法应用下的GPG味道。非对称加密算法使用公钥和
- 仿华为车机功能之--修改Launcher3,增加横向滑动桌面空白处切换壁纸的功能
Kwanvin
AndroidLauncher3深度定制开发华为javaandroid
本功能基于Android13Launcher3需求:模仿华为问界车机,实现横向滑动桌面空白处,切换壁纸功能(本质只是切换背景,没有切换壁纸)。实现效果:实现思路:第一步首先得增加手势识别第二步切换底图,不切换壁纸是因为切换壁纸动作太大,需要调用到WallpaperManager,耗时且会触发应用activity重启原生系统有识别上滑与下滑的动作,那我们应该增加一个左滑和右滑的动作识别禁止上滑出所有
- Android13 Launcher3 锁定Hotseat栏,apk无法替换与生成文件夹
Hogan爱Android
Android13Launcher3客制化androidjava
1需求概述公司业务需要需要固定Hotseat栏的apk列表,使其不能被替换,固定几个apk,可以让用户快速使用,增加用户使用感。2实现功能核心类代码路径packages\apps\Launcher3\src\com\android\launcher3\DropTarget.javapackages\apps\Launcher3\src\com\android\launcher3\Workspace
- Android 13.0 Launcher3单层模式workspace中app列表页排序功能实现
安卓兼职framework应用工程师
android13.0Rom定制化系列讲解android排序app页面排序列表排序launcher3排序
1.概述在13.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能如图:2.Launcher3单层模式workspace中app列表页排序功能实现的核心类packages\apps\Launcher3\src\com\android\launch
- Android源码分析--启动时序图
linuxMinx
Android源码分析Android源码分析
为什么Android系统启动比较慢Build的产物中最重要的是三个镜像文件,位于/out/target/product//目录下ramdisk.img:在启动时将被Linux内核挂载为只读分区,它包含了/init文件和一些配置文件。它用来挂载其他系统镜像并启动init进程。解析步骤:Init.c(system\core\init)Init.c{main(......init_parse_confi
- Android ADB 打开 Lanucher
工程师老罗
Android随笔嵌入式系统设计android安卓androidstudio
adbshellamstart-ncom.android.launcher3/com.android.launcher3.Launcher
- 下载Android源码
赛非斯
repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-10.0.0_r411.首先下载repo:a)终端运行gitclonegit://codeaurora.org/tools/repo.gitb)mkdir~/binc)拷贝repo到~/bin下面,修改repo权限,chmoda+x~
- Android 14.0 屏蔽Launcher3桌面app图标的长按功能
安卓兼职framework应用工程师
android14.0Rom定制化系列讲解androidLauncher3屏蔽app图标长按功能app长按功能屏蔽长按
1.概述在14.0的系统产品定制化开发中,系统默认的Launcher3在workspace第二屏通常都会显示app列表点击进入app列表页,长按app的icon图标会弹出应用信息弹窗等信息,而产品的开发需要,不需要弹出这些信息,所以要求去掉app的icon图标的长按功能2.屏蔽Launcher3桌面app图标的长按功能的核心类packages\apps\Launcher3\src\com\andr
- fatal error in launcher to create process using d:/python.exe c:/pip.exe
小阳阳兄
ErrorLogpythonpip开发语言
1问题背景在命令行中执行pipinstallbs4,报错信息为:fatalerrorinlaunchertocreateprocessusing......2排查步骤(1)查看python和pip的环境变量是否正常(2)报错信息中的pip.exe路径与环境变量中的路径不一致,或者python.exe路径与环境变量中的路径不一致。说明电脑里有1个以上的python.exe解释器,而且没有在pip.i
- 【学习笔记】APP启动时间测试
池上花谷
学习笔记
APP启动1.1APP启动流程(1)Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity;(2)ActivityManagerService通过Binder进程间通信机制通知Launcher进入Paused状态;(3)Launcher通过Binder进程间通信机制通知ActivityManagerService,它已经准备就绪
- App启动优化笔记 1
呆咖啡
笔记android启动优化高级策略
app大致的启动流程。有Launcher进程,system_server进程,zygote进程,APP进程。Launcher进程:启动activity来启动应用system_server进程:(ams是其中的一个binder):发送一个socket消息给Zygote。zygote进程:收到消息后,fork新的进程,---》app进程启动APP进程:启动后立刻去和ams通信,把app自己的binde
- Android 13.0 系统settings详情页卸载修改为停止,禁止卸载app功能实现
安卓兼职framework应用工程师
android13.0Rom定制化系列讲解androidsettingsSettings详情页卸载详情页禁止某些app卸载禁止某些app卸载
1.概述在13.0的系统rom定制化功能的开发过程中,在一些系统预安装的app中,在Launcher3中可以通过拖拽然后卸载,这个限制卸载可以在前面的博客中禁止卸载这些预安装的app,然后就需要在系统Settings详情页来禁止app的卸载,把卸载修改为停止功能,所以就需要从系统应用详情页来寻找相关的设置卸载的按钮代码流程来分析,修改为停止就可以了,接下来来分析下系统应用的详情页的相关代码来实现这
- 警告: TestEngine with ID 'junit-vintage' failed to discover tests 。java.lang.NoSuchMethodError: org.ju...
临易i
junitjavaspring单元测试开发语言
1.报错信息七月18,20222:51:48下午org.junit.platform.launcher.core.DefaultLauncherhandleThrowable警告:TestEnginewithID'junit-jupiter'failedtodiscovertestsjava.lang.NoSuchMethodError:org.junit.platform.engine.Engi
- java学习之路(1)-隐藏桌面图标从CMD命令中打开软件
ouxiaoxian
Java学习
1.找到文件所在路径:2.将文件路径添加到环境变量中3.win+r打开cmd输入命令(目录后面的QQScLauncher.exe)直接可以打开QQ软件,删除桌面图标,别人就找不到了,只能通过cmd命令或者是找到安装包所在位置才能打开软件
- Android widget基础指南
左大星
Android基础教程androidandroidjetpack
widget的概念最早是由一名叫Rose的苹果工程师提出,后来经过多方面机缘巧合的发展下,便有了今天Android平台上的小组件widget,一般APP开发可能应用场景较少,最常见的莫过于天气APP的widget。但对于从事IOT或车载方向的同学,定制化Launcher涉及修改的widget的相关业务则可能不少。Androidwidget,即桌面插件,如下图红框所选中皆是插件:其启动、加载运行流程
- Android Framework分析Launcher启动过程
itfitness
目录前言Launcher是一个用来显示系统中已经安装的应用程序的应用程序,Launcher在启动过程中会请求PackageManagerService返回系统中已经安装的应用程序的信息,并将这些信息封装成一个快捷图标列表显示在系统屏幕上,这样用户可以通过点击这些快捷图标来启动相应的应用程序,它的作用主要有两点一个是启动应用程序一个是显示和管理应用程序的快捷图标或者其他桌面组件。分析Launcher
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include