URLから画像をダウンロードする必要があります。あなたはビットマップかDrawableをお勧めしますか?どんなところでも、私は二度試しましたが、それらはうまくいきません。何が問題なのか知っていますか? (私はインターネットと外部ストレージのパーミッションを書いています)。 JSONオブジェクトでURLを受け取っていることがわかりますが、正しく受信されました。AndroidのURLから画像をダウンロード
私はDrawableの要素でそれを受け取るしたい場合:私はそれ国連ビットマップ要素受け取るしたい場合は
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="This is the error: ";
Log.e(err,e.getMessage());
//e.printStackTrace();
return null;
}
}
:
protected Bitmap getBitMap()
{
try{
JSONObject jsonResponse = new JSONObject(content);
String src=jsonResponse.getString(data);
java.net.URL url = new java.net.URL(src);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setDoInput(true);
con.connect();
InputStream input=con.getInputStream();
Bitmap myBitmap=BitmapFactory.decodeStream(input);
return myBitmap;
}
catch(Exception e){
String err="This is the error: ";
Log.e(err,e.getMessage());
//e.printStackTrace();
return null;
}
}
私はImageViewのを持っている場所です。
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) {
Bitmap 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.getBitMap();
}
catch(Exception exc) {
Toast.makeText(Accedido.this, exc.getMessage(), Toast.LENGTH_SHORT).show();
}
imagen.setImageBitmap(img);
}
});
}
これらのコードを実行すると、プログラムによってエラーが発生します。println needs a message
... B私はプログラムでは決してsystem.out.printlnを書いたことはありません
イメージをStorageまたはImageviewにダウンロードしますか? – W4R10CK
いいえ、それをダウンロードしてImageViewに表示したいのです –
説明してください、**詳細は**、「動作しない」とはどういう意味ですか?たとえば、あなたの例外(現在のコードではできません)からスタックトレースを記録し、そのスタックトレースをあなたの質問に含めることができます。 – CommonsWare