Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
What are the pro's and con's of using android studio instead of eclipse ?
Note:: I have looked into the answers here answered by CommonsWare but it was not much clear in debugging tools
Does Android Studio offers special debugging features which are not
in eclipse ?
If so what are those ?
I have used extensively both IDE's. IMHO Android Studio is much better than Eclipse.
Some obvious advantages are:
It supports gradle (this allows you to really have control over the build, create different application flavors, different signing configurations and so on).
In the layout view you have the option to view both the actual layout and the xml at the same time, while in Eclipse you must choose between the two tabs.
It feels better. From doing a refactoring (like renaming a method, to extracting a class) to viewing the Logcat. The refactorings seem more solid and the Logcat does not "disappear" as it happens in Eclipse (although it must be noted that the filtering does not work that well).
Its the future. Sooner or later this is going to be the standard, as Google is actively developing it.
On the downside I can notice three things:
Still it is not that stable. For example if you want to view your project modules in the module view (as of v0.4.2 for Windows) I cannot see all of them. This actually means that in certain cases the only thing you can do is to build from command line and edit the gradle script.
Because is something relative new, many libraries are not supporting it out of the box, whereas in Eclipse, since it has been around for so long, everything is more or less trivial.One example of this, is Robolectric (the library that allows you to run android unit tests on your pc - i.e. over any jvm). I have really struggled to set up Robolectric in a gradle project, and I never managed to do it. In Eclipse it was quite easy.
The last thing is also related to the other ones: Since Android Studio is quite new, you may not find answers online for the problems that you face.
To sum up, sorry I went a bit beyond the debugging tools (although both of them use the same ddms, so there is no difference there, but I noticed Logcat has a difference, as mentioned above). There is no actual dilemma which one is better. Android Studio is, period. The point is when are you going to switch to it.
Just my two pennies.
Android studio is much clever. It understands context in which you are working (because it's built over IDEA). And for now it is stable enough to work with. I changed IDE from eclipse to IDEA and then to ADS, six month ago and very happy about this.
No, both of them give you full functionality of debugging process.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I'm working in a project in Android Studio and up to now, I've copied my files in other directory to change my code for adding new improvements in my program.
And this way is very overwhelming for me.
But I heard that is a good idea use Git when developing, and I want to try it. But I have some questions:
My app is not published yet, should I use Git or other VCS?
How can I use Git from Android Studio?
Is there any risks to my app in development get messed while trying a VCS?
What is VCS and why should you use it?
There are many benefits of using a version control system for your projects.
Collaboration
Without a VCS in place, you're probably working together in a shared folder on the same set of files.It's extremely error-prone as sooner or later, someone will overwrite someone else's changes.
With a VCS, everybody on the team is able to work absolutely freely - on any file at any time. The VCS will later allow you to merge all the changes into a common version.
Storing Versions (Properly)
Saving a version of your project after making changes is an essential habit. But without a VCS, this becomes tedious and confusing very quickly:
Restoring Previous Versions
Being able to restore older versions of a file (or even the whole project) effectively means one thing: you can't mess up! If the changes you've made lately prove to be garbage, you can simply undo them in a few clicks. Knowing this should make you a lot more relaxed when working on important bits of a project.
Understanding What Happened
Every time you save a new version of your project, your VCS requires you to provide a short description of what was changed. Additionally (if it's a code / text file), you can see what exactly was changed in the file's content. This helps you understand how your project evolved between versions.
Backup
A side-effect of using a distributed VCS like Git is that it can act as a backup; every team member has a full-blown version of the project on his disk - including the project's complete history.
How to use GIT on Android Studio
Have a look here
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
After using Eclipse, back in 2010 I moved to IntelliJ IDEA and have been using it ever since. Although Android Studio took over the logic of IntelliJ IDEA, it implemented Gradle as its build system.
Gradle in its essence may be as perfect as they say on the Gradle website, but honestly it's rather confusing for those who first time open project created with Android Studio.
Will Gradle become very important in the future? How long can we not use it? Basically, how smart is it that I keep using IDEA without taking care of Gradle and Android Studio?
I know that at this point I don't need it, but I have to think about the future.
If IDEA is working for you, then it's good to stick with it -- if it ain't broke, don't fix it. IntelliJ will be supporting its existing non-Gradle build system at least through the 14 release and likely beyond that, as far as I know (though I don't speak for them). You can use non-Gradle projects with Android Studio if you already have one, but it's not really encouraged, and we don't provide you a means of creating a new one. It's not that there's much that's inherent to Android Studio that makes it not work with non-Gradle projects, but it's just not where our focus is. Besides, since IntelliJ uses the same Android plugin as Android Studio, most functionality you might want will be available on that side anyhow.
Gradle is the future as far we on Android are concerned, and we hope to eventually have a better story for all the people using Eclipse + ADT, so if you're looking to the long-term future, it's a direction you should eventually go, especially if your development becomes complex enough that the existing build system becomes a limitation. But it's not like your existing workflow is going to just suddenly stop working in the next year or two.
I found Gradle very confusing initially and it took me a long time to wrap my head around it. Android Studio is using Gradle as the preferred build system. Just keep practising with it and you'll slowly learn it. Then if/when you're forced to use Gradle it won't be an insurmountable task. That's what I did and eventually I adopted Gradle, and now I don't have any problems with it.
So I think if you like working with Android Studio and you anticipate you'll be using it for future projects, it's a good idea to familiarise yourself with Gradle in case it eventually does become the only supported build system (and that's looking increasingly likely).
I'd say it's not smart to neglect learning about Gradle it if you're already an Android Studio user.. but it is a subjective question.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I'm getting back into Java programming, and I've decided that giving back by working on open source Android apps is a great way to start. I've been running Cyanogenmod nightlies for about a year now, and would like to start with some of the core apps I work with on a daily basis (Camera, gallery, GitHub, StackExchange, the list goes on)
I can find packages on GitHub easily, and I can bring them into Eclipse (Kepler) but I find myself going down a rabbit hole of endless required packages and such, and never actually getting anything to build!
Is there anywhere I can find documentation on starting to edit these things? Tutorials, tips/tricks, required reading for this sort of thing? Is there a master repo somewhere where I can grab all of the code for Cyanogen (I know, this is probably ridiculous) to make sure I have all the imports?
Is there anywhere I can find documentation on starting the edit these things?
Ask the developers of your project(s) of interest. Usually, if they really want contributions, they will have build instructions. The GitHub app does as part of its project README. The newly-released StackExchange app is not open source.
Is there a master repo somewhere where I can grab all of the code for Cyanogen (I know, this is probably ridiculous) to make sure I have all the imports?
CyanogenMod has a wiki which contains lots of project documentation, including a set of pages for how to build CM and so forth. They even have dedicated build guides for how to build from source for various device models. There is also a page describing their GitHub hosting model.
Please bear in mind that many of the apps that came to CyanogenMod from the Android Open Source Project (AOSP) are not Android SDK apps that you can build with an IDE and the SDK alone. Most have many hooks into the rest of the OS and as such need to be built as part of a larger OS build. As such, this is not what I would recommend somebody "getting back into Java programming" to get involved with as their first order of business. The being said, for further assistance in developing for CyanogenMod, contact their community through their various channels.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I started programming a few months ago, and learned python and I started learning Java about a month ago.
I've been using sublime text for coding Java programs, and now as I am getting into Android Programming, I found two official IDEs --> Eclipse and Android Studio.
After two hours of research, I've learned a few things: Android studio is an early preview, and it is not recommended for beginners.
However, Android Studio shows so much promise that I think it will be taking over eclipse in the next few years, assuming that google will publish an official polished version in early 2014.
I have nothing against Eclipse, but it just seems like Android Studio is the way to go if I'm looking to program Android apps 5+ years later.
What are you guys' opinion on it?
I know the basic idea of how android programming works, including xml, and wanted some recommendation on whether I should get into Android Studio or not.
As Android Studio is a rolling release, it's not like I would have to start all over when new versions come out, so I think updating versions is not a problem
So, will it benefit me in the future if I get into using Android Studio rather than sticking to traditional Eclipse with Android sdk?
Need some answers from experienced developers who use/used Eclipse and have tried Android Studio.
Thanks
It is a matter of personal preference. I have used android studio and eclipse and also used sublime text for android programming. For starters eclipse is the best(my view). Android Studio is great too(layout support) but you should know that it is in preview as of now. Honestly I suggest using eclipse for a while then after you gain some experience switch to android studio. Also visit the following links:
Android studio vs ecllipse
This one too
Theoretically you shouldn't need either - I knew someone that used text editor and compile from command line, that is basically what Eclipse/Studio are doing, but with some clever UI design tools, and a "run" button instead of setting up and running an ant build.
I would tend to prefer Eclipse, since it can be used for many other things than Java/Android, has a large following, and is mature with very good Android tools, right now. I doubt that will change soon.
Can't give a exact answer for this. I like to deal with Eclipse. Another one may like to deal with Android Studio. It is vary with different developers. If Eclipse makes you comfortable with coding, use Eclipse. If Android Studio makes you comfortable with coding, use Android Studio.
I personally would like to continue with eclipse due to years of practice on it! Yes, but you can surely try to use Android studio where you are not working on critical projects cz you don't have time to search for things regarding adt again and again until you are comfortable!
well i figure out this from this content you must read as well
Working with eclipse can be difficult at times, probably when debugging and designing layouts Eclipse sometimes get stuck and we have to restart eclipse from time to time. Also you get problems with emulators.
Android studio was releases very recently and this IDE is not yet heavily used by developers. Therefor it may contain certain bugs.
This describes the difference between android android studio and eclipse project structure:
Android Studio Project Structure (v.s. Eclipse Project Structure)
This teaches you how to use the android studio:
http://www.infinum.co/the-capsized-eight/articles/android-studio-vs-eclipse-1-0
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I was thinking of building an app on Android with Scala instead of the regular Java (or the equivalent I guess). Is it worth it?
Any problems and unnecessary headaches?
Working with Scala should be mostly painless, as the dex compiler just works with bytecode - which is exactly what Scala produces.
Your biggest problem then is the dependency on scala-library, as dex expects everything to be in a single Jar. This is best handled with Proguard (which will also remove unused code and give you a smaller executable, ideal for mobile)
Current best practice is to use SBT with the Android plugin; It'll take care of everything for you: http://github.com/jberkel/android-plugin
If you must use Eclipse and the plugin supplied by Google, then you're going to have a non-standard directory structure. I also wrote an article on how to deal with this: http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android
But be warned... it takes a lot more effort that way!
There is a talk by guys from bu.mp on Scala Days 2011.
Disclaimer: While they talk a lot about issues they've faced, the overall experience was definitely positive. Moreover, this were the problems of one particular team and they are minor ones.
Summary:
Memory usage. Closures eat memory. Scala has closures all over the place. While it is not a relative big problem (memory overheads) on your table PC, it should be considered when you develop for mobile phone. You may ask: how they solved it? They had a hunt for a tight loops and then optimized them (rewritten in closureless scala/java). (26th minute) I think Java 8 with native closures support will ease this problem Next scala release will target java 8 platform with a new backend and aim for much better performance. Discussion on roadmap is here.
Slower compiler (as Michal Galpin said they have 15 seconds for Java code compilation, about a minute for Scala and about an order a magnitude more for Proguard, but note that it depends on your code base and machines, but I suspect that ratio will be the same). It especially annoying when you making UI, like moving pixels, buttons and so on, and want to quickly see the result. (7th minute)
There were some issues with inner classes which are quite common for Android (look at 23:00 for details).
There were rare bugs in scalac (scala compiler) in scala-java-collections interop. The problems were solved by writing this things explicitly (I suspect that is not a lot of boilerplate at all).
While he talks about IDEs too, I don't think that it is a problem (look this post, about Scala environment). Guys that do Scala IDE and IntelliJ do their work well and IDE support is getting better and better.
For unit testing one could use RoboSpecs (allows you to run unit tests inside JVM, not inside emulator), which is faster.
One of the biggest problems I've stumbled upon is the limitations of the dex format (no more than 65536 method references per dex file). Scala library simply doesn't fit into limits, so you have to workaround that by:
using Proguard that will trim the fat from scala lib. But it is really slow on my laptop, and is just wasting time in the development stage (but is much much helpfull when you are releasing your app to the Google Play)
using predexed library. The bad thing is that this project is a little abandoned and contains only 2.9.0-1 version.
preinstalling scala on your phone
Some guys claiming that there are problems with IDEs, but things getting changed fast: the current version of the IntelliJ IDEA 12 not only has a good support of Scala as a plugin, but also contains UI Designer for Android. Moreover, you can use Eclipse which has a support from both Android (by Google) and Scala (by Typesafe) sides. Android Studio (the new IDE based on IDEA which was announced on Google IO '13 and is developed by Google) support IDEA plugins thus Scala.
We discussed this at Scala Lift Off London last Friday and the consensus seemed to be that it generally works fine as long as you avoid Actors. Also, the sbt-android-plugin was highly recommended. Nathan Hamblen's blog has many posts on Android and the ones also tagged Scala have a lot of gotchas worth looking out for.