Проблема с пользовательским конденсатором Java Plugin для работы с приложением JavaScript на Android [закрыто]Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема с пользовательским конденсатором Java Plugin для работы с приложением JavaScript на Android [закрыто]

Сообщение Anonymous »

Мы разрабатываем пользовательское приложение для Android.
Приложение кодируется на JavaScript, и мы закодировали плагин в Java Who's Rely, чтобы прочитать порт USB на планшете Android. JavaScript App. Конденсатор не может распознать его как плагин, и, следовательно, мы не можем назвать его функцией. src = "https://i.sstatic.net/o0sbxma4.png"/>
команды Bash для инициализации проекта
mkdir mon-plugin-capacitor
cd mon-plugin-capacitor
npm init
npm install @capacitor/core @capacitor/android
npm install --save-dev @capacitor/cli
npm install --save-dev vite
npx cap init MonPluginCapacitor com.example.plugin
npx cap add android
npm run build

src/app.js
import { Echo } from './echo-plugin.js';

document.addEventListener('DOMContentLoaded', () => {
document.getElementById('testButton').addEventListener('click', async () => {
try {
const result = await Echo.echo({ value: 'Bonjour depuis Capacitor!' });
document.getElementById('result').textContent = result.value;
} catch (error) {
document.getElementById('result').textContent = Erreur: ${error.message};
}
});
});

src/echo-plugin.js

// Enregistrement du plugin
const Echo = registerPlugin('Echo');

export { Echo };

src/index.js
export * from './echo-plugin';

android/app/src/main/java/com/example/plugin/echoplugin.java
package com.example.plugin;

import com.getcapacitor.JSObject;
import com.getcapacitor.Plugin;
import com.getcapacitor.PluginCall;
import com.getcapacitor.PluginMethod;
import com.getcapacitor.annotation.CapacitorPlugin;

@CapacitorPlugin(name = "Echo")
public class EchoPlugin extends Plugin {

@PluginMethod
public void echo(PluginCall call) {
String value = call.getString("value");

JSObject ret = new JSObject();
ret.put("value", value);
call.resolve(ret);
}
}

android/app/src/main/java/com/example/plugin/mainactivity.java
package com.example.plugin; // Votre package réel ici

import android.os.Bundle;
import com.getcapacitor.BridgeActivity;
import com.getcapacitor.Plugin;

import java.util.ArrayList;

public class MainActivity extends BridgeActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Enregistrez les plugins ici
// Ajoutez cette ligne pour enregistrer votre plugin
registerPlugin(EchoPlugin.class);
}
}

index.html





Test du Plugin Echo

body {
font-family: Arial, sans-serif;
margin: 20px;
padding: 0;
}
h1 {
color: #333;
}
button {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 10px 0;
cursor: pointer;
border-radius: 4px;
}
#result {
margin-top: 20px;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
min-height: 50px;
background-color: #f9f9f9;
}



Test du Plugin Echo
Tester le plugin
Résultat apparaîtra ici...


document.addEventListener('deviceready', function() {
document.getElementById('testButton').addEventListener('click', async () => {
try {
// Accès au plugin natif via Capacitor
const result = await window.Capacitor.Plugins.Echo.echo({ value: 'Bonjour depuis Android!' });
document.getElementById('result').textContent = result.value;
} catch (error) {
document.getElementById('result').textContent = Erreur: ${error.message};
console.error('Erreur plugin:', error);
}
});
}, false);

// Fallback pour tester si deviceready n'est pas déclenché
document.getElementById('testButton').addEventListener('click', async () => {
if (window.Capacitor && window.Capacitor.Plugins && window.Capacitor.Plugins.Echo) {
try {
const result = await window.Capacitor.Plugins.Echo.echo({ value: 'Bonjour depuis Android!' });
document.getElementById('result').textContent = result.value;
} catch (error) {
document.getElementById('result').textContent = Erreur: ${error.message};
console.error('Erreur plugin:', error);
}
} else {
document.getElementById('result').textContent = "Plugin Echo non disponible. Assurez-vous d'exécuter sur un appareil.";
}
});





Подробнее здесь: https://stackoverflow.com/questions/795 ... on-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»