Таким образом, мы создаем приложение, используя Android Studio, это приложение включает в себя загрузку изображений профиля и изображений форм работы (дело в том, что мы имеем дело со многими изображениями).
Проблема, с которой мы сталкиваемся, заключается в том, что когда мы извлекать изображения из базы данных, для загрузки которой требуются возрасты .. по-видимому, размер изображений велик, существует ли альтернативный способ хранения и извлечения изображений быстрее?
Не нужно быть безопасным, так как это проект колледжа.
Стоит ли сохранять изображения в файловой системе вместо базы данных?
при получении кода изображений:
public byte[] GetProfileImageByCustomerId (int customerId){
String query = "SELECT Image From USERS WHERE CustomerId = " +customerId;
try{
ResultSet result= ExecuteSelectQuery(query);
if(result.next()){
return result.getBytes("Image");
}
}
catch (Exception ex){
ex.printStackTrace();
}
return null;
}
обновить и загрузить код
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_IMAGE) {
if (resultCode == Activity.RESULT_OK) {
Uri uri = data.getParcelableExtra("path");
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
//Update In DB
if(_context.UpdateProfileImage(Preferences.GetLoggedInUserID(getApplicationContext()),bitmap));
// loading profile image from local cache
loadProfile(uri.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private void loadProfile(String url) {
Log.d(TAG, "Image cache path: " + url);
GlideApp.with(this).load(url)
.into(imgProfile);
imgProfile.setColorFilter(ContextCompat.getColor(this, android.R.color.transparent));
}