Ответы пользователя по тегу Java
  • Как встроить скрипт в WebView-Android?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Как добавить js в WebView при этом не беспокоя сайт, чтобы ничего не сломалось

    Скорее всего вам известно, что js код отрабатывает на клиенте, так что если код написать корректно, то ничего не должно сломаться

    Если добавлять через web.loadUrl("javascript:****"); - это не то и при этом страница Гугла ломается (перестают отображаться все приложения Гугла).

    Значит, в вашем js коде есть проблемы или же он подключается не в нужный момент. Например, скрипт должен сработать после DOM Content loaded

    https://stackoverflow.com/questions/8533187/add-ja...
    https://developer.android.com/guide/webapps/webview
    Ответ написан
    Комментировать
  • Как разделять пользователей после авторизации?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Я прикрутил простую регистрацию на SQLite. У каждого пользователя свой id.

    Регистрацию реализовали, а вот, авторизацию и аутентификацию забыли реализовать видимо. Иначе у вас не было бы вопроса:
    Я не знаю, как получить id пользователя, который сейчас авторизован


    Подходит для этих целей SQLite?

    БД не имеет никакой роли для этого.

    На самом деле ваш вопрос не совсем понятен. Является ли приложение клиент-серверным? Если да, то реализовано ли на сервере jwt auth?
    Если я правильно понимаю, то у вас есть приложение, в котором пользователь может создавать несколько аккаунтов. И в зависимости от того, какой аккаунт он использует в конкретный момент вы хотите создавать посты от имени текущего юзера. Т.е. это не клиент-серверное приложение, а приложение в котором есть локальная регистрация нескольких аккаунтов, так?

    Прочитайте вот, эту статью - https://developer.android.com/training/id-auth
    Возможно, она будет полезной для вас
    Ответ написан
    1 комментарий
  • Как можно заменить attributes в path, используя (или нет) regex?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Думаю, что вся картина текущей ситуации вам лучше известна, нежели мне. Но!
    Или это сочетание может быть внутри другого (ограничить условие поиска наличием слэшей нельзя, т.к. аттрибут может быть в конце uri.

    Почему бы не написать регулярное выражение, которое может или наоборот не может содержать слеш в конце?
    Посмотрите на эти ссылки. Возможно, что они наведут вас на мысль
    https://stackoverflow.com/questions/23046572/regex...
    https://stackoverflow.com/questions/19132133/regex...
    https://stackoverflow.com/questions/34733751/regex...

    Или например, проверять местонахождение атрибута и если он в конце, то игнорировать наличие slash в конце, а во всех остальных случаях ограничивать слешем.

    Точный ответ можете дать вы, ибо точная структура всех возможных урлов и паттернов имеющихся в наличии известна вам
    Ответ написан
  • Как построить логику приложения?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Можно по-разному реализовать вашу задачу. Если никаких ограничений нет, то можете посмотреть в сторону:
    1) использовать 2 массива. Первый char[], а второй int[]. Далее как вы и упомянули по индексу достаете нужное значение.
    2) Либо использовать Map. Например, ее реализацию HashMap.
    3) Либо например, в пакете apache commons lang3 есть объект Pair. И можно использовать что-то типа List<Pair<Character, Integer>>.

    В любом случае все будет сводится к следующему:
    - получаете слово (строку) разбиваете его на characters.
    - объявляете переменную int, в которой будут суммироваться значения букв
    - далее в зависимости от выбранного массива или коллекции итерируете по нему и при совпадении буквы получаете ее числовое значение и прибавляете к вышеобъявленной переменной.

    Примерно как-то так
    Ответ написан
  • Как вынести конфиг из Spring приложения(внешний настраевыемый)?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Ответ легко находится поисковиком.
    Вот, полезная статья - https://www.baeldung.com/spring-properties-file-ou...

    Пути по которым Спринг по умолчанию ищет файлы конфигурации:
    A /config subdirectory of the current directory
        The current directory
        A classpath /config package
        The classpath root


    Вот, похожий вопрос на SO
    https://stackoverflow.com/questions/26744060/exclu...
    Ответ написан
    Комментировать
  • Как сделать поиск по айди в банковской карте?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Простое решение -
    1) собрать все UserCard в коллекцию. Например, List<UserCard>
    2) При помощи сканнера получить id карты, а далее прогнать его через цикл List<UserCard>
    UserCard uc : userCardList
    3) при совпадении вывести результат
    Ответ написан
    1 комментарий
  • Как заполнить таблицу SQLite из масива?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Для удобства работы с БД можете подключить ORM (ormlite, room и др.).

    А по поводу инсертов в БД, гляньте на эти ссылки:
    https://stackoverflow.com/questions/6080975/how-to...
    https://stackoverflow.com/questions/21848557/how-t...
    гугл
    гугл 2
    Ответ написан
  • Как учить Java Core?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Все важные изменения в Java начались с Java 8. Другие версии, лишь дополняют или улучшают текущий фукнкционал. Так что читайте книгу дальше)
    Ответ написан
    9 комментариев
  • Как консольное приложение скопмилировать в один файл?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Погуглите - fat jar
    Если приложение написано на Maven, то используйте плагин maven assembly plugin -
    tutorials.jenkov.com/maven/maven-build-fat-jar.html
    Если приложение использует gradle, то
    https://www.baeldung.com/gradle-fat-jar
    Если я правильно понял ваш вопрос, то вышеуказанные ссылки помогут вам
    Ответ написан
    Комментировать
  • Почему не отображается ProgressBar в JavaFX?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Подозреваю, что вы все делаете в одном потоке.
    Попробуйте отделить UI от основного потока.
    Вот, чтиво по этой теме:
    math.hws.edu/javanotes/c12/s2.html

    Вот, тут как раз у разработчика тоже была проблема с progressBar.
    https://stackoverflow.com/questions/13784333/platf...
    Ответ написан
  • Как сделать калькулятор с несколькими действиями на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!

    я имел в виду то, как подстроить код, который я делал на занятиях под то, чтобы можно было делать несколько действий и соблюдались все правила типо того, что умножение/деление идут первыми, а потом сложение/вычитание идёт.

    Тут важный момент заключается в следующем, суммирование или вычитание может быть обрамлено круглыми скобками и соответственно, вам нужно будет выполнить их раньше, чем умножение или деление.
    Как по мне, надо принять строку с выражением полность, а далее распарсить ее. Найти в ней скобки и выполнить их содержимое, а затем другие операции
    Ответ написан
    Комментировать
  • Как реализовать парсинг Википедии на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Думаю, что есть различные варианты реализации вашей задумки:
    1) написать парсер на jsoup.
    2) использовать АПИ - https://www.mediawiki.org/wiki/API:Main_page/ru
    3) скачать готовую базу данных, а дальше уже работать с ней -
    https://dumps.wikimedia.org/backup-index.html
    https://en.wikipedia.org/wiki/Wikipedia:Database_d...
    Ответ написан
    1 комментарий
  • Из-за чего ошибка java.lang.ClassNotFoundException: com.mysql.jdbc.Driver?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Подозреваю, что драйвер у вас не подключен. Используете ли вы maven или gradle? Если да, то добавьте драйвер согласно документации.
    Если вы не используете build tools, то убедитесь доступен ли драйвер в classpath.
    Также проверьте установлен ли mysql у вас локально? А то вы пытаетесь подключиться к БД на локалке
    jdbc:mysql://localhost:3306/mycoursework
    Также попробуйте заменить вот, эту строку:
    Class.forName("com.mysql.jdbc.Driver");
    на
    Class.forName(" com.mysql.cj.jdbc.Driver");
    Ответ написан
    Комментировать
  • Почему две идентичные строки не сходятся?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Прочитайте про разницу при сравнении через оператор ==, а также методом equals()
    Строки не сходятся, так как вы сравниваете ссылки на объект, а они явно указывают на разные объекты. Для сравнения содержимого используйте equals()
    Вот ваш код:
    public static void check(String a, int b){
          if(!a.equals((login)){
             System.out.println("!ERROR login!");
             System.out.println("");
          }
          if(!b.equals(passworld)){
             System.out.println("!ERROR passwolrd!");
             System.out.println("");
          }
          if(a.equals(login)){
             if(b.equals(passworld)){
                System.out.println("s");
             }
          }
          
       }

    Далее рекомендую прочитать про Java naming convention.
    Названия классов с заглавной буквы должны быть.
    public class Data {
       public static String name, login;
       public static int age, passworld;
    }


    Далее не совсем понятен смысл вот, этого: public class Reg extends data
    Зачем вы расширяете класс pojo Data неким сервисным классом Reg.
    Скорее всего вам нужно создать экземпляр класса Data. А в этом случае поля класса не нужно делать статичными.
    Ответ написан
    Комментировать
  • Почему-то BindingResult не ловит ошибку, как исправить?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    В первую очередь небольшая рекомендация - вместо того, чтобы из view напрямую получить объект User и сохранить его, создайте UserDto класс и далее получив данные из вью замаппите его в User().
    По поводу возможных ошибок валидации загляните по этой ссылке - https://stackoverflow.com/questions/42423553/sprin...
    Ответ написан
    Комментировать
  • Spring + JPA как заставить работать запросы?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!

    - Уточните какие именно библиотеки у вас подключены в pom.xml? В частности интересует библиотека spring data jpa
    - Уточните есть ли у вас в классе City геттеры, сеттеры и конструктор без аргументов? Если нет, то добавьте их.
    Если у вас подключен lombok, то можно прописать@Data @NoArgsConstructor
    - Далее подключитесь к вашей БД и просмотрите записи в БД. Возможно, что они не сохраняются в UTF-8, потому и не находится город по названию. Вместо данных в таблице увидите крякозябры. Если эта проблема наблюдается, то пропишите
    jdbc:mysql://localhost:3306/ticket_system?useUnicode=yes&characterEncoding=UTF-8

    - Также обратите внимание на то создается ли у вас таблица cities.
    Еще есть подозрение, что вы используете слово name, которое зарезервировано в mysql и из-за этого могут наблюдаться проблемы. Попробуйте экранировать его
    @Column(name = "`name`", length = 50,nullable = false)

    https://dev.mysql.com/doc/refman/8.0/en/keywords.html
    https://stackoverflow.com/questions/2224503/how-to...
    Ответ написан
  • Где найти бесплатные курсы по JAVA 2020?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Я поделюсь своим опытом того, как изучал Java.
    Поначалу я просмотрел кучу всяких курсов на Youtube и даже на Udemy. Поняв, что этих знаний недостаточно я начал изучать книги. Рекомендую начать изучение с книг, это действительно будет круче. Далее я открывал документации различных библиотек и изучал их. Взял несколько заказов на фрилансе и набрался опыта. Также записался на платные вебинары и в принципе скажу, что они неплохие. Есть возможность поговорить с опытным разработчиком, который обратит ваше внимание на то, на что вы могли не обращать внимания до этого.
    Далее определиться с направлением и изучить соответствующий стек технологий. Ну и работать и работать. Неплохой опыт приходит с заказами из фриланса, когда приходится реализовывать все "хотелки" заказчика.

    В общем, начинайте с изучения книг, а дальше уже разберетесь. Не бойтесь ошибаться и обязательно подтяните английский, если у вас с ним проблемы. Большинство насущных задач уже решены на SO, но нужен инглиш, чтобы уметь грамотно гуглить
    Ответ написан
  • Как передать строку из формы в массив строк?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    А зачем вам передавать строку из формы в xml файл?
    Также обратите внимание, что если у вас поля называются
    name
    firstName
    lastName
    то скорее всего из него можно создать некий объект. Например, (псевдокод)
    User {
    String name
    String firstName;
    String lastName;
    }

    А далее уже использовать ArrayList. Например, List<User> users = new ArrayList();
    Использовать String array не рекомендую, так как длина массива должна быть определена при его инициализации. А у вас в этом файле технически может быть разное кол-во объектов.
    Если вы наоборот хотите сохранить информацию о пользователе получив его данные из формы, то используйте БД (sqlite) или же храните их в shared preferences.
    Ответ написан
  • Подкиньте тему проекта на Java?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Вроде и синтаксис понимаю, могу прочитать код, но понимаю, что сам такое не написал бы. Я так понимаю, что это из-за отсутствия практики.

    Мне это состояние хорошо знакомо...
    Обычно, это может происходить не только из-за отсутствия практики, но и отсутствия теории тоже. Если вы изучали ЯП по видео туториалам, то формируется некое подобие "мозачиного" знания.
    Рекомендую первую очередь - прочитать книги по языку java (Шилдт - Полное руководство по Java),
    по алгоритмам (Роберт Лафоре - Структуры данных и алгоритмы),
    по рефакторингу (Clean Code),
    по паттернам проектирования (GoF, GRASP)
    по основам SQL (изучить основы sql (mysql, postgres), no sql). Обратить внимание на ACID.
    Далее расширьте свой кругозор изучением различных полезных библиотек на Java.
    Например, apache io, apache poi, apache commons lang3, jsoup. Поработайте чуть с Selenium.
    С учетом того, что вам интересен веб, то также стоит изучить oсновы html 5, css 3, javascript (vanilla, jquery).
    Я бы порекомендовал бы еще попробовать написать пару парсеров с использованием jsoup, это поможет больше сориентироваться в вебе.
    Так вот, подскажите, пожалуйста, какой бы можно сделать небольшой проект с задействованием ООП, многопоточки (только не сильно в нее углубляться), элементами Web (html, css, js) ну и прочим, что должен знать джун.

    Нуу... пожалуй, вам стоит развиваться дальше. Посмотрите в сторону jakarta EE. Изучите Spring (Spring Boot) и т.д.
    Ответ написан
    1 комментарий
  • Как создать справочник пользователей?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Добрый день!
    Ну во-первых, уточните должна ли база данных быть локальной или можно хранить данные пользователей на удаленке.
    Если БД должна быть локальной, то посмотрите в сторону sqlite, возможно даже использование embedded db (h2, postgres и др.). Далее определитесь с технологией ORM. Например, hibernate, eclipselink, ormlite, room и др.
    Теперь, касаемо интерфейса: можно использовать JavaFX.
    Я бы, если пришлось писать на Java выбрал бы Spring + JavaFX. В Spring добавил бы все нужные зависимости типа hibernate, spring data и т.д.
    Если БД будет удаленной, то на том же Spring нужно поднять restful сервис, который будет создавать учетки для пользователей, реализовывать crud записей и т.д. Таким образом получится клиент - серверное приложение
    Ответ написан
    Комментировать