Возврат входной информации в Android Studio Java

#java #android #computer-science

Вопрос:

Я новичок в Android studio и пытаюсь играть с простой программой, которая принимает ввод от пользователя, такой как имя, номер сертификата и роль, и отображает ввод пользователя в качестве вывода. Я использую отдельный созданный мной файл java, в котором есть все методы доступа. Поскольку я новичок в Android studio, я не уверен в синтаксисе того, как этого добиться. Не могли бы вы, пожалуйста, указать правильный способ написания синтаксиса, чтобы я получил желаемый результат?

Я предоставлю xml.файл, файл java, связанный с xml-файлом, и второй файл java, в котором есть класс и методы для извлечения. Дайвингдадди.java зависит от Divepartner.java. Я добавил Divepartner в библиотеку Android. Смотрите код ниже и еще раз спасибо.

Файл .xml:

 lt;?xml version="1.0" encoding="utf-8"?gt; lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".DivingBuddy"gt;   lt;TextView  android:id="@ id/dive_buddypage"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:gravity="center"  android:text="Welcome to the Dive Buddy section!"  android:textAlignment="center"  android:textSize="35sp"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.0"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.051" /gt;   lt;EditText  android:id="@ id/divebuddyname_input"  android:layout_width="249dp"  android:layout_height="60dp"  android:background="@drawable/edit_text_custom"  android:hint="Enter Name:"  android:padding="10dp"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.098"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.241" /gt;   lt;EditText  android:id="@ id/certNumber_input"  android:layout_width="249dp"  android:layout_height="60dp"  android:background="@drawable/edit_text_custom"  android:hint="Enter certNumber of partner:"  android:padding="10dp"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.098"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.347" /gt;   lt;EditText  android:id="@ id/role_input"  android:layout_width="249dp"  android:layout_height="60dp"  android:background="@drawable/edit_text_custom"  android:hint="Enter role of partner:"  android:padding="10dp"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.098"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.451" /gt;   lt;EditText  android:id="@ id/output"  android:layout_width="410dp"  android:layout_height="63dp"  android:background="@drawable/edit_text_custom"  android:hint="Dive Section Output:"  android:padding="10dp"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.0"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.649" /gt;   lt;Button  android:id="@ id/complete_DiveBuddySection"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="Complete"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.506"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.806" /gt;   lt;Button  android:id="@ id/back_to_otherDetails3"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="Back"  app:layout_constraintBottom_toBottomOf="parent"  app:layout_constraintEnd_toEndOf="parent"  app:layout_constraintHorizontal_bias="0.498"  app:layout_constraintStart_toStartOf="parent"  app:layout_constraintTop_toTopOf="parent"  app:layout_constraintVertical_bias="0.901" /gt;   lt;/androidx.constraintlayout.widget.ConstraintLayoutgt;  

Файл Java, связанный с файлом .xml, называется DivingBuddy.java.

 public class DivingBuddy extends AppCompatActivity {   EditText name, certNum, role, output;  Button back;   @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_diving_buddy);   name = (EditText)findViewById(R.id.divebuddyname_input);  certNum = (EditText)findViewById(R.id.certNumber_input);  role = (EditText)findViewById(R.id.role_input);  output = (EditText)findViewById(R.id.output);   findViewById(R.id.complete_DiveBuddySection).setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {   DivePartner divePartner = new DivePartner(" "," "," ");  String inputName = name.getText().toString();  String inputCertNumber = certNum.getText().toString();  String inputRole = role.getText().toString();  String dive_buddy_info = output.getText().toString();   if(inputName.isEmpty() || inputCertNumber.isEmpty() || inputRole.isEmpty()){  Toast.makeText(DivingBuddy.this,"Please Enter the Name, CertNumber and role of the dive partner", Toast.LENGTH_LONG).show();  }else{   inputName = divePartner.getName();  inputCertNumber = divePartner.getCertNum();  inputRole = divePartner.getRole();  dive_buddy_info = divePartner.toString();   System.out.println(inputName);  System.out.println(inputCertNumber);  System.out.println(inputRole);  System.out.println(dive_buddy_info);  }  }  });   back = (Button)findViewById(R.id.back_to_otherDetails3);   back.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  Intent intent = new Intent(getApplicationContext(),OtherDivingDetails.class);  startActivity(intent);  }  });  } }  

Третий файл Java называется DivePartner.java который используется для вызова методов или функций из.

 package com.example.divepartner;  public class DivePartner {  private String name;  private String certNum;  private String role;   public DivePartner(String name, String number, String role){  setName(name);  setCertNum(number);  setRole(role);  }   public String getName() {  String temp = name;  return temp;  }   private void setName(String name) {  this.name = name;  }   public String getCertNum() {  String temp = certNum;  return temp;  }   private void setCertNum(String certNum) {  this.certNum = certNum;  }   public String getRole() {  String temp = role;  return temp;  }   private void setRole(String role) {  this.role = role;  }   @Override  public String toString() {  return "Name: "   getName()   ", CertNum: "   getCertNum()   ", Role: "   getRole();  } }  

Комментарии:

1. В Интернете есть множество учебных пособий. Пожалуйста, ознакомьтесь с основами, прежде чем переходить к разработке Android.

Ответ №1:

 DivePartner divePartner = new DivePartner(" "," "," "); // .... // .... // .... inputName = divePartner.getName(); inputCertNumber = divePartner.getCertNum(); inputRole = divePartner.getRole(); dive_buddy_info = divePartner.toString();  

DivePartner Объект пуст. Таким образом, когда вы вызываете get() методы на нем, он вернет null empty значение или. Итак, используйте set() вместо get() .

 DivePartner divePartner = new DivePartner(" "," "," "); // .... // .... // .... divePartner.setName(inputName); divePartner.setCertNum(inputCertNumber); divePartner.getRole(inputRole);  dive_buddy_info = divePartner.toString();  

Теперь вместо System.out.println() этого используйте Log.d() метод для входа в консоль AndroidStudio.

Я настоятельно рекомендую вам пройти базовый курс Java, прежде чем начинать разработку Android

Комментарии:

1. спасибо вам за вашу помощь. Я действительно ценю, что вы нашли время дать мне несколько советов. Сейчас я нахожусь в середине прохождения курса Java для повышения квалификации. Но мне нравится приезжать сюда, чтобы учиться у вас, прекрасные люди. Если это нормально, конечно.

2. Имя набора является закрытым. Я не могу получить к нему доступ, если он не является общедоступным, и я не хочу делать его общедоступным. Я смог получить желаемый ввод/вывод, когда вызывал файл java из обычного файла java, а не из java-файла Android studio, и это сработало. Итак, я не уверен, почему я не могу сделать то же самое, так как это основано на java. Вот почему мне нужна была небольшая помощь в руководстве по синтаксису. Но я уверен, что вы знаете, о чем говорите, поэтому я продолжу делать то, что вы предложили.