PC to Android Architecture choice: Bluetooth X Wi-fi - android

I have a need: Build a system that allows a offline terminal(it´s a PC) to connect to a server. to do this, we decided to upload the data to a android 3G smartphone and, by network, send the data to the server, retrieve the response and send to terminal. See the scheme below:
GOING
TERMINAL --(?)--> Android App --(HTTP)--> Server
BACK
Server -- (HTTP) --> Android App --(?)--> Terminal
We have some constraints:
1 - The terminal becomes locked until the android send the response from server (It´s a sync message)
2 - We have only text content.
3 - The place where the terminal is connected does not have network signal.
4 - We have to provide a minimum security level possible.
5 - The terminal app will be developed using PHP.
So, my question is: i have to connect the terminal to pc to send and retrieve information from a android phone. Should i use bluetooth or build a wi-fi network (with android phone built-in feature) to connect them?
Did someone have this problem?

I decided to use Bluetooth, because it's easier create a client-server app with bluetooth than develop a "Wi-fi point" programatically and the bluetooth dongle is cheaper than a wi-fi module in old computers.

Related

Problem with the network interface in Android

I'm trying connect a GoPro to an Android device with the USB port.
In theory, the GoPro creates a local network and I can send commands to send it orders. The problems seem like in Android 13 always send the commands by the Wifi network interface and I always get an error saying that do not exists that URL. I guess it is because the device is trying to send the command by the Wifi interface. When I disable the wifi, in some devices with Android 13 works and I can send commands to the GoPro
In Android <13 I can't send commands, even with the Wifi disabled.
For example, in iOS automatically create the network and I can access to the network and send commands.
Any idea about this?
I've tried to connect the GoPro by wire to an Android device and with an app like Postman send commands to control the GoPro, the commands are correct, tested in iOS.

Communicating with a website via usb connection to a Xamarin.Android app

I have a specific requirement where an Android device cannot have any WIFI/Internet connection. However, the android device can be connected to a Windows machine (that has network capabilities) with an USB cable.
Is there a way to transfer data from the android app(Xamarin.Android) to the Web Application(.Net Core 2 )? Maybe some way for me to hit the controllers via USB connection (Or alternatively bluetooth if this option is not available).
Is there a way to transfer data from the android app(Xamarin.Android) to the Web Application(.Net Core 2 )?
Generally, this is done by certain tool, which enables the TCP transactions between your android device and your PC. ex: Port Forwarding.

TIdHTTPServer on Android

For some special, personal needs I want to use a TIdHTTPServer (component from the Indy project for RAD Studio) on an Android device through a mobile network connection to which I can connect with a client, like a browser, wget or whatever.
My FireMonkey application works as expected on Windows and Android using a WLAN connection. But on Android with a mobile internet connection turned on and WLAN turned off, I cannot establish an external connection to the TIdHTTPServer server running on Android. No instant connection discarding - it's a timeout.
I think it might be something Android related or maybe it has something to do with the way how my cell phone provider handles mobile connections. Maybe they block or simply don't redirect external (mobile) connections, like NAT "firewalls" do, where one has to create a port redirection and so on.
I also tried to add the mobile IP and the port of my server app to the bindings of the TIdHTTPServer component without luck (error says that the address and port are already in use). IP is version 4 and Android is version 6. INDY is 10.6.2.5341.
Is it possible to use a server on Android with mobile connections after all? What are the obstacles? Maybe I just forgot to set certain app rights?

Stream data from Android device to desktop computer when they are connected to different networks (Android WiFi, computer Ethernet)?

I am trying to make an android application that will stream live sensor data (e.g. accelerometer, etc) from my android device to my desktop computer.
My android device is connected to a WiFi network and my desktop computer is connected to a network with an Ethernet cable.
There are android applications available that send data from an android device to a PC via WiFi, but both devices must be connected to the same network.
Is there a way to transfer data if the two devices are connected to different networks?
Thank you!
Due to the fact that nearly every network sits behind a firewall (in most cases your home router/nat-device) you need to implement port-forwarding to access network 2 from network 1.
Another aproach would be to set up a VPN (f.i. with SSH) between the 2 hosts.
If your PC is directly connected to the internet, and has a public ip (that means, if you have NOT a RFC 1918 Adress), then you are able to directly connect to that ip by just entering that ip. If not, you need to implement something to get behind the firewall.
Simple answer; to stream data between a PC and an Android device each residing on different networks you need an intermediate server to pass the data through.
Now, if this just a small app that you are doing for your own purpose I suggest using the free version of Firebase (see https://www.firebase.com/). Their sample application that you'll find there, a simple chat service, does pretty much exactly what you need. Simply let the application on your PC (preferably a web app) read the "messages" that you send from your Android device.

Connect Android device to host to update data

I'm writing an Android application for Hotel Management. That each employee has own tablet running Android OS. this app sometimes will send data to host (that the room has been booked) or host will send data to client (about new condition of other rooms).
Host can be an another Android smartphone or a PC, and those device will connect together through same wifi network.
I don't know which way is easier (using smartphone for host or PC for host). If using PC, I decide that PC will have local server running database, and each tablet will connect to this server and update data from database. Does this easy to implement ?
Please help me figure out those problems. thanks :)
You want to use PC/Server for the host so you can run a proper RDBMS.
There are tons of examples available for creating Android apps that talk to a variety of RDBMS systems. On your server you'll run an interpreter (PHP, ASP.NET, Node) and your Android app will connect to this over the Wifi network using http.
See example here:
http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/

Categories

Resources