2010-06-09 11 views
2

quelqu'un sait-il comment recevoir un fichier sur android via RFCOMM? Je suis un nouveau pour les questions de bluetooth, alors s'il vous plaît avoir de la patience avec moi.Recevoir un fichier via RFCOMM sous Android

Je cherche une approche pour recevoir des données via RFCOMM comme un flux et le stocker quelque part sur mon téléphone. La sauvegarde des données n'est pas le problème, cela fonctionne très bien.

Le principal problème est la mise en œuvre de la connexion et la récupération fiable des données ...

devrait être mis en œuvre en tant que service android (de sorte qu'aucune activité doit être lancée lors de la réception de données) toute cette procédure . Que suggérez-vous: Service local ou à distance?

greetz, poeschlorn

+0

Bonjour, vous souvenez-vous de la taille du fichier que vous pouvez transférer avec succès? J'ai essayé la même chose et trouvé que quelques octets dans les fichiers reçus sont manquants peu importe la vitesse à laquelle je lis. – Kozlov

Répondre

2

En général:

  • Mettre en place la prise Bluetooth
  • Ouvrez le flux d'entrée et de sortie
  • (couche de transport) Négociez le transfert si nécessaire, le nom du fichier, Attributs
  • Commencez à transférer les octets de données et enregistrez-les dans le fichier

La couche de transport est la clé, et la partie délicate. Cela peut être aussi simple que de rouler les vôtres. Par exemple:

Expéditeur: [Début du flux] | FILENAME | ATTRIBUTS | [données binaires] [Fin du flux]

Receiver voit le nom et les attributs du fichier, les enregistre et ouvre un fichier de sortie et commence à écrire à partir des attributs suivants, jusqu'à la fin du flux.

Une fois le transfert terminé, fermez les flux d'entrée/sortie, puis fermez le socket.

+0

hé, merci pour votre réponse, je sais que je suis en retard. Ce schéma semble fonctionner de manière similaire à l'exemple de chat bluetooth de google, avec l'envoi d'un fichier dans le flux. Connaissez-vous la météo c'est SPP (Serial Port Profile)? – poeschlorn

+0

Droite - SPP (aka RFCOMM) est le type de flux supporté par Android mais RFCOMM vous offre un flux binaire entre deux appareils, ce qui est parfait pour le transfert de fichiers. –

Questions connexes