[Q] Testing with Espresso - Java for Android App Development

When I wrote my first Android app I didn't use Eclipse, instead writing with vi and using ant and command line tools to create and build it, without even bothering with testing. Now I'm using Android Studio and think it's about time I started writing some decent tests, so why not start with Google's android-test-kit.
Unfortunately, I've not been able to get tests to work in Android studio:
The documentation seems to imply that a separate test project is required, yet I've seen suggestions that it isn't.
GoogleInstrumentationTestRunner is required, but I can't see how to set it up.
I've added src/instrumentTest/java/com.myapp.test/MainActivityTest.java, edited build.gradle and written some basic tests, but can't run anything without GoogleInstrumentationTestRunner ("Empty test suite"). Copying the example from here doesn't do any good.
Has anyone managed to make sense of this, and if so, would they mind letting me know how to proceed?

Related

I want to make an app :D

Hello.
Do you know a site or thread which has basic instructions about making a "hello world" app for PPC? Just to get me started.
What tools do you guys use? (doesn't matter if they are free or not)
How do you export/publish it as a .CAB?
Thanks.
PS. I searched and didn't find a thread like this and I don't want to use somebody else's thread.
Are you familiar with programming?
I use Visual Studio 2005 to create my apps. It has the ability to create a *.cab file as well
Visual Studio 2005 is not free.
You can find tons of info at the MSDN.
You can also use some library simplifying access to pocketPC by taking care of all necessary OS calls. Xflib looks good, especially if you want to code games, there are also some examples provided with lib download, and sources for most games hosted on their site are available. Might be a good place to start if you'd like to avoid learning winAPI and get right down to coding the actual app Another good thing is that it uses open source ceGCC compiler, so MS Visual C isn't needed. Also, you won't really need to make CABS to distribute programs coded this way, since they consist of one single exe file.
Go to www.xflib.net for downloads and install instructions.
And if you're a total beginner when it comes to programming, I'd try scripting out first. Have a look at mortscript (good because of it's multi-platform usage) or AutoIt (for windows desktop)
Thanks for the answears so far .
I'm not a programming noob, but not profesional. I've done some apps and games. I plan to start with easy things first as a coin toss app... it comes quite handy... or perhaps a handy stuff thing, inclusing the coin toss, unit converting (there are many), dices, chronometer, etc. All with stadistics and many options, like a random mode and a rigged mode ;D for dice and coin toss...
Then move on to something greater, who knows.
For something like that I suppose visual studio is best. I'll try both anyway. Any advise?
By the way is there an emulator like toolkit for J2me? Something a friend can download to run it without a programming software (or a phone).
Thanks again.
Edit: I believe I found an emulator, at least for XFlib (found there).
Device emulators
visual studio has its own device emulators you just have to download the proper SDK's like WM6 sdk or WM5 sdk to be more device specific, it's supports emulator debuging and device debuging but apps made with VS tend to slower and more memory hungry than apps implemented in C. But for me it's the easiest way to app development.
can you post the emulators link or better yet the whole thing itself here if its small enuff? im also working in xflib and would be much easier to use a standalone emulator rather than the one with vs2008. thanks

Pre-compiled TodayScreenSupport-UnManaged?

I'm trying to follow these instructions for creating a Today Screen Plugin, but I can't compile the unmanaged code. I can't even get eVC to run on my Vista machine, and I don't know enough about c++ to manually convert it to a VS.NET 2008 project.
Is there a reason that I have to compile it myself? Is there somewhere I could download a "pre-compiled" version without having to struggle through this?
I managed to get the eVC++ projects imported into VS.NET 2008 and built, hooray!.
Next I opened the "Managed" solution that is supposed to build the cab files for the device and an installer for my dev box. With some tweaking of paths, I was able to get this to build too.
However, it looks like it's building a new project type for vs.net2003, not 2005. So installing the custom project doesn't actually seem to work. And I still can't actually start working on what I *REALLY* want to do, which is writing a today screen plugin.
So now I have to figure out how to make this project type compatible with vs.net 2008.
What a convoluted and weird way to distribute this stuff. Why didn't they just distribute some binaries?
You could try memwatcher project from WM5 SDK which came with Visual Studio 2008 or to convert the project from WM6 SDK that is created for VS2005. The example shows free memory (SD card and RAM) and is useful as starting point for new projects in VC++ (unmanaged).
MemWatcher is written to support different screen sizes and orientation by calculating the size of bars according the device screen size.
Read more about Memory Watcher here:
http://msdn.microsoft.com/en-us/library/bb158711.aspx
I had no problems with these examples and created simple today screen for my needs with added to RAM/SD bars a battery level and large clock with date.
Thank you for the suggestion, but my C++ skills are negligible. I tried briefly to figure out how to write my own based on those samples, but since I don't even know string manipulation it was very much an uphill battle.
Later I found this, which allowed me to write something useable in C#. It's still alpha, but it seems to be stable. And it let me get on with the fun part of developing instead of trying to figure out linkers and static libraries.

Looking for C/C++ Compiler for WM6

I recently got myself an ATT Tilt (Kaiser), which I plan on taking with me to a conference in Europe next month, and I'm not planning on taking a laptop so I can travel lightly afterwards. The phone currently has WM6 on there (I'm not going to play with flashing the ROM until after my trip).
To the point: I want a C/C++ compiler on my phone that I can use for potentially testing a few things over there (assuming the application I have in mind will work, but that's another story). I'm assuming that if I get the compiler working, it will have access to the standard C libs, including network stack.
I've tried PocketGCC, but I can't get it to work. The cabs from pocketgcc.sourceforge.net install fine, but the CMD Prompt won't open (I click on the icon and nothing happens).
Searching these boards, the only reference I've found was to http://www.mobilitysite.com/boards/business-development/135816-pocket-c.html#post1187340, but the links it points to for getting the various files no longer work.
Any suggestions or alternate links on how to get a working compiler on my smartphone?
As a backup, is CeGCC the best option for pre-compiling for the phone? Anyone know if it runs under 64-bit linux? Or if not, under win32 cygwin? Ideally, I'd love to have a cygwin-equivalent on the phone...but I guess that'll be deprecated with Android later on.
Thanks,
- David
Hi David,
I'm also looking for this and the best aproach was a DOS emulator (I think it is called Pocket DOS and there is another one that is free but don't remember the name) and Turbo C. I used it just to test very basic software that was just displayed in the DOS windows. But it was a really really little software (a couple of FORs and couple of variable incrementing), it was not fast to copile/run.
Hope this helps a little.
there is a cool project here, it's C#, not C++ but it might be of interest.
This one is supposed to be C++, but it is old and you may have problems with it. From what I recall, the command shell isn't compatible with wm6, but if you look around you may be able to find one to replace it that works.
Here is a command shell that's supposed to work with WM5/6
Good luck and let us know if you find anything else.
Also, the link to Mamaich's Version on that page you referenced works
Digicrat said:
I
is CeGCC the best option for pre-compiling for the phone? Anyone know if it runs under 64-bit linux?
Click to expand...
Click to collapse
mingw32ce (cegcc) is used to compile haret and roadmap (afaik vlc too).
It runs on amd64 very well. Have not tried it on my old DEC alpha.
Thanks for the quick responses.
edgar: PocketDOS looks interesting, but where can I find versions of Turbo C/C++ compatible with the pocketPC?
The program I'll be testing is actually a simple command-line C application, but it does use networking, UDP to be precise.
The link to Mamiach's link works on that page, but not the links on there for PocketConsole, PocketCMD, or the .bat files, though the bat files can be taken from the rar file itself.
I tried the PocketConsole and PocketCMD versions from the pocketgcc.sourceforge.net site again, and managed to get them (mostly) working after changing the reg key value.
I tried the PocketGCC cab file from gforge. It kind of works, but the test program won't compile. I still had to manually set the path for this, and for some reason it doesn't include gcc but calls the various other parts of it.
I'll try uninstalling the PocketGCC Cab and extracting Mamiach's version again and see if I have better luck with that later in the week and see how that goes.
Looks like I got it working for the most part.
Compilation is slow, but I don't want to waste space on the internal memory extracting all those .rar libs, unless I can get it installed/moved to the SD card later and adjust the paths accordingly (using spaces in file paths is always annoying).
I'm using Mamiach's version of GCC from the link above (extracted to /pgcc), plus PocketConsole and PocketCMD cabs from the pocketgcc.sourceforge.net distribution.
The only lingering (and annoying) issue is that it does not save the PATH setting after closing the cmd prompt.
Correction, I just noticed another more important issue. After switching programs, the CMD prompt seems to disappear. If I open another application, and then close that program, it will take me back to the CMD prompt. However, if I return to the "Today" screen, that prompt is still open but I can't get it back. It does not appear in that little task-switcher icon, nor in the detailed 'Task Manager'.
Any ideas?
Thanks
Update:
I just installed Dotfred's Task Manager. It looks like the problem is that the CMD prompt is being seen as a Process and not as an application. Now the question is can I change that...

Eclipse + Android SDK + JDNI/LDAP Access

Hi All,
For sometime I have been looking for a suitable Active Directory Management tool on a mobile device, however have never found anything which quite cuts the mustard. For this reason I have decided to give it a bash myself. I am the proud owner of a lovely shiny new Desire and it feels like it's just crying out for an app of this nature.
Just hoping I might be able to discuss a matter which requires some expertise. I have the latest versions of the Eclipse IDE for Java Developers and the SDK installed, so far I'm having much success with my first GUI builds after following a cracking tutorial Although I can handle the GUI elements (which I normally hate), I'm struggling to forge my first LDAP connection.
I have found info about the "Java Naming and Directory Interface" for java (*however no download) and just wondering if anyone else has had any success using it to code an Android app? I'm not digging for too much info for the moment, just trying to get some assurance that what I am trying to achieve is actually possible.
Not everyone's cup of tea, I know.. But decided it'd be worth asking.
Much Love,
Futurian

[IDE] Using IntelliJ IDEA for Android development

When starting with Android development most people start so by using Eclipse, so did I. Unfortunately for me this was a quite frustrating experience no matter if I developed on Windows or Linux. I often had troubles launching projects after some changes and was forced to rebuild the whole workspace (which takes a while esp. if you included a couple library projects). So after a while I decided to switch to IDEA which is a lot more satisfying. I never had any issues with broken projects and everything just builds so much faster.
One big difference (and it seems many people have troubles with it) is IDEA's handling of library projects. Unfortunately I think this is done in a very logical way, as each "project" is handled as a model. Means you create a project ("My app"), add a module for your main app project, and add new modules for each library project you would add. For each modules you can set the dependencies and say on which modules it depends.
In the newest version (12) Jetbrains also added an Android UI designer, which was one of the features not available before.
If you are curious you can download and install IDEA from their website, or when you are using Ubuntu you can simply download it from Software center.
http://www.jetbrains.com/idea/
And here's a nice article given a quick introduction:
http://www.itwriting.com/blog/7083-intellij-idea-the-best-ide-for-programming-android.html
IDEA rocks, +1. It makes my little Arch box work like a real PC at times
i use idea too,just feel good
Sent from my Nexus 4
What about the on-the-fly analysis performed by IDEA during development? Does it detect many bugs?
Have you never used this functionality?
Nobody uses this feature of IDEA?
I've only had a brief play with it so far - updated the Android SDK and loaded 1 project from GitHub, but it compiles like lightning compared to Eclipse. Thanks for letting us know about this - it's much appreciated
So how does it handle multi-module projects? The advantage of Eclipse/Qt Creator is you can keep multiple projects open at once plus the plugin integration with Maven and Git.
I briefly tried out IntelliJ a couple months back and immediately stepped away when it failed multi-module requirement for me.
More speed than molasses Eclipse would be nice, though the Windows version runs tolerably on fast i5 and SSD.
If it supports .webp on the UI designer (unlike Eclipse), then I'll be all over it!
IntelliJ IDEA has no workspace concept like Eclipse, but its project can have multiple modules: http://www.jetbrains.com/idea/documentation/migration_faq.html .
I'm a total noob/beginner when it comes to programming - never really been into it. That said, I've recently been giving it a go using Eclipse - creating my own Android app. I've just installed IDEA and find it far better to use then Eclipse. Really loving it actually.
I never got into Eclipse. The only Eclipse project I tried using was IBM's Lotus version of OpenOffice. The thing was huge, bloated with Eclipse libraries.
Netbeans is my preferred IDE (also good for C++ and others) but it, unfortunately, falls short for Android.
Intellij worked first try. Glad to see a forum for this on XDA!
Really happy this gets some attention, I've switched from Eclipse to IDEA a while ago and I can't go back.
IDEA is just so smart and works so nice!
I think the best part of IntelliJ is that when you are programming you do it in one environment, from IntelliJ I can see Jira stories, commit svn/git and everything else I do while programming, without switching to 5 different applications
I hope more and more people will switch to IntelliJ, thanks for this thread!
Isn't anyone here bothered by the slow compile times compared to Eclipse? I'm working on a relatively large project, and each time anything is modified it seems to rebuild from scratch. Eclipse in comparision is able to launch the app with the new changes almost instantly.
I love IntelliJ when it comes to it's editor and project management, but in the end it takes about 20s to get my changes on the screen. I'm probably saving some time not having to bother with corrupted workspaces and such though.
I have been using it for more than a year now, haven't looked back at eclipse again.
One thing that bugs me about all of these options is that they don't work on Android itself. Not a big deal for me yet, but I see it becoming more important as we start to see Android devices with bigger screens and keyboards.
I know that AIDE is a decent IDE that runs on Android, but it only runs on Android and it doesn't compare with Eclipse or IntelliJ (yet).
I heard that the current version of Eclipse (4.2) enables some degree of GUI independence, and the next version (due in June) enforces that. That would be a good step forward, but still mostly a theoretical one.
If JetBrain were to undertake the rather large task of making IntelliJ work on Android, as well as existing desktop platforms, they would certainly get my $.
I wonder - is the new Gradle based build system compatible with Android itself?
I found the new-ish GAE Endpoints service to be quite interesting in that part of the build process (code generation) happens on the server as a service. This strikes me as very Googly and I wonder whether Google will provide Android build as a service sometime in the near to medium future. That would certainly help move us towards a platform independent future, though I guess AIDE has shown that it is not the build system, but the IDE, that is holding us back from developing on Android.
I've been using IntelliJ since just after I started Android development (2+ years ago). I had tried Eclipse before that, and besides the excellent feature set, always found the editor to be lacking in many ways (still no virtual space). So when starting with Android development I just hated it because I had to do it in Eclipse. No offense to the people who use and love it, I'm sure that it is a great IDE, it just does not suit me at all.
When I discovered IntellJ, I immediately felt comfortable within the IDE. This made me enjoy the coding that much more which, to me, beats out any feature that an IDE can ever have. IntelliJ has some shortcomings, but overall I find it an exceptional IDE for Android development. It can be a tad sluggish in large projects, but not to the point of annoyance. It is also insanely stable, and I have NEVER in 2 years of working with it had a single crash - just brilliant.
Also, having been using it over an extended period, I can safely say that they excellent developers at JetBrains have constantly been improving on the Android support within the IDE. Feature wise, I think that IntellJ is definitely almost on par with Eclipse, and they have done this without any official support from Google (as far as I know). If Google would take notice of IntelliJ and provide support (I'm thinking ADT) that would just make it even better - here's hoping.
I would highly recommend anyone attempting android development to give IntellJ a go - the Community Edition is free. Especially developers coming from Visual Studio
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
DubelBoom said:
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
Click to expand...
Click to collapse
I think this is an important point. Try all the options available, and make a choice based on what you prefer.
I'm just glad that at this point Android has at least two very capable IDEs to provide that choice.
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
truehybridx said:
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
Click to expand...
Click to collapse
Check my answer here: http://stackoverflow.com/a/16485929/104891 .
I am on my second attempt at using IDEA for Android dev and I am stuck at the same point as last time, and its the only thing that Eclipse has going for it: I want to create a new Android app, min SDK 8, target SDK 17 (or whatever). This is fairly easy in Eclipse and I can go though the wizard for a new project, choose my settings, even the app icon and end up with the bare outline of my app that has the ICS style (ie an ActionBar & Holo theme)... can I hell do this is IDEA. I know that there is something I am/am not doing that is causing this but I have followed tutorials for adding support libs and even had a go at ActionBarSherlock.
I think this is where a lot of users are scared off of IDEA - I think its interface and usability is better than Eclipse, hell, the GUI editor for the layout XML files is better in IDEA than in Eclipse! (Eclipse freaked out on me several times trying to put static, non moving buttons at the bottom of the screen with a vertical scrollview above them, IDEA, sure, no problem!).
If they could sort the basics out, like getting the wizards included and even if they could allow you to add in various other frameworks (ABS, ViewPager etc) then they would have a winner.
On that matter, anyone got a tutorial on setting up a new project in IDEA the same as Eclipse with Holo theme?
Thanks

Categories

Resources