我想创建Android应用拍照,然后我们可以对编辑文本视图做点评论,当我点击发送按钮时,图片和评论将会出现在数据库(所以我们可以用笔记本电脑看数据库的结果)我可以创建Android应用拍照然后上传到数据库
回答
这是你如何拍摄一张照片,然后将其上传到图片浏览:
public void getPhoto() {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
getPhoto();
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
} else {
getPhoto();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && data != null) {
Uri selectedImage = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
为了将其保存在数据库中,检查this。
您可以使用下面的代码来捕捉图像:
public void captureImage() {
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{
android.Manifest.permission.CAMERA
}, 6);
}
return;
}
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, CAMERA_REQUEST_CODE);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 6:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
captureImage();
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uploading.show();
if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {
bitmap = (Bitmap) data.getExtras().get("data");
} else if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK) {
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
}
if (bitmap != null) {
toStringImage(bitmap); //this function will convert image into Base64 string
} else {
uploading.dismiss();
}
}
在检查相同的代码在GitHub上: captureImage
现在,这个图片上传到数据库:
- 将捕获的图像转换为Base64字符串。 (imageToString)
- 发送的Base64串到你的PHP的Web服务使用您的首选库。
- 在后端,将Base64字符串返回到图片并将图像存储到数据库中。
- 商店位置(完整路径或链接)的图像在你的MySQL数据库中以便将来检索图像。
检查this answer如何将图像上传到数据库。
我已经创建了我自己的,但它显示空指针异常 –
public String getStringImage(Bitmap bmp){ByteArrayOutputStream baos = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.JPEG,bitmap_size,baos); byte [] imageBytes = baos.toByteArray(); String encodedImage = Base64.encodeToString(imageBytes,Base64.DEFAULT); return encodedImage; } –
@AmirullahAchmadNassardhi如果位图为空,你将得到一个空指针异常。你能告诉我你是如何获得(或生成)你的位图吗? – Harshil
- 1. Android:我可以从网站上拍照并自动上传吗?
- 2. 笨2.1 - 第一次上传图像,然后创建数据库
- 3. 我可以创建一个模拟数据库上下文,我可以添加,然后搜索?
- 4. 用iPhone拍照,然后使用它!
- 5. 拍摄MySQL快照并重新创建数据库?
- 6. 拍照后更新图库android相机应用程序失败
- 7. JPA:创建数据库然后连接
- 8. EF代码优先 - 删除后创建数据库然后创建数据库
- 9. 当在iPhone上拍摄照片然后抓取该照片时是否可以检测到程序?
- 10. 从Android应用拍摄照片,然后我想用按钮更改彩色照片
- 11. 如何创建码头图像然后将其上传到我的仓库?
- 12. 如何在Android上创建照片库?
- 13. 我可以在FTP服务器上创建SQL数据库吗?
- 14. 如何在拍照后立即使用照片,然后保存到存储
- 15. 如何,关键是要拍摄照片的数据库,然后把dipicturebox
- 16. 我想用网络摄像头拍摄照片,然后将数据传递给JavaScript函数
- 17. 我可以使用Samsung Galaxy Tab(Android 2.2)上的前置摄像头拍照吗?
- 18. iOS应用程序检查iPhone晃动,然后拍照
- 19. 我可以使用.NET构建Lucene数据库,然后使用ZendFramework来读取该数据库吗?
- 20. swift:从照片库中拍摄图片并上传到firebase
- 21. 如果我修补Android应用程序,我现有的SQLite数据库将被删除,然后重新创建?
- 22. ImageView创建照片上传
- 23. 创建应用程序,可以从电脑发送数据到Android应用
- 24. 拍照和上传到服务器中的Android
- 25. hibernate是否可以创建数据库和数据库用户?
- 26. 上传CSV文件,然后映射到表在数据库
- 27. 创建我可以从Android设备发送数据的动态数据库
- 28. 我可以创建一个mysql数据库,从excel文件导入数据,然后通过UI显示
- 29. Android的 - 拍照
- 30. 拍照android
是的,你可以创建这样一个应用程序。 –
我该如何开始? –