Hackers: What is your Android Workflow? [closed] - android

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 am new to Android Development and I would really appreciate some advise on how to develop android. I am currently using Eclipse with Android SDK installed on my Macbookpro.
I am using the newest API, 3.1. However I noticed that the android emulator is not very stable (it keeps crashing sometimes) and the emulator is insanely laggy (my Macbookpro has icore5 and 4Gb ram with AVD ram set to 1Gb plus I am using snapshot). I gave 3.0 a shot but it's still very slow especially with respect to start up time.
How many of you still develop in 2.3.3? Is that the most stable version right now? Are most devices still using 2.3.3?
How many of you actually develop on an actual device? Do most of you just suck it up to the emulator?
In addition, as an avid Vim user, I find eclipse to be really heavy for development. I am much more accustomed to developing on the command line. I also use Git pretty heavily. I am currently using eclim but it's another dimension in it's functionalities. How many of you stray away from the eclipse IDE framework?
EDIT: Ok I didn't know 3.0 was for tablets. I was just reading the intro parts on developer.android.com, which I am not particularly fond of. What is the best book then for doing android development?

You ask too many questions at the same time, but here is something that might interest you about share of different sdk version in the android market (for apps in the category Entertainment) :
Android 2.2 58,4%
Android 2.1 20,8%
Android 2.3.3 9,3%
Android 1.6 4,9%
Android 1.5 4,6%
Android 2.3 0,5%
Android 2.0.1 0,1%
Android 1.1 0,1%
Android 1.0 0,1%
Android 2.0 0,0%
My stats may not seem so relevant but almost no one till now uses android 3.0 and above. It'snice to be compatible with it but your target and min sdk (in your manifest) should be lower if you want more than a few thousands users.
Personnally, I use a 2.2.1 device from archos and I would not upgrade it above just to be able to test what most android users have on their device.
I used to be an emacs fanatics for years and switched to Eclipse 2 years ago for giving Java courses. And really, after 2 years I would never come back to emacs although I loved it but Eclipse, once you get used to the fact the it is missing 6 letters keyboard shortcuts, is really very very very productive.
Close your unneeded projects, use working sets, and tune eclipse memory settings, it will help.
Learning Git though.
Oh, and by the way, if you want the fastest solution to test your programs, you should consider testing on a real device. It's far more efficient than the emulator. Personnaly, I like to use dropbox to copy files from eclipse to my android. Then I can install it within one click from dropbox, using settings >> Application to remove old apps when needed.
The only problem I have is that my app is not generating enough revenue to allow me to follow android 's new SDK, buy hardware to test it with honeycomb, unfortunately.
Regards,
Stéphane

Using 2.3.3 is not about stability.
2.3.3 is the phone version of Android while 3.1 is the tablet version. Hopefully they will be merged in 4.0. Anyways i used to develop using 1.6 as long as i don't need the new features to reach as many devices as possible... its probably time for 2.1: http://developer.android.com/resources/dashboard/platform-versions.html

From my experience you should use Android 2.2. I have run into very few bugs with the emulator and graphical layout of the xml files. Also if you walk into any AT&T store most of the phones right now will ship with Android 2.2. Android 3.0 is for tablets only. Your 2.2 application will still work on tablets.

Related

