Мы разрабатываем пользовательское приложение для 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
Проблема с пользовательским конденсатором Java Plugin для работы с приложением JavaScript на Android [закрыто] ⇐ Android
Форум для тех, кто программирует под Android
1745504436
Anonymous
Мы разрабатываем пользовательское приложение для Android.
Приложение кодируется на JavaScript, и мы закодировали плагин в Java Who's Rely, чтобы прочитать порт USB на планшете Android. JavaScript App. Конденсатор не может распознать его как плагин, и, следовательно, мы не можем назвать его функцией. src = "https://i.sstatic.net/o0sbxma4.png"/>
[b] команды Bash для инициализации проекта [/b]
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
[b] src/app.js[/b]
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};
}
});
});
[b]src/echo-plugin.js[/b]
// Enregistrement du plugin
const Echo = registerPlugin('Echo');
export { Echo };
[b]src/index.js[/b]
export * from './echo-plugin';
[b] android/app/src/main/java/com/example/plugin/echoplugin.java[/b]
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);
}
}
[b] android/app/src/main/java/com/example/plugin/mainactivity.java[/b]
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);
}
}
[b] index.html[/b]
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.";
}
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79580346/issue-with-custom-capacitor-java-plugin-to-work-with-javascript-app-on-android[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия