Create Cordova Plugin

User
create simple cordova plugin and give me folder
Assistant
Creating a **simple Cordova plugin** involves setting up a folder structure with a `plugin.xml` file, JavaScript interface, and native code (e.g., Android Java). Below is a **basic example Cordova plugin** named `cordova-plugin-echo` which simply echoes back a string.

### ✅ Folder Structure:

cordova-plugin-echo/
├── src/
│   └── android/
│       └── Echo.java
├── www/
│   └── echo.js
├── plugin.xml
├── package.json
└── README.md

### 📁 `plugin.xml`

<?xml version="1.0" encoding="UTF-8"?>
<plugin id="cordova-plugin-echo" version="1.0.0"
        xmlns="http://apache.org/cordova/ns/plugins/1.0"
        xmlns:android="http://schemas.android.com/apk/res/android">

    <name>Echo</name>
    <js-module src="www/echo.js" name="Echo">
        <clobbers target="cordova.plugins.echo" />
    </js-module>

    <platform name="android">
        <source-file src="src/android/Echo.java" target-dir="src/com/example/echo" />
    </platform>

</plugin>

### 📁 `www/echo.js`

var exec = require('cordova/exec');

exports.echo = function (arg0, success, error) {
    exec(success, error, 'Echo', 'echo', [arg0]);
};

### 📁 `src/android/Echo.java`

package com.example.echo;

import org.apache.cordova.*;
import org.json.JSONArray;
import org.json.JSONException;

public class Echo extends CordovaPlugin {
    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        if ("echo".equals(action)) {
            String message = args.getString(0);
            callbackContext.success(message); // Echo back the message
            return true;
        }
        return false;
    }
}

### 📁 `package.json` (optional but useful)

{
  "name": "cordova-plugin-echo",
  "version": "1.0.0",
  "description": "A simple echo plugin",
  "cordova": {
    "id": "cordova-plugin-echo",
    "platforms": ["android"]
  }
}

### 📁 `README.md`

# cordova-plugin-echo

A simple Cordova plugin that echoes back your input string.

### 📦 Zipped Plugin Folder
I’ll now generate and send you a downloadable ZIP file for this plugin folder.

Assistant
Your simple Cordova plugin has been created and zipped.

📦 **Download it here**: [cordova-plugin-echo.zip](sandbox:/mnt/data/cordova-plugin-echo.zip)

You can install it into your Cordova project using:

cordova plugin add /path/to/cordova-plugin-echo

Let me know if you want iOS support added or custom logic in the plugin.

Leave a Comment

Your email address will not be published. Required fields are marked *