Does Android version matter when learning Android development? [closed]

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 1 year ago.
Improve this question
I am going to enrol on a course to learning Android Development. There it says it "write apps for Android 8 Oreo with Kotlin"
But Android 11 is already out there.
So is the course worth it in 2021. Or Android version does not matter.
It will be really helpful if you can share your advice.
If you have any confusion feel free to ask.
well, the answer to your question is yes it will be helpful.
at the end of the day, it depends upon your app's target audience. For example, if you go to Android Studio and make a new project, they ask you to select a minimum SDK.
So for comparison's sake let me give you the list.
Android 4.1 (Your app will run on approximately 99.8% of devices)
Android 4.4 (Your app will run on approximately 98.1% of devices)
Android 5.0 (Your app will run on approximately 94.1% of devices)
Android 5.1 (Your app will run on approximately 92.3% of devices)
Android 6.0 (Your app will run on approximately 84.9% of devices)
Android 7.0 (Your app will run on approximately 73.7% of devices)
Android 8.0 (Your app will run on approximately 60.8% of devices)
Android 9.0 (Your app will run on approximately 39.5% of devices)
Android 10.0 (Your app will run on approximately 8.2% of devices)
Android 11.0 (Your app will run on approximately < 1% of devices)
So, it's a trade-off, with a newer version you'll get more features and you can offer more features but at the same time, you'll lose users.
As of Android 8.0, all the features in 8.0 will be, I guess, included in the Android 11.0. So, you can learn 8.0 and shift to 11.0 as per your needs.
Also, on May 7, 2019, Google announced Kotlin as its official programming language for Android Development. Many apps such as Zomato, dropbox, weChat, Netflix, Trello, Slacks, etc have shifted to Kotlin.
key features would be view-model, Kotlin Coroutines, Live-data, Room Database, and Flows are all included in Android 8 as well as 11.
So, as far as basics are concerned it's a THUMBS UP for the course.
Also, if you are keener on learning Android, go through Android Kotlin Fundamentals
It is a seemingly good to have thing to start with latest version since they bring up quite a number of changes over time. If that is posisble, my suggestion would be to start with the latest Android 10/11 courses.
On the other hand, any sort of Software development is based on the fundamental understanding of the platform. Hence if the latest courses are not that good, to learn basics, the Android 8 course should also be fine. Basically, anything that teaches you how to build Android apps, in general, is enough.
Happy learning and I hope you have a lot of fun while doing so!
There are changes between android 8 and android 11. One popular one is the external storage and how it's accessed. You can go ahead with your course, a lot of things hasn't changed yet and it's easy to adjust to these changes.
Yes it matter the most , google has deprecated lot of functionalities above Android 10 which works for older devices. You need to set target SDK as latest version so lint will give you warning of deprecation.

which phone for the most of Android versions? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
Im developing an Android app and I would like to test it on a real device so that I'd like to get a phone, on which a different version of Android can be installed, upgraded and downgraded.
Which phone can run most of Android versions? How should I choose it ?
Thank you.
[This answer applies to official Google releases of the Android software, not to alternate distros like Cyanogen.]
There are very few devices that even support more than one or two versions of the Android system. Carriers and OEMs seem reluctant to upgrade devices at all, and when devices do receive major upgrades, they rarely get more than one.
Of course, Android is open source, so you can build whatever version you want, right? Not really. Although the base OS is open source, OEMs have no obligation to release the actual source used to build the kernel and userland for any particular device. With a closed-source device, upgrading is out of the question. The best you can hope for is a downgrade, if you can find the right binaries.
As one commenter noted, Nexus devices are in general a good choice. They are usually supported for at least three OS revisions, and can be upgraded and downgraded easily. With few exceptions, they run 100% open source software.
If you're willing to get your hands dirty, the device that supports the most versions is the Panda board, which for many years was the standard test board for the Android Open Source Project. It was recently replaced by the HiKey board, which is more powerful and less expensive. If you don't mind building a device out of raw components, the combination of a HiKey and a Panda will cost less than a single Nexus device and likely remain valid for years to come.
I recommend you to go with the emulators but if you want a real device you should test on a Nexus device, but even nexus devices can't cover all the platforms
You can find most of the Android official versions here
Also you can find custom ROMs for different phones here
Note
Even if you flash ROMs on some devices, you still might get into different issues on different platforms because Android is customized by each phone manufacturers. For example, the Android that runs on the Nexus devices is the official Google version, but is different than the one that runs on a Samsung, HTC, Sony, etc.

