Sync between two devices without Internet connection: Is it possible? - android

My coursework requirement is to build an Android application that lists all available mobile devices within close proximity. None of the devices have access to the internet.
To make things easier, the assumption is that all devices have my application installed.
When user first installs my app, they must define a user name and upload a profile picture.
When they launch my app, it should display the following profile info about other devices nearby:
User Name Profile picture
Now, I know this is an open ended question, but I'm totally stumped and need some guidance.
Specifically, I find these points challenging:
How to establish communication between devices/my app without internet?
How to retrieve other devices' profile picture without having to store everything locally on the device
I did some research and found Wi-Fi Peer to Peer, but not sure if this will be suitable for my use case as I don't have internet access. Bluetooth is another option but I think devices would have to be paired first before exchanging data.

You can starting Wifi hotspot with name like "YourAppName".
And create simple brodcasting this data inside this network.
So:
user opens your app and registering;
your application, checks if there is WIFI "YourAppName".
if NO, your app start hot spot "YourAppName".
if YES, your app promt user to connect to this network.
If connection successfully established, you will need to think how to transmit the list of data to your app, and represent it to user
Hope that this steps will helps you! Good luck

Related

How to block specific urls in Android

I am developing a parental kind of App in which there is a requirement to block specific urls from all the browsers in the Device. I think this is an old question but couldn't find any solution yet on stack.
Do you have any working solutions. Assumption - The device is rooted.
Regards,
sha
I have two resources for you:
Since the device is rooted you can work directly with iptables. iptables will give you very precise control over all coming and going data packets. Check out open source projects like AFWall+ on GitHub for iptables in action.
If you want to be able to run your app on unrooted devices look into creating a fake VPN. You don't send any data to an actual VPN server, you simply use the VPN API to filter all the information coming and going. Check out Disconnect (whenever they actually share their open source code...) or OpenVPN which is what Disconnect builds on.

How to automate changing of settings on Android via script or app

Is it possible to push content such as SSID and password of a certain wi-fi network via a script, or an app that can be launched from the Android device?
I was issued to pre-configure approx. 500 tablets with certain Apps and features, one of them being setting a password for a specific SSID.
The purpose of this is that when the users of the Android tablets at the conference turn them on for the first time they would be immediately connected to the internet and have access to the content regarding the conference.
I really wish such possibility exists, so I won't have to manually configure every device.
Thank you for any constructive comments :)

Ways to connect two devices to each other

I want to build an app but first I need to know about all ways that are possible to make a connection with two android devices. Over 3G, Bluetooth, Wi-Fi and etc, where can I get a list of this? (If it exists)
To be more clear, I want the better way to find an X device with my Y device and trade some information between them. It`s important to considerate that two devices need to be close each other.
Like the feature of change Friend Codes with friends on 3DS via LOCAL, got it?
Can anyone help me out with this? Thanks already.
If you want to establish a local connection, the following ways can be used.
Internet (Wifi, 4g, etc.). A webserver should be running and establish a secure connection between the 2 devices.
Bluetooth - An app can be written to establish a local connection to a friend who is running the same app.
NFC - An app can be written to establish a local connection to a friend who is running the same app.

Free wifi only if my app is installed

I would like to simulate the scenario like it is available in some hotels. Basically, if the user connects to free wifi in a hotel he/she needs to either enter a code, or visit to predefined site to accept terms and conditions.
I would like to replicate the same on android phone, user could only connect to free wifi if my custom application is installed else not.
Is it possible?
Your only possibility if you really want to develop this as an app would be to programmatically connect to the Wifi network. This way, the user would never see the password of the hotspot (As long as the device is not rooted).
However, the user had to start the app in order to get connected to the wifi, and he could uninstall the app and still connect to the Wifi, as the system saves the wifi configuration.
If you want to go this way, you'll have to deal with the WifiManager APIs.
You might find this answer to a similar question helpful.

Android P2P idea

I've been looking around for some way to simulate Peer 2 Peer for games on the android and the best way I've been able to come up with is connected an android to a server and then routing through that server. I'm just looking for some thoughts on my way of solving the solution so that you could literally type in someones phone number and try and connect to them.
By use of a service module to check incoming text messages, which would be properly formatted for detection, it would interpret that another phone is trying to request a connection to another one of the androids applications. If the application is found it would then prompt the user as to if they wished to connect to the other person. If yes, their phone would send back a text message to the original phones, which also has the messaging system installed on it, which states it would like to connect and that this is my current IP address. The original phone, or host phone, would then open a connection with the other users phone via the Internet at which point the newly made connection could be used to transfer information back and forth.
Basic list layout
Service module:
- Writes/Receives formatted text messages to alert/verify someone is trying to connect to an application of theirs
- Sender attempts to make a connection with the recipient phone, which takes connection and passes to desired application along with sending back a confirmation package
- On confirmation Sender phone passes connection to original desired application.
Any thoughts, ideas, constructive criticism would be helpful.
* srry for bold, but I hope you understand why.
the best way I've been able to come up with is connected an android to a server and then routing through that server
This is called TURN P2P implementation. You want to read about STUNT implementations too. You'll probably be interested in the JXTA P2P framework.

Categories

Resources