Создайте приложение телефонной книги Java Используя массив структур

В этом примере вы создаете Java® пакет, который вызывает MATLAB® функция, чтобы изменить массив структур и реализовать приложение телефонной книги.

Файлы

Функция MATLABmakephone.m
Местоположение функции MATLABmatlabroot\toolbox\javabuilder\Examples\PhoneExample\PhoneDemoComp\
Участок кода Javamatlabroot\toolbox\javabuilder\Examples\PhoneExample\PhoneDemoJavaApp\getphone.java

Процедура

  1. Скопируйте PhoneExample папка, которая поставляется с MATLAB к вашей папке работы:

    copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','PhoneExample'),'PhoneExample')

    В командной строке MATLAB перейдите к новому PhoneExample\PhoneDemoComp подпапка в вашей папке работы.

  2. Исследуйте makephone.m функция.

    function book = makephone(friends)
    book = friends;
    for i = 1:numel(friends)
        numberStr = num2str(book(i).phone);
        book(i).external = ['(508) 555-' numberStr];
    end

    Функция берет массив структур в качестве входа, изменяет его и предоставляет модифицированный массив как выход.

  3. Создайте пакет Java с приложением Library Compiler или compiler.build.javaPackage использование следующей информации:

    Поле Значение
    Имя библиотекиphonebookdemo
    ClassName phonebook
    Файл, чтобы скомпилироватьmakephone.m

    Например, если вы используете compiler.build.javaPackageВвод:

    buildResults = compiler.build.javaPackage('makephone.m', ...
    'PackageName','phonebookdemo', ...
    'ClassName','phonebook');

    Для получения дополнительной информации смотрите, что инструкции в Генерируют приложение Java Пакета и Сборки Java.

  4. Запишите исходный код для приложения, это получает доступ к функциям MATLAB.

    Пример приложения для этого примера находится в PhoneExample\PhoneDemoJavaApp\getphone.java.

     getphone.java

    Программа делает следующее:

    • Создает массив структур, с помощью MWStructArray представлять данные о телефонной книге в качестве примера.

    • Инстанцирует класса плоттера как thePhonebook объект:

      thePhonebook = new phonebook();

    • Вызывает makephone метод, чтобы создать модифицированную копию структуры путем добавления дополнительного поля:

      result = thePhonebook.makephone(1, friends);

    • Использует try-catch блокируйтесь, чтобы отловить и обработать любые исключения.

  5. В MATLAB перейдите к PhoneExample\PhoneDemoJavaApp папка.

  6. Скопируйте сгенерированный phonebookdemo.jar пакет в эту папку.

    • Если вы использовали compiler.build.javaPackageВвод:

      copyfile(fullfile('..','PhoneDemoComp','phonebookdemojavaPackage','phonebookdemo.jar'))
    • Если вы использовали Library Compiler, введите:

      copyfile(fullfile('..','PhoneDemoComp','phonebookdemo','for_testing','phonebookdemo.jar'))
  7. В окне командной строки, cd к thePhoneDemoJavaApp папка.

  8. Скомпилируйте getphone приложение с помощью javac.

    • На Windows®Ввод:

      javac -classpath "matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\phonebookdemo.jar getphone.java
    • На UNIX®Ввод:

      javac -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./phonebookdemo.jar getphone.java

    Замените matlabroot с путем к вашему MATLAB или папке установки MATLAB Runtime. Например, на Linux®, путем может быть /usr/local/MATLAB/R2021b.

  9. Запустите getphone приложение.

    • На Windows введите:

      java -classpath .;"matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\phonebookdemo.jar getphone
    • На UNIX введите:

      java -classpath .:"matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./phonebookdemo.jar getphone

      Примечание

      Если при запуске приложение на Mac 64-битная платформа, необходимо добавить -d64 отметьте в команде Java.

    getphone программа отображает следующий вывод:

    Friends: 
    2x2 struct array with fields:
        name
        phone
    Result: 
    2x2 struct array with fields:
        name
        phone
        external
    Result record 2:
    Mary Smith
    3912
    (508) 555-3912
    
    Entire structure:
    Number of Elements: 4
    Dimensions: 2-by-2
    Number of Fields: 3
    Standard MATLAB view:
    2x2 struct array with fields:
        name
        phone
        external
    Walking structure:
    Element 1
       name: Jordan Robert
       phone: 3386
       external: (508) 555-3386
    Element 2
       name: Mary Smith
       phone: 3912
       external: (508) 555-3912
    Element 3
       name: Stacy Flora
       phone: 3238
       external: (508) 555-3238
    Element 4
       name: Harry Alpert
       phone: 3077
       external: (508) 555-3077
    

Смотрите также

|

Похожие темы