android studio实训:猴子摘桃功能
时间: 2025-01-01 21:28:50 浏览: 7
### 实现“猴子摘桃”功能
为了实现“猴子摘桃”的功能,即在不同的 `Activity` 之间传递和回传数据,可以按照以下方式编写代码。此过程涉及两个主要部分:发起请求的 `MainActivity` 和响应请求的数据返回页面 `SecondActivity`。
#### MainActivity.java
这是应用程序的主要入口点,负责启动其他活动并接收来自这些活动的结果:
```java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE); // 启动第二个activity,并等待其结果
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
// 处理接收到的数据...
} else {
// 处理未成功的情况...
}
}
}
```
#### SecondActivity.java
当用户点击按钮或其他交互事件触发时,该类会处理用户的输入并将结果发送回去给调用者:
```java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
findViewById(R.id.return_button).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String message = "这是一个从SecondActivity返回的消息";
Intent returnIntent = new Intent();
returnIntent.putExtra("result", message);
setResult(Activity.RESULT_OK, returnIntent);
finish(); // 关闭当前activity并返回到前一个activity
}
});
}
}
```
上述代码展示了如何在一个简单的例子中实现跨 `Activity` 的通信机制[^2]。通过这种方式,可以在多个界面之间共享信息,从而完成像“猴子摘桃”这样的任务。
阅读全文