Merhaba Enes ;
Öncelikle url'den image alıp "R.drawable a atma" gibi birşey söz konusu değildir . Çünkü uygulamayı cihaza yüklüyorsun. Ancak url ' den çekmiş olduğun bir fotoğrafı Jsoup kullanarak istediğin yere set edebilirsin uygulamada. Örnek bir kodu aşağıda paylaşıyorum umarım işine yarar
1- build.gradle içersinde dependencies' in içine aşağıdaki satırı eklemelisin
compile 'org.jsoup:jsoup:1.7.3'
2- Aşağıdaki kod urlden nasıl image çekildiğini ,nasıl set edildiğini göstermektedir
public class MainActivity extends Activity {
private Button titleButton;
RelativeLayout logo_layout;
private ProgressDialog progressDialog;
private static String URL = "http://emreboyraz.co/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
titleButton = (Button)findViewById(R.id.buttonTitle);
titleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new FetchTitle().execute();
}
});
}
private class FetchTitle extends AsyncTask<Void, Void, Void> {
Bitmap bitmap;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("fotoğraf");
progressDialog.setMessage("Fotoğraf Çekiliyor...");
progressDialog.setIndeterminate(false);
progressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
try{
Elements elements;
Document doc = Jsoup.connect(URL).get(); // Web siteye bağlantı
//Fetch
elements = doc.select("div[class=front face]");
String imgSrc = elements.select("img[src]").attr("src");
InputStream input = new java.net.URL(URL+"/"+imgSrc).openStream();
bitmap = BitmapFactory.decodeStream(input);
}catch (Exception e){
e.printStackTrace();
}
return null;
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
protected void onPostExecute(Void aVoid) {
//set
logo_layout = (RelativeLayout)findViewById(R.id.logo_layout);
ImageView img_logo = (ImageView)findViewById(R.id.img_logo);
img_logo.setImageBitmap(bitmap);
progressDialog.dismiss();
}
}
}