Ответы пользователя по тегу Java
  • Как подключить к Android-проекту внешнюю библиотеку(.jar), не используя IDE?

    @FoxInSox
    Ваш вопрос: ant по умолчанию берет jar архивы из папки libs.

    Стандартных (рекомендуемых Гуглом) средств сборки сейчас две: ant и gradle, а в ближайшем будуем, судя по всему, останется только gradle.

    Указать расположение jar архивов в gradle скрипте сборки можно так:

    dependencies {
      compile fileTree(dir: 'libs', include: '*.jar')
    }
    Ответ написан
  • Как работают строки в Java?

    @FoxInSox
    А вы просто исходник класса String не пробовали посмотреть? Как и в других языках String это обертка над массивом символов.
    Ответ написан
    1 комментарий
  • Почему программа вместо цифр записывает иероглифы в файл?

    @FoxInSox
    Класс FileOutputStream пишет в файл "голые байты". Более того, ваши int'ы обрезаются до байта.
    @Override
    public void write(int oneByte) throws IOException {
         write(new byte[] { (byte) oneByte }, 0, 1);
    }

    Текст/символы в представлении компьютера и числа это разные вещи. Т.е. например текст "256" это не число 256, текст "256" это три символа, и каждый символ занимает 8 байт в UTF-8 кодировке.
    В итоге текстовый редактор просто отображает ваши обрезаные байты, которые ссылаются на разные символы("иероглифы").

    Вам нужно либо ваши int'ы переводить в строку, а затем брать массив байт:
    outputStream.write(String.valueOf(integ).getBytes());

    Либо обернуть FileOutputStream в PrintStream и записывать данные в файл спомощью метода print. Который вызывает тот же самый getBytes:
    public synchronized void print(String str) {
        if (out == null) {
            setError();
            return;
        }
        if (str == null) {
            print("null");
            return;
        }
    
        try {
            if (encoding == null) {
                write(str.getBytes());
            } else {
                write(str.getBytes(encoding));
            }
        } catch (IOException e) {
            setError();
        }
    }


    ps закрывайте стримы, и не пользуйтесь обертками(Integer) если в этом нет необходимости.
    Ответ написан
    Комментировать
  • Что изучать после основ Java?

    @FoxInSox
    1. Сертификата "Sun Certified Programmer" больше не существует. Первым шагом сейчас является "Oracle Certified Associate, Java SE 7 Programmer". То что нужно знать для успешной сдачи экамена можно узнать, например, тут и тут.

    2. За практику. Теория без практики бесполезна.
    Ответ написан
    Комментировать
  • Какой есть хороший 2D графический движок для Java?

    @FoxInSox
    Я довольно долго работал с LibGDX, в общем доволен.
    - Физический движок встроен
    - Частицы можно реализовать на встроенном Box2D
    - Свет в 2D довольно специфичная вещь, т.е. зависит от того какой вам эффект нужен. Но я видел Java библиоеку которая работает с LibGDX и Box2D для эмитации теней.
    - Классы для растровой анимации есть
    Ответ написан
    Комментировать
  • Где искать первую работу

    @FoxInSox
    Т.к. учеба не нравится, то как вариант можно попробовать перевестись в Питерский или Московский вуз. Где и учеба будет, и вакансии джуниоров присутсвуют.
    Ответ написан
    Комментировать
  • Каковы перспективы Junior'а в маленьком городе?

    @FoxInSox
    Имхо, ни один из пунктов именно вам не подходит. Предложу свой:

    6. Продолжайте учить Java, но только не просто читая и решая типовые задачи, а начните свой проект. Не слишком сложный, не нужно писать свой "3Д вижок который сделает революцию" или свою операционную систему, а просто проект который охватывал бы ту или иную сферу, но качественно. Например, напишите клон сервиса Dropbox: серверную часть, веб клиент и Android клиент. Там вам и многоточное программирование, и сервлеты, и БД и UI, и работа с сетью и много чего еще. Только обязательно(!) доведите до конца. Android приложение в ГуглПлей, для сервиса арендуйте домен за 500р в год. И дальше снова начинайте делать новый проект.

    Не торопитесь стать джуниором и зарабатывать "деньги", им вы успеете стать еще много раз. Равномерно, спокойно и в свое удовольствие самосовершеснтвуйтесь.
    Ответ написан
    2 комментария
  • Оценка уровня программиста при смене языка

    @FoxInSox
    Ни junior, ни middle, вы будете человеком с опытом в backend разразработке без знания Java SE, EE и сопутсвующих фреймворков. Т.е. человеком в которого нужно вложить деньги и время перед тем как он начнет приносить прибыль (выполнять поставленные задачи). Так что тут зависит все от работодателя и от качества вашего опыта.

    Сходите на пару собеседований junior разработчика, вот тогда и поймете как именно вас позиционирует работодатель.
    Ответ написан
    Комментировать