Android studio拍摄照片并保存
我尝试拍摄一张照片,然后将其保存到应用程序中,这样我就可以在那个里显示它并存储在一些列表视图中Android studio拍摄照片并保存,android,Android,我尝试拍摄一张照片,然后将其保存到应用程序中,这样我就可以在那个里显示它并存储在一些列表视图中 package com.example.courses import android.content.Intent import android.os.Bundle import android.provider.MediaStore import android.support.v7.app.AppCompatActivity import android.view.Menu import and
package com.example.courses
import android.content.Intent
import android.os.Bundle
import android.provider.MediaStore
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
class MainActivity : AppCompatActivity(), ListFragment.Updater {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
Toast.makeText(this, "smile ... taking picture", Toast.LENGTH_LONG).show()
startActivityForResult(takePictureIntent, 690)
} else {
Toast.makeText(this, "sorry .. no picture", Toast.LENGTH_LONG).show()
}
}
这段代码有效,因为确实需要创建图片。但是,我不确定,一旦创建了这个图片,我在哪里可以访问它,或者哪个变量在创建之后存储它,以及我如何实际访问这个变量以显示图像。您能告诉我一些想法吗?当您从文件管理器捕获图像或访问任何其他文件时,所有结果都可以通过onActivityResult()方法捕获,如下所示:
class MainActivity : AppCompatActivity(), ListFragment.Updater {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
Toast.makeText(this, "smile ... taking picture", Toast.LENGTH_LONG).show()
startActivityForResult(takePictureIntent, 690)
} else {
Toast.makeText(this, "sorry .. no picture", Toast.LENGTH_LONG).show()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when(requestCode) {
690 -> {
if (resultCode == Activity.RESULT_OK && data != null) {
imageView.setImageBitmap(data.extras.get("data") as Bitmap)
}
}
else -> {
Toast.makeText(this, "Unrecognized request code", Toast.LENGTH_SHORT)
}
}
}
}