Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why StringUtils Apache class is not recognized in Android?

Tags:

android

Why import org.apache.commons.lang.StringUtils cannot be imported in android by default.

Do i have to include an external library? Then where can i find that library on the web?

package com.myapps.urlencoding;

import android.app.Activity;
import org.apache.commons.lang.StringUtils;

public class EncodeIdUtil extends Activity {
    /** Called when the activity is first created. */
     private static Long multiplier=Long.parseLong("1zzzz",36);

        /**
         * Encodes the id.
         * @param id the id to encode
         * @return encoded string
         */
        public static String encode(Long id) {
            return StringUtils.reverse(Long.toString((id*multiplier), 35));
        }

        /**
         * Decodes the encoded id.
         * @param encodedId the encodedId to decode
         * @return the Id
         * @throws IllegalArgumentException if encodedId is not a validly encoded id.
         */
        public static Long decode(String encodedId) 
            throws IllegalArgumentException {
            long product;
            try {
                product = Long.parseLong(StringUtils.reverse(encodedId), 35);
            } catch (Exception e) {
                throw new IllegalArgumentException();
            }
            if ( 0 != product % multiplier || product < 0) {
                throw new IllegalArgumentException();
            }
            return product/multiplier;
        }
}
like image 406
Muhammad Maqsoodur Rehman Avatar asked May 11 '10 07:05

Muhammad Maqsoodur Rehman


2 Answers

You don't say whether you are using Eclipse or Android Studio. In Android Studio, you would add,

import org.apache.commons.lang3.StringUtils;

to your source code file. In build.gradle, you need to change your dependency from something like,

dependencies {
    compile 'com.android.support:support-v4:+'
}

to

dependencies {
    compile 'com.android.support:support-v4:+'
    compile  'org.apache.commons:commons-lang3:3.0'
}

In other words, you would add to the dependency.

like image 79
VectorVortec Avatar answered Nov 10 '22 12:11

VectorVortec


Android offers a subset of that functionality in android.text.TextUtils.

Depending on what you need from StringUtils, that might be an option. E.g., it has join, split.

like image 45
Alex Avatar answered Nov 10 '22 14:11

Alex