AndroidNDKBinder命名规则
创始人
2024-10-09 10:01:54
0

在 C++ 代码中正确地使用 Binder 交互所需的命名规则。

Binder 是 Android 所采用的一种进程间通信机制,Android NDK 为 C++ 开发者提供了使用 Binder 的接口。 在使用 Binder 时,应注意命名规则,以确保 C++ 代码与 Java 所使用的 Binder 接口相互兼容。

以下是一些使用 Binder 时应注意的命名规则:

  1. Java 类名必须与 C++ 类名相对应,且 Java 类名必须以“android.os.I”为前缀,C++ 类名必须以“Bp”或“Bn”为前缀。例如,对于 Java 类 SentinelInterface,相应的 C++ 类名为 BpSentinelInterface 或 BnSentinelInterface。

  2. 对于 Binder 接口的每个方法,C++ 函数名必须与 Java 方法名相对应。C++ 函数必须以“transact_”为前缀,后跟 Java 方法名的哈希值。例如,对于 Java 方法“getSentinel”,相应的 C++ 函数名可能是“transact_getSentinel_9dcb26dd”。

  3. 对于 Binder 接口中的数据结构,Java 中的字段名称必须与 C++ 中的字段名称相对应。Java 中的字段必须是 public static final 类型(类似于 C++ 中的常量),C++ 中的字段必须是 const 类型。

下面是一个使用 Binder 的示例(假设存在一个名为 SentinelInterface 的 Java 接口):

Java 代码:

public interface SentinelInterface extends IInterface { static final int GET_SENTINEL = IBinder.FIRST_CALL_TRANSACTION + 0; String getSentinel() throws RemoteException; }

C++ 代码:

class BpSentinelInterface : public BpInterface { public: explicit BpSentinelInterface(const sp& impl) : BpInterface

相关内容

热门资讯

三分钟了解!吉祥麻将斗地主可以... 《三分钟了解!吉祥麻将斗地主可以让系统发好牌(辅助挂)一直真的是有挂(专业辅助科技教程)-哔哩哔哩》...
第2分钟了解!大赢家跑得快辅助... 第2分钟了解!大赢家跑得快辅助工具(辅助挂)一贯真的是有挂(专业辅助揭秘教程)-哔哩哔哩;大赢家跑得...
第九分钟了解!丫丫湘西麻将有挂... 第九分钟了解!丫丫湘西麻将有挂(辅助挂)确实真的是有挂(专业辅助德州教程)-哔哩哔哩;详细丫丫湘西麻...
四分钟了解!江西中至麻将有挂的... 四分钟了解!江西中至麻将有挂的(辅助挂)一贯真的有挂(专业辅助透明挂教程)-哔哩哔哩;最新版2026...
6分钟了解!八闽十三张有外挂(... 6分钟了解!八闽十三张有外挂(辅助挂)都是是有挂(专业辅助可靠技巧)-哔哩哔哩;1、完成八闽十三张有...
两分钟了解!丽水茶苑有辅助器(... 您好,丽水茶苑有辅助器这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
7分钟了解!福建十三水辅助软件... 7分钟了解!福建十三水辅助软件大全(辅助挂)起初是有挂(专业辅助必备教程)-哔哩哔哩;是一款可以让一...
第二分钟了解!手机陕西麻将辅牌... 您好:手机陕西麻将辅牌器可以下载这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
两分钟了解!乐逍遥跑胡子软件(... 两分钟了解!乐逍遥跑胡子软件(辅助挂)都是真的有挂(专业辅助必备教程)-哔哩哔哩;1、很好的乐逍遥跑...
八分钟了解!爱来掌中宝510k... 八分钟了解!爱来掌中宝510k有挂(辅助挂)原先真的有挂(专业辅助攻略教程)-哔哩哔哩;爱来掌中宝5...