Что значит "имя src"? Как я могу решить следующую ошибку?

1_Я пытаюсь загрузить изображение со следующего URL: « http://10.1.1.2:8080/basket.png ». И я пытался сделать это через элемент типа Drawable, основанный на том, что говорит следующая ссылка . У меня проблема в том, что я не понимаю, что это означает, когда он говорит «имя src» ... Так что мне писать в моем случае?

2_ URL, который я получаю от объекта JSON, поступающего с сервера ( который работает правильно, принося его, так как он был протестирован) и выдает следующую ошибку, когда находится под изображением (пишет непосредственно «имя src»): Value java.net.ConnectException of type java.lang.String cannot be converted to JSONObject

Код, который запрашивает изображение Это выглядит следующим образом:

protected Drawable getDrawable()
    {
        try{
            JSONObject jsonResponse = new JSONObject(content);
            String src=jsonResponse.getString(data);
            InputStream is = (InputStream)new URL(src).getContent();
            Drawable d=Drawable.createFromStream(is, "basket.png");
            return d;
        }
        catch(Exception e)
        {
            String err="este es el error:";
            Log.e(err,e.getMessage());
            //e.printStackTrace();
            return null;
        }
    }

Код, который показывает результат на экране, выглядит следующим образом:

public class Accedido extends AppCompatActivity {

    ImageView imagen;
    Button ok;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_accedido);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        imagen=(ImageView)findViewById(R.id.Img);
        ok=(Button)findViewById(R.id.btnOk);
        ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Drawable img=null;
                Ajax im=new Ajax();
                try {
                    String imagen = im.execute(MainActivity.IP_ADDRESS + "Imagen").get();
                    LeerConsulta lec = new LeerConsulta(imagen, "img");
                    //img=lec.getBitMap();
                    /*String res=lec.getContent();
                    String res2=lec.getData();
                    Toast.makeText(Accedido.this, "Content:"+res+"Data:"+res2, Toast.LENGTH_LONG).show();*/
                    img=lec.getDrawable();
                }
                catch(Exception exc) {
                    Toast.makeText(Accedido.this, exc.toString(), Toast.LENGTH_SHORT).show();
                }
                imagen.setImageDrawable(img);
            }
        });
    }
0
задан 23.05.2017, 15:39
0 ответов

В действительности вместо "src ямса" ты должен распределять имя изображения который contendrà изображение, из-за ejeplo:

Drawable.createFromStream(is, "imagen.jpg");

Относительно твоей ошибки

Оцените java.net. ConnectException of type java.lang. String cannot be converted to JSONObject

Значь, что стоимость content это не json по этой причине не может быть обращенным в JsonObject.

JSONObject jsonResponse = new JSONObject(content); 

Для того, чтобы оно функционировало совсем правильно, ты должен добиваться нескольких вещей

Переменная content будь должен иметь объект json:

JSONObject jsonResponse = new JSONObject(content); 

Переменная data будь должен содержать ключ (key) которую это считает стоимостью url изображения, так как посредством key получается url изображения и распределяется изменчивое крыло src

String src = jsonResponse.getString(data);

Получив маршрут изображения давайте верить в один InputStream.

InputStream is = (InputStream)new URL(src).getContent(); 

И в конце концов получив один InputStream давайте верить в один Drawable что был бы изображением:

Drawable d = Drawable.createFromStream(is, "myimagen.jpg"); 
2
ответ дан 03.12.2019, 17:47