Задать вопрос
Ответы пользователя по тегу Java
  • Можно ли отдельно написать программную часть на java и отдельно "верстку" на Android?

    svd71
    @svd71
    Можно слушать кучу советов, как удобнее превратить явовский фреймворк в функциональное программирование под виндовс, но лучше этого не делать.

    Ваши рассуждения очень правильны и верны: бизнеслогика любого приложения должна быть отделена от дизайна. Тогда любое изменение в дизайне не приведет к изменениям в бизнеслогике. Тем более в Java это делается не просто, а очень просто.

    Создаете классы с бинеслогикой, можете как опцию добавлять тестюниты для проверки нормального функционирования этой логики. Отладку можно вести даже в консоли. После этого можете к созданным объектам цеплять любые графические изыскания.
    Ответ написан
    3 комментария
  • Как быстро разрабатывать на Java?

    svd71
    @svd71
    php берет свое начало с функционального программирования, Java изначально создавалась, как объектноориентированный. Это только все различие в синтаксисе.

    То, что вы используете какие-то реализации фреймворков из одного языка не означает, что такого невозможно создать в другом языке. Переведите фреймворки из одного в другой и будет счастье.

    Конечно, не все так кучеряво и безоблачно. PHP скриптовый язык. Он после выполнения сессии освождает всю память. Java очень тесно интегрирован с операционной системой для управления ресурсами и такм уже нужно заботиться хотяб о расходе памяти. Самым простым различием является работа с массивами. В PHP она упрощена и утрирована. В Java помимо обычных массивов с которыми нужно обходиться не так фривольно как в PHP , сущестуют отдельный классы такие как Array, Vector, Map, List и комбинации от них. Причем каждый тип лучше использовать под определенную цель.

    Так что философия Java тут не при делах.
    Ответ написан
  • Что нужно знать java разработчику?

    svd71
    @svd71
    нужно знать все, или по меньшей мере знать в каком виде это может финкционировать и быстро и качественно найти информацию.
    Если вас интересуют "минимальные" знания, которые условно подводят черту, то смотрите темы и вопросы к сертификации инженеров Оракл по Ява. Например по SE. Если сможете это доказать - то пройдите сертификацию и получите сертификат.
    Ответ написан
    Комментировать
  • Почему у PHP такая опулярность?

    svd71
    @svd71
    тут комплекс условий, которые зависят между собой. Разработка на PHP и Java требует разного бюджета. Хороший Java-разработчик стоит дорого и изначально небольшие конторы решают организовать разработку на PHP. Если контора удачная, то дальнейшее развитие редко сопровождается со сменой платформы разработки.
    Ответ написан
    Комментировать
  • Как подключить DLL библиотеку?

    svd71
    @svd71
    Именно так все и есть:для вызова стлронней библиотнки нужна нативная врэпобиблиотека, которая умеет читать необходимые данные из объектов jvm, и указывать эти данные или конвертировать их для целевой библиотеки. В этом и есть смысл таких вызовов.
    Ответ написан
  • Есть ли что-нибудь похожее на Visual Studio, но для Java GUI?

    svd71
    @svd71
    Еще

    NetBeans

    IntelliJ IDEA

    также можно скачать android Studio. Говорят она создана на Intelli IDea. И вней кропать код на обычной Яве.
    Ответ написан
    Комментировать
  • Как хранить данные в классах-структурах в Java?

    svd71
    @svd71
    1. Ява небогата ситаксисом и поэтому замену сишным структурам и и паскалевских записям остается хранить в классе. Если дело именно в наборе данных, то ему совсем не обязательно иметь конструктор или геттеры/сеттеры без нужды. Единственное что нужно позаботиться о видимости этих полей (то есть прайвэд тут не катит).
    2. геттеры добавляю когда нужно из таких "структур" прочитать какие то не совсем стандартные записи: например номер дома римскими цифрами или что либо еще такого же плана. Сеттеры - когда нужно какое либо преобразование провести - например из адреса полной строкой выделить только номер дома и квартиры и записать в нужные поля. Дело в том, что структура она и есть структура и не имеет смысла без особой нужны обновлять все что угодно кодом - на его выполнение требуется драгоценное процессорное время.
    Ответ написан
    7 комментариев
  • Какую функцию выполняет метод addNotify (Java)?

    svd71
    @svd71
    Этот метод сообщает компоненту, что у него появляется компонент-родитель. А сама цепочка нужна, чтоб нормально обрабатывать клавиатурные листенеры между компонентами и их родителями.

    docs.oracle.com/javase/7/docs/api/javax/swing/JCom...
    Ответ написан
  • Newbie! Джава классы и объекты, правильная компановка классов и вызов

    svd71
    @svd71
    Иногда требуется создавать объект определенного класса с предустановленными значениями, либо возвращать какойто (я их называю глобальными) ранее созданный объект.
    Первая возможность реализуеся в конструкторе класса:
    public class Player {
    
        public String characterName = "N/A";
        public String characterClass = "Paladin";
        public String characterSex = "Man";
        public int characterPlayedTime = 0;
        public int characterLevel = 1;
       public int characterDamage = 100;
    
        public Player () {
            characterName = "Adept";
            characterClass = "Rogue";
            characterSex = "Man";
            characterPlayedTime = 15;
            characterLevel = 30;
            characterDamage = 500;
        }
    
    }
    ... создаст в каждом созданном новом объекте ранее записанные в конструкторе значения. После создания их можно изменить на другие.

    Для второго случая:
    public class Player {
    
        public String characterName = "N/A";
        public String characterClass = "Paladin";
        public String characterSex = "Man";
        public int characterPlayedTime = 0;
        public int characterLevel = 1;
       public int characterDamage = 100;
    
        public static Player adept() {
            Player ret = new Player();
            ret.characterName = "Adept";
            ret.characterClass = "Rogue";
            ret.characterSex = "Man";
            ret.characterPlayedTime = 15;
            ret.characterLevel = 30;
            ret.characterDamage = 500;
         return ret;
        }
    }
    ... статическая функция вернет созданный в ней объект, предварительно присвоив необходимые значения в поля объекта. Их так же можно изменить.
    Ответ написан
    2 комментария
  • Как правильно собрать класс и как запустить его функцию с кнопки через OnClickListener?

    svd71
    @svd71
    public void onCreate(Bundle savedInstanceState) //метод описывающий такие элементы как кнопка, поле ввода и вывода
            {
              OnClickListener oclBtnUdp = new OnClickListener() //слушатель нажатия кнопки
                  {
                    public void onClick(View v) 
                      {
                       Sender senderInstance = new Sender();
                       senderInstance.sendMessage("my message");
                       }
                   }
    
            }
    Ответ написан
    2 комментария
  • Почему границы примитивных целых типов в java в - на 1 больше чем в +?

    svd71
    @svd71
    это обусловлено тем, что есть еще одно унивесальное значение, как знак. На него отводится один бит. самый левый. то есть если этот левый бит оттдельно выделять бинарной операцией AND, то можно сразу сказать, является ли число положительным или отрицательным.
    Ответ написан
    3 комментария
  • Как получить доступ к элементу(или методу Activity) с класса Application?

    svd71
    @svd71
    в дизайнере добавить к нужному TextView определенный id (для примера myTextView). Далее добавить в конец метода onCreate() следующий текст.
    TextView myTextView = (TextView) findViewById(R.id.myTextView);


    Дальше работа уже идет с myTextView.
    Ответ написан
  • Как управлять win средствами Java?

    svd71
    @svd71
    www.blog.kslemb.com/doku.php/en/projects/globx/java_hid

    Это библиотека использования Нативных библиотек внутри Java-классов. Если умения хватит разобраться и сделать по аналогии, то ожидает профит.
    Ответ написан
    Комментировать
  • Как работать с датой записанной в строку?

    svd71
    @svd71
    все зависит от того, так вы собираетесь работать с данными. Вы указали тег "Java", но при этом ведете разгово обазе данных. При миллионе строк с 20 стольбцами в таблице ваше приложение если не упадет замертво, то будет выполняться крайне медленно.

    преобразование в коде Java нужно создать форматер, который будет потом преобразовывать строчные данные в формат даты.
    SimpleDateFormat frm= new SimpleDateFormat("dd.mm.yyyy");
    	String tst = "17.05.2014";
     
    	try {
     
    		Date date = frm.parse(tst);
    		System.out.println(date);
    		System.out.println(frm.format(date));
     
    	} catch (ParseException e) {
    		e.printStackTrace();
    	}


    в базе же можно указывать sql-запросы для ограничения получаеммых данных. Для этого есть специалные функции для извлечения значений из даты. Например из ораклоподобных баз :
    SELECT EXTRACT(YEAR FROM DATE expDate) FROM Table1
    where EXTRACT(MONTH FROM DATE expDate) = 2
    Ответ написан
  • Клавиатура android

    svd71
    @svd71
    не советовал бы начинать изучения фреймворка с написания "своей клавиатуры". Но как ближайшая мечта это может рассматриваться.

    Лучше начинать с примеров, кторые находятся в папке SDK/samples. Просто лучше собрать такое демо приложение, а затем по его образу и подобию попробовать слепить свое такое же. После того, как пропадут вопросы с использованием работы именно с фреймворком, тогда уже можно будет попробовать слепить свою клавиатуру.
    Ответ написан
    Комментировать
  • Как удалить объект из памяти, Java?

    svd71
    @svd71
    @oxInSox немного слукавил. Дело в том, что обнулив ссылочную целостность не будет гарантировать уничтожение объекта. После этого желательно и заставить мусоросборник работать
    System.gc();
    Особенно это важно для объектов наследников трэдов и раннебол.
    Ответ написан
  • Как сделать числа формата 001 002 009 011 013 и т.д.?

    svd71
    @svd71
    loadingModel("".format("anim_mod_%5d", n));
    
    loadingModel("".format("anim_mod_%05d", n));
    
    loadingModel("".format("anim_mod_%50d", n));
    Ответ написан
    2 комментария
  • Кодировка в MYSQL - в чем проблема?

    svd71
    @svd71
    Нужно настраивать сервер на работу с utf-8.

    Внимание! Эта настройка не ко всем версиям MySQL применима один-в-один. Нужно сделать изменение одного параметра и проверить, запускается ли сервер вообще. после этого проверить кодировку: пишет в новую запись правильно или нет.
    Ответ написан
    Комментировать
  • Как создается HashCode для строковых переменных в Java?

    svd71
    @svd71
    1. Если установить сырцы Явы, то можно посмотреть источники.

    2. На счет уникальности не помню точно, но вроде бы будет все как вам нужно. Но лучше посмотреть в сырцах.

    3. Уникальность хеша можно брать адрес объекта (точее переменной this с кастингом под тип).
    Ответ написан
    1 комментарий
  • Что скрывается за понятием сlass в ООП?

    svd71
    @svd71
    ваши рассуждения - лапша полнейшая.

    Что бы понять, что такое объект нужно представить например производство обоев: трафарет - это класс, причем один рулон обоев уже объект со своими свойствами типа размер, цвет, состав бумаги и т.д.
    В програмировании эта абстракция может что то немного объяснить, но далека от реальности. Все методы в объекте располагаяются в классе и остаются неизменными. Но сам объект представляет из себя выделенный объем памяди, достаточный что бы вместит все поля этого объекта. Соотвественно для методов объекта есть одна отличительная особенность: первый передаваемый параметр в них - это ссылка на область начала расположения объекта, хотя в среде разаработки эта переменная чаще не показывается. То есть получается мы используем методы, передавая им ссылку на объект, используют необходимые поля ссылаясь память отностительно начала объекта.

    Другая интересная особенность - это классовые методы и поля (или применительно в к Яве - статические). Эти элементы уже распределены в классе в единственном экземпляре. Потому они и доступны из любого объекта. Но отличие таких методов от объектовых - первая переменная всегда ссылается на начало класса. Это значит в таких методах ничего не известно что творится в объектах. Да и вызов из них методов объектов всегда требует наличие самого уже созданного объекта. В некоторых ЯП такая проверка не проводится. поэтому можно иногда "смухлевать" : если в методе нет работы с полями объекта или ссылок на другие методы, где ведется работа с полями объекта, можно фиктивно вызвать указав, что объект это 0 (пример такого "глюка" есть в С++, в Дельфи, в ПХП [хотя это не язык]).

    Поосторожней со словом "интерфейс". В ЯП интерфейсом называется расширение функциональности классов, внося в них общие признаки. Классы можно масштабировать только наследованием (инкапсуляцию касаться не будем). То есть два класса невозможно объединить общими признаками, если они не "родственники". Но тут на помощь приходят интерфейсы. Если предствить наследование как "вертикальное" расширение, то с интерфейсам добиваются "горизондального" расширения.

    Теперь о событиях. Для того, что бы организвать какое то событие в ЯП нам необходимо знать две вещи: объект, который должен реагировать и метод, который нужно вызывать в этом объекте. Это означает, что событие описывается минимум двумя полями. В Яве это довольно проблематично каждый раз сосдавать такую сложную структуру. Поэтому для событий придумали листенеры - объекты, расширенные каким-либо специфическим интерфейсом. Наличие в объекте такого интерфейса дает гарантированное присуствие нужного метода и нам нужно сохранять только ссылку на нужный объект.
    Ответ написан
    4 комментария