能否写Android studio 的票务查询代码
时间: 2024-02-09 08:08:58 浏览: 99
当然可以,以下是一个简单的Android Studio的票务查询代码示例:
1. 编写布局文件:在res/layout文件夹下新建一个名为activity_ticket_query.xml的布局文件,代码如下:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="出发地:" />
<EditText
android:id="@+id/et_start"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="目的地:" />
<EditText
android:id="@+id/et_end"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="日期:" />
<EditText
android:id="@+id/et_date"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_query"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询" />
</LinearLayout>
```
2. 编写查询逻辑:在MainActivity中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
private EditText etStart;
private EditText etEnd;
private EditText etDate;
private Button btnQuery;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ticket_query);
etStart = findViewById(R.id.et_start);
etEnd = findViewById(R.id.et_end);
etDate = findViewById(R.id.et_date);
btnQuery = findViewById(R.id.btn_query);
btnQuery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String start = etStart.getText().toString();
String end = etEnd.getText().toString();
String date = etDate.getText().toString();
// TODO: 查询车票信息并显示
}
});
}
}
```
3. 查询车票信息:在onClick方法中,调用查询接口,并将查询结果显示在列表中。
```java
public class MainActivity extends AppCompatActivity {
private EditText etStart;
private EditText etEnd;
private EditText etDate;
private Button btnQuery;
private ListView lvResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ticket_query);
etStart = findViewById(R.id.et_start);
etEnd = findViewById(R.id.et_end);
etDate = findViewById(R.id.et_date);
btnQuery = findViewById(R.id.btn_query);
lvResult = findViewById(R.id.lv_result);
btnQuery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String start = etStart.getText().toString();
String end = etEnd.getText().toString();
String date = etDate.getText().toString();
List<Ticket> tickets = queryTicket(start, end, date);
TicketAdapter adapter = new TicketAdapter(MainActivity.this, R.layout.item_ticket, tickets);
lvResult.setAdapter(adapter);
}
});
}
private List<Ticket> queryTicket(String start, String end, String date) {
// TODO: 调用接口查询车票信息
// 返回车票信息列表
}
}
```
4. 显示查询结果:在res/layout文件夹下新建一个名为item_ticket.xml的布局文件,用于显示每个车次的信息。
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_train_number"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="G1234" />
<TextView
android:id="@+id/tv_start_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="08:00" />
<TextView
android:id="@+id/tv_end_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="10:00" />
<TextView
android:id="@+id/tv_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="300" />
</LinearLayout>
```
5. 编写适配器:在MainActivity中添加一个内部类TicketAdapter,用于将车票信息绑定到item_ticket布局中。
```java
public class TicketAdapter extends ArrayAdapter<Ticket> {
private int resourceId;
public TicketAdapter(Context context, int resourceId, List<Ticket> objects) {
super(context, resourceId, objects);
this.resourceId = resourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Ticket ticket = getItem(position);
View view = LayoutInflater.from(getContext()).inflate(resourceId, parent, false);
TextView tvTrainNumber = view.findViewById(R.id.tv_train_number);
TextView tvStartTime = view.findViewById(R.id.tv_start_time);
TextView tvEndTime = view.findViewById(R.id.tv_end_time);
TextView tvPrice = view.findViewById(R.id.tv_price);
tvTrainNumber.setText(ticket.getTrainNumber());
tvStartTime.setText(ticket.getStartTime());
tvEndTime.setText(ticket.getEndTime());
tvPrice.setText(ticket.getPrice());
return view;
}
}
```
6. 完成:现在就可以使用这个Android Studio的票务查询代码来查询车票信息了。
阅读全文