我想創建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. 我想用網絡攝像頭拍攝照片,然後將數據傳遞給JavaScript函數
- 13. swift:從照片庫中拍攝圖片並上傳到firebase
- 14. 拍照和上傳到服務器中的Android
- 15. 上傳CSV文件,然後映射到表在數據庫
- 16. 拍照android
- 17. Android的 - 拍照
- 18. hibernate是否可以創建數據庫和數據庫用戶?
- 19. 創建我可以從Android設備發送數據的動態數據庫
- 20. 我可以創建一個mysql數據庫,從excel文件導入數據,然後通過UI顯示
- 21. Android:是否可以在PC中創建數據庫,然後通過將它集成到android中來使用該數據庫?
- 22. 數據插入到數據庫,然後應用程序崩潰
- 23. 在Ionic2應用拍攝照片android
- 24. 如何在Android應用更新上重新創建數據庫?
- 25. 我可以通過android的照片庫與鈦加速器上傳照片到服務器?
- 26. 如何在我的android應用程序中創建數據庫?
- 27. readAnyDatabase用戶可以在mongodb上創建數據庫
- 28. 在android項目上創建數據庫
- 29. android - 用sdcard的照片創建圖庫
- 30. 通過sql腳本創建數據庫,然後使用該數據庫
是的,你可以創建這樣一個應用程序。 –
我該如何開始? –