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 some things you wish you had known about Android when you first started out or before you published your first app on the market? I am nearing completion on my first and am starting to make sure I have crossed my proverbial Ts and dotted the Is
Save you keystore file.
If you lose it, you will not be able to update your app.
Use <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4"/> to be compatible with 1.5 and newer devices.
Make your icons based on the Icon Design Guidelines.
Test your app on all Android versions before release to Market, or, if you're too lazy, just on:
1.5 (older one, lacks support of some classes that 2.x does)
2.1 (most modern devices)
2.2 (most current, not much devices for now, has some internal rendering changes)
Earlier than 1.5 are hard to find, so can be safely ignored.
android-remote-stacktrace is also very useful thing
Here's some things you can try:
Stress-testing
adb shell monkey -v -p your.package.name 500
It will help you to do some stress testing before publishing to Market.
Test your app for memory leaks. It's very easy to leak context. This post will help http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html.
Test your app on some device with Sense UI like EVO4G. Many things are different there.
Take a look at this https://stackoverflow.com/questions/2094588/android-development-tips-tricks-gotchas for some more pointers about Android development
Have a look at this blog. I have jotted down the problems i faced and some stuff i would like to pass on to new developers
http://seventhsoulmountain.blogspot.com/2014/01/gotchas-and-lessons-learnt-android.html
Related
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 7 years ago.
Improve this question
I am willing to use retrofit 2.0.0-beta3
http://square.github.io/retrofit/
with the basic functionalities of the library , how ever i'm not sure whether for retrofit or generally it is same safe to use a library in beta stage with it's basic functionalities , as long as i tested it and it's working (but with out bench marking).
A pre-release of software that is given out to a large group of users
to try under real conditions. Beta versions have gone through alpha
testing inhouse and are generally fairly close in look, feel and
function to the final product; however, design changes often occur as
a result.
An early version of a program or application that contains most of the major features, but is not yet complete. Sometimes these versions are released only to a select group of people
So , In my opinion, Its not good to call Beta version .
Use stable version instead beta .
compile ('com.squareup.retrofit:retrofit:2.0.0-beta2')
is secure .
I think in general case, #Amiya is right, but I think in this special case, I would recommend Retrofit 2 beta.
http://inthecheesefactory.com/blog/retrofit-2.0/en
You may be curious that is it time to move to Retrofit 2.0 yet? Since it is still in the beta stage so you may want to stay with 1.9 first except you are an early adopter like me, Retrofit 2.0 works pretty great and there is no any bug found yet based on my own experiment.
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 7 years ago.
Improve this question
Lenovo a6000 is not able to run material design code .
First of all, a question like this will provoke opinionated, heavily biased answers and provoke flamewar like discussions between religiously fanatic fanboy groups. It is not very wise to ask a question like this.
Furthermore, one single phone is never enough to really get your app tested. It gets you the impression how your app works on one device, but how it will work on all the others, you will never know. You will always need a variety of devices, and I am not just writing about phones, phablets and tablets, but also of different vendors. Because each vendor introduces "his" own peculiarities and quirks and you will notice that while running fine on a Nexus, your app might crash on an HTC or Samsung. Or while running nicely on those, it might not on a Huawei.
Why?
Because.
Because the vendor did something the others did not, and no one expected it. But your customers will hold you responsible for it. Because your app is crashing. And you don't want this.
So bottom line: There is no best phone for testing. Get a number of different devices from different vendors and test on all of them. Yes, it is expensive and tedious work, but you asked for it...and your customers will be thankful for a stable app. :)
Google nexus series is the best. Just use nexus for tests
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
Is there a drawback creating android applications using old sdk version? Other than the obvious one; you can't use the newer functions. Will this application slower if I set build target an old sdk compared to the latest api version when executed on a device?
Yes, not being able to use the new features is obvious. But it depends on what you are targeting and your user base is. In general, it depends on what you are trying to do. A game will usually want to use OPEN GL ES 2.0 so you need the android version that supports that. If you don't care about a specific feature it is best to follow this:
http://developer.android.com/about/dashboards/index.html
for an idea on a potential market share of an application. Older phones will increase the potential market. Besides versions you also need to know if you want to target an tablet or phone. That includes different UI changes/looks.
You won't be able to use new features, of course, if you don't need any new features there is no problem. You will also be able to deploy an application that users with older phones will be able to usecas well.
Cheers
There is no drawback other than not being able to use new features.
No, your application will not be slower.
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
New devices support at least Android 4.0 and many people started to change their phones. Do you still think that we should target Android version 2.x?
I ask this because it won't be that easy for me to support 2.x because of my native libraries. I also have to buy Android 2.2 froyo device for my tests. So, I am trying to find out if all of the effort is feasible or not.
Gingerbread 2.3.3 is on 1/3 of active android devices so I think it is something to care about.
I've has same issue too. Resolved restricting some functionality like above:
int sdkversion = 6; //or whatever
if (Build.VERSION.SDK_INT<sdkversion){
...DO NOTHING ABOUT THAT FUNCTIONALITY...
} else {
...DO IT...
}
This should help you out :) I always check it out before embarking on a new idea.
http://www.appbrain.com/stats/top-android-sdk-versions
As for your native libraries, there are plenty of apps out there that only support 4.x versions and still do very well. There are some really decent devices that run gingerbread (2.3 I believe) and are perfectly suitable to all recent apps, but due to manufacturers wont be receiving an update.
Of course, various folk root their phones and use custom roms, so maybe it's not that bad afterall. These stats, can't take that into account, obviously.
HTH.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions concerning problems with code you've written must describe the specific problem — and include valid code to reproduce it — in the question itself. See SSCCE.org for guidance.
Closed 9 years ago.
Improve this question
I am working on phoneGap android application in which I want to display bold,italic,underline,text align etc features in textfield.I implementing this by using ck editor jquery but it works fine in browser but it not shows in emulator and device also.So please help me in implementing rich textfield in android phone gap.
I do not believe that CKeditor actually works correctly on android devices yet. While it does load, it has a number of quirks that prevent it from working "well".
In order to test for yourself, simply visit http://ckeditor.com/demo and play around with it.
I was involved with the IOS5 testing for CKeditor a few months ago - during that step-by-step testing I also sat down with 3-4 different android devices and ran the same tests I was running for IOS. Those tests did not turn out well, so I simply gave up. Those tests are outlined here:
http://cksource.com/forums/viewtopic.php?f=11&t=22880&sid=057e3d4af2a019cc2d22c177ec927b97
Possibly my experience is invalid because android devices vary wildly in their support for certain key features - but that is worth you knowing because you cannot plan on a widespread release as many devices (specifically Galaxy Tab) do not work well CKeditor.
If anyone has contradicting experiences I would love to hear them. Support was bad enough that I completely abandoned my android project in August and focused solely on IOS which has very good CKeditor support.