У меня есть проект, над которым я работаю.в этом проекте я пытаюсь получить изображение пользователя для входа в ImageView из таблицы MySQL через драйвер JDBC, в этом случае изображение загружается один раз и второй раз, если я пытаюсь загрузить изображение, то система выдает ошибку, после ошибкиеще раз, если я пытаюсь загрузить изображение, то изображение загружается в ImageView.Здесь я прилагаю код.
private class findpicture extends AsyncTask<String, String, String> {
String msg;
String searchtext= textView3.getText().toString();
@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(getApplicationContext(), "Searching username", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
textView3.setText("");
}
@Override
protected String doInBackground(String... strings) {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection)DriverManager.getConnection(url,user,pass);
if (con == null){
msg="Connection error...";
}else{
byte b[];
Blob blob;
Statement statement= (Statement) con.createStatement();
ResultSet resultSet = statement.executeQuery("select * from userlogin where name='"+searchtext+"'");
while (resultSet.next()){
blob = resultSet.getBlob("image");
b= blob.getBytes(1, (int)blob.length());
Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
savedphoto.setImageBitmap(bitmap);
}
msg= "user image saved successfully...";
}
}catch (Exception e){
msg="unknown error..."+e;
System.out.println(e.toString());
}
return null;
}
}
Код ошибки android.view.ViewRootImpl $ CalledFromWrongThreadException: только исходный поток, создавший иерархию представлений, может касаться его представлений.