Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

can't call String.isEmpty() in android

Tags:

java

android

In my android application I can't use String.isEmpty() function which is situated in JDK 1.6. Android 2.1 lib doesn't have this function in java.lang.String class

I tried to input JRE System library to my project, because it has this function, but there was no effects.

How can I solve this problem and allow my application to use this function?

like image 245
teoREtik Avatar asked Mar 09 '11 11:03

teoREtik


2 Answers

You can use android.text.TextUtils.isEmpty() instead. This method also checks to see if the String is null and has been available since API level 1.

if (TextUtils.isEmpty(str)) {     Log.d(TAG, "String is empty or null!"); } 
like image 67
twaddington Avatar answered Oct 22 '22 09:10

twaddington


How can I solve this problem and allow my application to use this function?

You can't.

Use String.length() == 0 instead. It is backwards compatible all the way back to JDK 1.0 ... and with J2ME as well.

String.equals("") is another alternative.


Are you sure that there is no way to configure Eclipse to put into a code classes from definite libraries?

Not if you want your app to run on a real Android device. Java / Android platforms intentionally make it hard for you to tinker with the behaviour of the core class libraries. For a start, you can only do it by modifying the Davlik equivalent of the bootclasspath or rt.jar file, and neither of these can be done within a running JVM.

That kind of tinkering has the risk of potentially breaking Java for other apps. Even assuming that you can't compromise Android app separation directly (because of the process/uid separation mentioned below), malicious tweaks to the (shared) Java core classes could still potentially allow one app to interfere with, or steal information from another app.

like image 34
Stephen C Avatar answered Oct 22 '22 11:10

Stephen C