【手写实例】在app中访问自己添加的服务

在app中访问自己添加的服务

ok,服务有了,那就来写服务的调用者app。这里指的服务请看我另外一篇文章:《在framework上添加访问硬件驱动的服务》https://blog.csdn.net/daoliting5268/article/details/88308956
这个就更简单了。
首先用Android studio建个空项目。
然后在主activity中分别加一个输入框和按钮,然后监听,通过servicemanager获取MydrvService的服务,写入不同的值。这个值通过服务层到jni到hal到驱动控制IO。
下面来贴代码并解析。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MydrvService = IMydrvService.Stub.asInterface(
            ServiceManager.getService("Mydrv"));

这个是通过句柄获取服务。

public void onClick(View v) {
    if(v.equals(writeButton)){
        try{
            String text = valueText.getText().toString();
            int val = Integer.parseInt(text);
            MydrvService.setVal(val);
        }
        catch (RemoteException e){
            Log.e(LOG_TAG, "Remote Exception while value to Mydrv service");
        }
    }
}

这个是按键监听后操作。

手写一个webpack插件,你可以按照以下步骤进行操作: 1. 首先,了解webpack自身插件的调用流程。你可以参考webpack内部插件的实现方式来理解。其一个例子是NodeEnvironmentPlugin插件。 2. 创建一个新的插件文件,比如TestPlugin.js,并在文件定义一个插件类,比如TestPlugin。 3. 在插件类使用tapable实例的方法,在webpack的emit钩子函数执行时触发我们定义的函数。你可以使用compiler.hooks.emit.tap方法来绑定钩子函数。 4. 在钩子函数内部,使用compiler.outputFileSystem.writeFile方法创建一个自定义的文件,并在文件写入你想要的内容。比如你可以写入一句话,如"//我们的第一个webpack插件!"。 5. 在webpack配置文件引入你的插件,并将它作为一个实例加入到plugins数组。 以下是一个示例的webpack配置文件,展示了如何引入TestPlugin插件: ``` const path = require('path'); const TestPlugin = require('./TestPlugin'); module.exports = function() { return { mode: 'development', entry: ['./src/app.js'], output: { path: path.join(__dirname, 'out'), filename: 'out.[name].js' }, plugins: [ new TestPlugin() ] }; }; ``` 通过以上步骤,你就可以手写一个简单的webpack插件了。这个插件会在webpack输出的文件夹创建一个自定义的文件,并在文件写入一句话。你可以根据自己的需求,进一步扩展和定制插件的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值