I want to be able to run a program on my desktop (C++, bash, or python would all be preferred. I have plenty of experience with those languages so no worries there) to control the camera on my android phone. (While the phone is connected to my computer via USB.)
I'm guessing I should start by looking through the android SDK docs, but not sure if that's even the place to start, because I'm assuming the SDK is to write programs for the phone itself, not writing programs to control the phone.
The only functions I need are record, stop, set zoom level, and set save filename.
Basically my question is: where should I start looking, and if you have heard of a tutorial or example that shows an easy way to do something like this, I would appreciate it.
I have a Galaxy S5, and my desktop runs Debian 8.
Thanks!
Related
Coming from a desktop and web background, I am familiar with tools that allow me to record mouse movements and keystrokes for Functional test.
What for Android apps? Is there any similar tool or tools? I assume with a device connected to your PC/Mac (emulator), but also simply on the device itself.
For the later, which is what I'm trying to accomplish, I would like to be able to record movements on the screen (just as in the eclipse emulator), i.e. swiping up, down, button on press, on release, etc., and simply have it run on the device itself without being connected to a computer, similar to being able to record a script (functional) and run it over and over, having this installed as an app on the device to allow me to record and run functional scripts as an overlay on top of an app in development?
Like being able to run something like MonkeyTalk directly on the device.
Think of being able to record and run Selenium functional scripts directly on and from the device.
Is there an overlay type of idea that would work? I've heard there are some security risks in this.
Looking for a solution please.
I suppose Espresso Test Recorder is exactly what you are looking for.
I just started to learn how to program an Android applications. Coming from a C# world, one thing that bothers me greatly about Android programming is the fact that it takes forever to actually test your app because you have to fire up AVD or wait until the app is installed on your actual device whereas for Winforms/WPF applications, you just hit that debug button and everything loads within split seconds.
My first question is, which is a more preferred way of developing to maximize efficiency? Develop on AVD or an actual device? Are there any suggestions on how I can improve my development speed?
A few things, most people leave the AVD open whilst they are developing so that they don't have to wait ten minuets every time they open it, however if you have a very slow computer and this is not an option then yes it will talk a while
If you have a faster computer then AVD is likely to be less laggy, but for a completely lag free testing place, use your actual device.
If you are making games you should look into libgdx because it allows you to test your apps on your desktop, then by changing one line, export them as .apk files and test on you android device
For a lot of apps and features within apps you will be left with no option but to test on your real device. Because it can take a while moving the .apk file to the actual device, I would recommend using an on device IDE to make small edits to your code whilst testing certain hardware features such as the volume buttons or the accelerometer. As for on device IDEs I would recommend AIDE - https://play.google.com/store/apps/details?id=com.aide.ui&hl=en
On the whole, I would recommend using eclipse with AVD, for the majority of your development on the majority of your apps, but for any apps that you need hardware functions for, I would recommend using an on device IDE (search the play store for android development for more options if you don't like my recommendation). Most importantly don't list your app until you have tested it on multiple screen sizes on the AVD, and you have tested it on you physical device
Keep the AVD open, you can keep doing debugs and test on it, it will automatically close and reopen with new code, that’s how I do at least, and I am the same, came from C# no experience with Android.
I am new to the development as well as the prg world. I want to learn android and want to make applications for it. So one possible way is to buy a new android phone to test it live and not on emulator. But I have two spare phones, Nokia N70 and Motorola MotoRokr E6. So I was willing to port the OS on those machines. As a result I wanted to know is that possible then what all do i need for that considering both Software and Hardware Aspects.
ThankYou in Advance...
Its possible however I would strongly recommend against it.
While android is open source and nominally can be run on any system you choose, in reality you would have to start worrying about keyboard incompatibility, drivers for any integrated peripherals your phone has, lacking buttons that are standard to all android phones etc.
Getting android running well on one of these phones would be a large project in its own right. I certainly wouldn't recommend testing your android apps on it as a first port of call as the problems you uncover are as likely to be with your android port as with your app.
Neither phone has anywhere near sufficient memory.
You need 96-128 mb, preferably more like 256 mb of ram.
Something that was already linux-based would be simplest as you would start by adding the android kernel modifications. Alternatively, something that is a winmo cousin to a vendor's existing android phone and has basically comparable hardware so you can hopefully recycle drivers or leverage an existing porting effort.
But if you need to aquire a phone anyway, get one that already runs android.
I have a Symbian based phone with a ARM Cortex-A8 processor (SonyEricsson Vivaz) and was thinking on how hard would it be to try and port the Android OS for it. Obviously Android runs on a myriad of devices with different hardware so I imagine it shouldn't be too hard to adapt it to SE hardware. Could some one give me a clue where to start or if this is even undertakable...
How much information do you have about the hardware in the phone ? Are you starting completely from scratch ?
Porting Android is not simple task. First thing is to have Linux running (preferably 2.6.32 for more compatibility with the latest releases of AOSP.
If you can find a kernel that can run on your phone, that's one big step. After that, you want make sure that the peripherals you want to use also have the right drivers : touch interface, LCD display, SD card, audio, video. The ones that are probably most difficult will be wifi, radio (GSM) and power management module.
If you get that far, you don't have that much to go anymore, a few more changes in the kernel needed for Android, be able to compile Android correctly file system, hook up a few things like buttons and correctly interface with the drivers mentioned above...
But overall, definitely not an easy task (IMHO).
I have been tasked with sourcing an off the shelf touch pad device that can be used as a dedicated industrial instrument controller.
Is it possible to run a dedicated application and prevent user access to all other functions/applications within Android.
Also is it possible write your own USB device driver which would allow you to connect an USB serial class device?
Of course you can. Like already stated Android is open source. You can take the sources and recode them to your desire so that the device behaves like you want.
In the end the default android launcher and all other applications are all just standard Java applications (mainly). You can recode it so that instead of loading the launcher app it loads up your app.
I think you can use this OS to make your own custom gadgets same as you can use linux in embedded systems.
Its open source so you can go down into the OS code and disable what you like. So i would say it is indeed possible. Windows does also do windows embedded like windows CE/WM range, these have touch screens and come in rugged form factors too, M3,PSION and others.
You can recode the OS visual display, i.e. HTC sense on all their phones. So you could recode it to show nothing.
As to the driver, well a driver is a driver this will also be possible.