Setting up app development environment for Android [closed]

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 8 years ago.
Improve this question
I am quite new to this big android world. I am going through my first app so go easy on me.
There are lots of API levels and lots of devices and i think this makes lots of hard stuff on android.
So my questions are :-
which minimum API level should I choose and why ?
Which Virtual Device should I start for - like there are lots of options available ?
Should I check my UI every time when I make changes on all the devices ?
Thanks. any help is appreciated :)
1)
Basically there are two ways here.
Right now (2014/09) you can go for SDK 10+ or SDK 15+. SDK 10 still has about 12% of total active users. As indicated here: https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
Supporting from API 10+ is a pain, it requires using a lot of backports and compatibility libraries. But you're in luck! It's pretty safe to develop on SDK 15+, as you can see from the dashboards that will cover close to 90% of all devices.
2) You can use Genymotion. It's free for small developers and beginners. You can also use the native emulator but it's laggy, if you use Intels HAX and GPU rendering it will be decent. Have a look here.
3) Well yes and no. You should develop for the best device you can get, a Google Nexus is prefered because it gets the newest versions of Android fastest. Then you should probably get the worst device you want to support and test on it. The more devices you test on the better. Also Android Studio has the option to preview layouts on multiple devices.

Have Android SDK into a tablet with honeycomb?

I want to know if exists any form to have the Android SDK into a tablet with Honeycomb.
I ask this because I´ve a tablet with honeycomb and I like to programm into this device.
It is now possible to developed on an Android table with AIDE. See more details here https://plus.google.com/101304250883271700981
Running IDE in your tablet? This wouldn't be very practical. Anyway, you could use Android Scripting Engine to edit and run primitive scripts on your tablet.
You can get the SDK here: http://developer.android.com/sdk/index.html
And there is no need to install anything into your tablet. Just download the SDK for your PC and start developing.
Writing replies like -not very practical- doesnt help, that is something relative to each of us, we have tablets with good hardware and comfortable keyboard docks, not to mention quad core tablets with tegra3 that are comming in dicember. I still don't understand why Google has no SDK for Android OS yet. Android already runs great even on PCs (via de Android x86 project).
In fact, i'm a developer and i use some interesting applications to develop from muy tablet, i recommend you to visit JavaIDEdroid and Terminal IDE wich are some examples of projects that are far from being Eclipse but already let us develop applications for Android and also for Java SE. There also more resources in the XDA forum (look for 'Asus Transformer' for example) even if those projects are not enough, there are guides to install Ubuntu dual boot and other posible solutions to your problem.

Android update OS [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am building Android apps and have an HTC Desire with running 2.1 of Android.
How do I upgrade, or even downgrade, OS on the phone to test the app on real devices as well.
You need to install another (older or newer) firmware. In my opinion that doesn't make much sense though - if you want to re-install a firmware over and over again, that's quite time-consuming, only in order to test your app for different versions.
Better to get an (maybe used - then cheaper) G1 phone with 1.6 on it to do tests with an older Android version. That's what I'm doing to test for older devices.
With the SDK, you can select OS from 1.1 to 2.2.
In many cases, that should be enough.
If you really need real hardware, please consider DevPhone1(Google version HTC Dream) or DevPhone2(Google version HTC Magic).
DevPhone1 supports 1.1 to 1.6 by Google. Other guys support 2.0 to 2.2
DevPhone2 supports 1.5 and 1.6 by Google. Other guys support 2.0 to 2.2.
I am a Software Developer seeking to break into Android, so I am not developing yet. Nevetheless, it would seem to me that you ought to listen to the previous advice given to you. However, as a Developer, it seems as though you should be or should have been using the Android 1.6 compiler on your PC and then running the finished application on your Android 2.1 OS. In other words, you have it the wrong way around! Developers know that if you want backwards compatibility, then one should use the oldest development software possible, otherwise, you can run into a whole world of problems!

Categories

Resources