Basically, what i need are reference materials or online tutorials on how to share files with my PC from my android files as it is done in WiFi file transfer pro. What are the android technologies i need to know to be able to implement something like that. This question might be a bit broad, but i am a beginner and i really want to know how to go about doing something like that as i am to implement something related in my mid-term work.
Consider two things: (1) how to connect the PC with android device over WiFi; (2) what protocols are used for file sharing.
There are multiple solutions for (1). You may connect both devices to the same WiFi router (requires an extra equipment). Or you may set one device as an AP and let the other connect to it. You may also use the ad hoc mode. Once get connected, ping the counterpart at both ends to make sure they get connected. All you need in this step are the IP addresses for both devices (PC and android device).
For (2), you may use either http or ftp. There are free http/ftp server on Android market that you can use directly. Once the server is done, access the server on you PC with IE and with the correct IP address/port number. You may also design your own server and client SW with customized UI and novel functions.
You can realize this solution with no programming jobs. Alternatively, if you want source codes, try the keywords http/ftp, server/client.
Besides this solution, you may also utilize the cloud service like Dropbox. Simply install Dropbox on both devices with the same account. They will see each other and synchronize files automatically. No programming job. Drawback is the need of Internet access at both ends.
Related
I am creating a multiplayer game for android which will be like: you choose a character, you get an oponnent and during this player versus player "fight", they only click in buttons which are the "attacks".
Though at first it seemed like a simple task I am not quite sure how to do the communication between the users of which attack was selected by the opponent, but I've come up with two possibilities: Sockets and Databases.
Sockets seemed like the best option, however, what I've found is that they only work on the same network, what definetly doesn't serve my purpose.
About Database I am not sure if it is a good idea, as making so many requests to check whether the other player has already chosen would make the game laggy I think. I have even created an Firebase account, as their Realtime Database seemed much more reasonable to use, but I couldn't find any way in which I could integrate Firebase with LibGDX (which I am using for this app).
To sum up, the answer is: what is the best way to exchange data quickly? How could I implement it using LibGDX?
I am using Android Studio if it helps anything and am on 0$ budget.
Because of the $0 budget then getting a VPS (virtual private server) is out of the question. So you need another alternative. Run your server from home, from your own PC.
Your next step would be to get a free dns service which will redirect a web address to your home routers IP address and from there you can setup your router to redirect ports directly to your PC. These can be web ports, or ports for TCP use.
You will then have a choice of what to use:
1 - Web sockets which can be used by various languages that will run on the server.
2 - TCP/IP server which is less overhead than web sockets and is direct communication via TCP to your server.
Both of the above will have their strengths, but it is up to you where you start. The server software itself can be written in many languages, including Java which will be more compatible with your current Android project.
There's no way I can explain in depth any further without other questions being raised. So from here, it's a lot of research in the various technologies.
I have found this interesting Project in the Internet and my first question is how to access the data (which is connected via Bluetooth to Android) from within Unity3D.
https://pauldyan.wordpress.com/2016/01/24/my-vr-bike/
I have seen that there is an "asset" for Bluetooth but is there a direct way or a way without the Need of buying that asset?
Regards
Kev
You could, but it would involve writing your own library for both Android and iOS.
I really don't recommend going this route. You would have to write hooks for every single native iOS and Android Bluetooth function. Both operating systems would need hundreds of lines of code and several days of testing to get going.
I'd recommend just buying it. The asset is 10 dollars, which is worth the time saved.
I'm an experienced programmer but a rookie when it comes to android app development. My first Android app needs to be able to exchange data with an existing Windows application on a PC, both devices being on the same LAN.
If the Android app could read and write a file on the PC, that would crack it. Is this easy to do? Can anyone point me at any examples?
That would involve the host PC running some piece of software which would communicate over the LAN/Bluetooth with your app, and execute the required actions based on some events from your app.
There might be some dropbox/google drive apis, depending on what your aim is.. But I doubt you will avoid coding some sort of (small) desktop application for this purpose.
I want to implement my own encryption rule before the call data go into GSM network i.e. I want the call stream in the form of bits, I will implement my own encryption algo, and then send on to the network, my app on the other side(reciever's end) will recieve the data, decrypt it and make it into audio.
I want to know is it feasible, if it is how? I mean I want to use cell phone network as in like Airtel, Vodafone etc.
If it is not possible It will be of great help, if I can do it using internet (2G or 3G) ?
Any guidance in this, I want just direction.
Thanks in advance.
You can quickly create a chat application using Adobe Flex which will create an Adobe Air app that can run on Android (and also compile an iOS version if desired). The core strength of Adobe Flex is sending audio (and video) data with very little effort on the developers part.
You can configure your application to use SSL using the rtmps protocol if you want the data being transmitted to be encrypted.
This page shows you how you can create a simple video chat app for android using Flex http://coenraets.org/blog/2010/07/video-chat-for-android-in-30-lines-of-code/ - if you specifically don't want video you can send audio only data.
I can't imagine any reason why this wouldn't be possible as the networks are just passing data around, I don't think they care if it's encrypted or not encrypted - it's just a series of 1s and 0s.
As to how, that's a little beyond the remit of Stack Exchange - if you have a specific problems then post them with code.
There are other similar questions which you could look at:
Basic encryption on Android
https://stackoverflow.com/search?q=android+encryption
On Android, calls using the GCM (or other) network are handled by the baseband processor, which you don't have direct access to. You talk to it via the rild (Radio Interface Layer daemon) which uses proprietary library to talk to the actual hardware. So in practice you cannot mess with the mobile network.
A VOIP application would use the data connection and you can send/receive pretty much anything you want. If you use a standard technology such as SIP, there are ways to use TLS for the communication channel(s), so that traffic is encrypted. If you are creating your own, you might do something similar by using SSL sockets.
The 'how' part doesn't really fit the SO format, since it's very open ended and depends on how you decide to implement this.
NOTE: If you have no idea what TOR or Orbot is, check out this links below:
https://www.torproject.org/
So, I was wondering if possible to add TOR support to my app. This would save the user alot of stress looking for a working proxy and besides, TOR is one of the most safest proxies out there.
Im aware that the The TOR team made an app called "Orbot" which allows Android devices to proxy apps using orbot. The problem is, the only way for Orbot to proxy apps is if they have ROOT and some users do not like taking techy approaches, especially when it has "THIS COULD BRICK YOUR DEVICE!" so I thought if its possible to rip out the Orbot source and add it to my app so my app gets proxied.
This can save lots of people from downloading multiple apps and cut time on setting this up (since my app has to have proxy support to be proxied through TOR which I havent seen much of so i really have no idea on how to have something like this) but im not sure where in the source code is the actual routing to the TOR network and thought i could get a little boost in this.
Im not trying to make my own Orbot, i will give credit
So, does anyone know where to start? I decompiled the regular Orbot app and skimmed through the source but not much rings a bell.
Thanks!
Use ORlib, which "is an Android Library for use by any application that wishes to route its network traffic through Orbot/Tor".
If you want to avoid forcing user to install Orbot, you can include Tor in your application using this project which includes Orbot's tor binary and allows full control over it.