Почему класс StringUtils Apache не распознается в Android? - PullRequest
11 голосов
/ 11 мая 2010

Почему import org.apache.commons.lang.StringUtils не может быть импортировано в Android по умолчанию.

Нужно ли включать внешнюю библиотеку? Тогда где я могу найти эту библиотеку в Интернете?

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;
        }
}

Ответы [ 4 ]

29 голосов
/ 06 ноября 2014

Вы не говорите, используете ли вы Eclipse или Android Studio. В Android Studio вы бы добавили,

import org.apache.commons.lang3.StringUtils;

в ваш файл исходного кода. В build.gradle вам нужно изменить свою зависимость на что-то вроде

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

до

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

Другими словами, вы бы добавили к зависимости.

10 голосов
/ 24 августа 2012

Android предлагает подмножество этих функций в android.text.TextUtils .

В зависимости от того, что вам нужно от StringUtils, это может быть вариант. Например, у него есть объединение, разделение.

5 голосов
/ 11 мая 2010

Apache Commons lang - это отдельная библиотека. Вы можете найти его здесь .

2 голосов
/ 03 июля 2018

Если вы используете Android Studio, попробуйте использовать рабочий процесс для добавления зависимостей, а не добавлять загруженную библиотеку вручную или вручную изменять файлы Gradle.

  1. Файл -> Структура проекта -> Модули -> Приложение -> Вкладка Зависимости
  2. Нажмите «+» в левом нижнем углу и выберите «Зависимость библиотеки»
  3. В поле поиска введите: "org.apache.commons: commons-lang3" и нажмите Поиск
  4. Выберите "org.apache.commons: commons-lang3: 3.7"

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...