【发布时间】:2021-10-24 03:20:32
【问题描述】:
我是 android studio 的新手,我正在尝试使用简单的程序来获取用户的输入,例如姓名、证书编号和角色,并将用户输入显示为输出。我正在使用我创建的一个单独的 java 文件,该文件具有所有访问方法。因为我是 android studio 的新手,所以我不确定如何实现这一点的语法。您能否提供编写语法的正确方法,以便我获得所需的输出?
我将提供 xml.file、与 .xml 文件关联的 java 文件和第二个 java 文件,其中包含要从中提取的类和方法。 DivingDuddy.java 依赖于 Divepartner.java。我将 Divepartner 添加到了 android 库中。请参阅下面的代码,再次感谢您。
.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<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">
<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" />
<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" />
<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" />
<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" />
<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" />
<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" />
<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" />
</androidx.constraintlayout.widget.ConstraintLayout>
与 .xml 文件关联的 Java 文件称为 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();
}
}
【问题讨论】:
-
网上有很多教程。请先完成基础知识,然后再进行 Android 开发。
标签: java android computer-science