protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case REQUEST_CAPTURE: ZhaopianBean zhaopianBean = new ZhaopianBean(); zhaopianBean.setTitle(""); zhaopianBean.setContent(""); zhaopianBean.setId(System.currentTimeMillis() + ""); zhaopianBean.setImage(imagePath); zhaopianBean.setTime(MyDateUtils.getTime()); try { App.dbManager.save(zhaopianBean); Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show(); } catch (DbException e) { e.printStackTrace(); } onResume(); break; default: break; } }4
时间: 2023-06-27 18:08:34 浏览: 39
这段代码是在 `onActivityResult` 方法中实现的,当我们从相机或相册中获取图片后,会调用该方法进行处理。其中 `requestCode` 参数表示我们启动 `Activity` 时传递的请求码, `resultCode` 参数表示我们从 `Activity` 返回的结果码, `data` 参数则表示我们从 `Activity` 返回的数据。
在这段代码中,我们使用 `switch` 语句对请求码进行判断。如果请求码为 `REQUEST_CAPTURE`,则表示我们从相机或相册中获取到了一张图片,并将其保存到数据库中。具体实现的过程是:创建一个 `ZhaopianBean` 对象,设置其属性值,将其保存到数据库中,并在保存成功后弹出一个 Toast 提示用户。最后,我们调用 `onResume()` 方法进行界面的更新。
相关问题
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Intent intent = new Intent(this, AnotherActivity.class); startActivity(intent); }这里面的AnotherActivity.class是怎么写的函数,应该写在哪个位置
`AnotherActivity.class` 是指另一个 Activity 的类。你需要在你的项目中创建一个新的 Activity,然后在 `startActivity()` 方法中传入该 Activity 的 Intent 对象。
首先,在 Android Studio 项目中创建一个新的 Activity,可以通过以下步骤完成:
1. 在项目的 `app` 目录下,右键点击 `java` 文件夹,选择 `New` -> `Java Class`。
2. 在弹出的对话框中,输入 Activity 的名称,例如 `AnotherActivity`,然后点击 `OK`。
3. Android Studio 会自动生成一个 `AnotherActivity.java` 文件,并打开该文件。
现在你需要在 `AnotherActivity.java` 文件中实现你的功能。你可以在 `onCreate()` 方法中添加你的代码,例如:
```java
public class AnotherActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_another);
// 在这里添加你的代码
}
}
```
在 `startActivity()` 方法中,你需要传入一个 Intent 对象,用于启动 `AnotherActivity`。例如:
```java
Intent intent = new Intent(this, AnotherActivity.class);
startActivity(intent);
```
其中,第一个参数 `this` 表示当前 Activity 的上下文,第二个参数 `AnotherActivity.class` 表示要启动的 Activity 的类。
protected void onActivityResult(int requestCode,int resultCode,Intent data){//为了得到传回的数据,重写方法 super.onActivityResult(requestCode,resultCode,data); if (requestCode==1&&resultCode==2){ showQueryData(); } }
这段代码是在 Activity 中重写 `onActivityResult()` 方法,用于在收到其他 Activity 的返回数据后进行相应的处理。其中,`requestCode` 参数表示启动其他 Activity 时传递的请求码,`resultCode` 参数表示其他 Activity 返回的结果码,`data` 参数表示其他 Activity 返回的数据。
在该方法中,首先需要调用父类的 `onActivityResult()` 方法进行处理。然后,判断 `requestCode` 和 `resultCode` 是否符合预期,如果符合,则调用 `showQueryData()` 方法显示查询结果。
需要注意的是,该方法需要在调用 `startActivityForResult()` 方法启动其他 Activity 时传递请求码和接收返回结果的情况下才能正常调用。同时,`showQueryData()` 方法需要根据具体需求进行实现。
阅读全文