PureBasic

Forums PureBasic
Nous sommes le Lun 16/Sep/2019 13:26

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: #Android : Utiliser la torche
MessagePosté: Dim 13/Mai/2018 13:10 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6849
Localisation: IDF (Yvelines)
[SB 2.20]

Avec SpiderBasic vous pouvez créer vos propres applications Android dépourvus de publicité.

Si vous le souhaitez, vos applications pourront accéder aux hardware de votre terminal grâce à l'utilisation des plugins Cordova.

C'est ce que nous allons aborder avec cet exemple.

■ Objectif : Allumer éteindre la torche.

Pour cela nous allons utiliser un plugin Cordova : cordova-plugin-flashlight

■ Documentation : https://www.npmjs.com/package/cordova-plugin-flashlight

L'importation du plugin est simple
Code:
Import "cordova plugin add cordova-plugin-flashlight"
EndImport
On utilisera un peu de JavaScript pour accéder à ce plugin. Par exemple pour allumer la torche
Code:
window.plugins.flashlight.switchOn()
et l’éteindre
Code:
window.plugins.flashlight.switchOff()

■ Principe de l'application.
- Initialiser le plugin qui recevra le callback de succes et le callback d'échec.
- Afficher la fenêtre de l'application.
- Un déclencheur qui permet de savoir si un utilisateur a pressé le bouton On/Off.
- Allumer ou éteindre la torche.
Code:
Enumeration
  #mf
  #mfSwitch
EndEnumeration

Declare PluginInit(onSuccess, onError)
Declare Start()
Declare OnClick()
Declare OnError()

;No debug
CloseDebugOutput()

;Import Cordova Plugin
Import "cordova plugin add cordova-plugin-flashlight"
EndImport

;Init plugin
PluginInit(@Start(), @OnError())

Procedure PluginInit(onSuccess, onError)
  !window.plugins.flashlight.available(function(isAvailable) {
  ! if (isAvailable) {
  !     v_onsuccess();     
  ! } else {
  !     v_onerror();
  ! }
  !})
EndProcedure

Procedure Start()
  Protected Font = LoadFont(-1, "Arial", 20)
 
  OpenWindow(#mf, 0, 0, 0, 0, "Flash Light", #PB_Window_Background)
  SetWindowColor(#mf, RGB(105, 105, 105))
  ButtonGadget(#mfSwitch, 20, 50, WindowWidth(0)-40, 200, "Light On")
  SetGadgetFont(#mfSwitch, FontID(Font))
 
  ;Trigger
  BindGadgetEvent(#mfSwitch, @OnClick()) 
EndProcedure

Procedure OnClick()
  Static Status
 
  If Status
    Status = #False
    SetGadgetText(#mfSwitch, "Light On")
    ! window.plugins.flashlight.switchOff() 
  Else
    Status = #True
    SetGadgetText(#mfSwitch, "Light Off")
    !  window.plugins.flashlight.switchOn()
  EndIf 
EndProcedure

Procedure OnError()
  !alert("Flashlight not available on this device")
EndProcedure
:!: Ce code ne teste pas si la torche est déja allumé ou pas.

■ Paramétrage de l'application : Menu compiler -> Create App :: Android
- App Name : Flash Light
- Version : 1.0.0
- Package ID : com.yournickname.flashlight Exemple com.falsam.flashlight
- Orientation : Portrait
- Fullscreen : Cochée
- Output filename : flashlight.apk
- Automaticaly upload on USB .... : Cochée
- Enable debugger : Cochée

:idea: Votre terminal Android doit être configurer pour recevoir des apk d'origines étrangères.
Une aide sur ce sujet viewtopic.php?p=187606#p187606

:idea: Vous devez avoir une connexion internet active.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye