2017-02-22 2 views
1

Ich habe eine ListView erstellt. und wenn ich auf ein einzelnes Element der ListView klicke, rufe ich eine Aktivität an, um das einzelne Objekt anzuzeigen. TextView-Daten werden analysiert. aber wenn ich versuche, ein Bild von parse aufzurufen, wird es nicht geladen (das Bild wird an einem anderen Ort online gehostet). wenn jemand bitte sagen kann, wie man das Bild hier lädt ??ANDROID: Abrufen von Bild von Parse zu einer Android-Aktivität

meine Datei url

url = new URL("file location " + statusObject.getString("image")); 

bearbeitet Code

URL url = null; 
        try { 
         url = new URL("https://www.gravatar.com/avatar/db5bfe41c9d21d3a5b4e5b5f6a2d776d?s=32&d=identicon&r=PG&f=1"); 
        } catch (MalformedURLException e1) { 
         e1.printStackTrace(); 
        } 
        Bitmap bmp = null; 
        try { 
         bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 
        txtv2.setImageBitmap(bmp); 

////////////////

einzelne Artikel Ansicht

import android.content.*; 
import android.net.*; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.util.*; 
import android.view.View; 
import android.widget.*; 

import com.parse.*; 
import com.parse.ParseException; 

public class SingleItemView extends AppCompatActivity { 

    String objectId; 
    protected TextView txtv; 
    protected TextView txtv1; 
    protected ImageView txtv2; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_single_item_view); 


     txtv =(TextView)findViewById(R.id.txt123); 
     txtv1 =(TextView)findViewById(R.id.txt1234); 
     txtv2 =(ImageView)findViewById(R.id.txt12345); 
     Intent i =getIntent(); 

     objectId = i.getStringExtra("objectId"); 

     ParseQuery<ParseObject> query = ParseQuery.getQuery("_User"); 
     query.getInBackground(objectId, new GetCallback<ParseObject>() { 
      public void done(ParseObject object, ParseException e) { 
       if (e == null) { 

        String username = object.getString("firstname"); 
        txtv.setText(username); 
        String position = object.getString("position"); 
        txtv1.setText(position); 
        String img_ = object.getString("image"); 
        txtv2.setImageURI(Uri.parse(img_)); 

       } else { 
        // something went wrong 
       } 
      } 
     }); 



    } 

} 

Fragment Datei

import android.content.*; 
import android.os.Bundle; 
import android.support.v4.app.*; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.*; 

import com.parse.FindCallback; 
import com.parse.ParseException; 
import com.parse.ParseObject; 
import com.parse.ParseQuery; 
import java.util.ArrayList; 
import java.util.List; 

public class Individuals extends android.support.v4.app.ListFragment 
     implements FindCallback<ParseObject> { 

    private List<ParseObject> mOrganization = new ArrayList<ParseObject>(); 
    SearchView sv; 
    IndividualsAdaptor adaptor; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.individuals, container, false); 
    } 
    @Override 
    public void onViewCreated(View view, Bundle b) { 
     super.onViewCreated(view, b); 
     sv = (SearchView) view.findViewById(R.id.ser1); 
     adaptor = new IndividualsAdaptor(getActivity(), mOrganization); 
     setListAdapter(adaptor); 
     ParseQuery.getQuery("_User").findInBackground(this); 

     sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String text) { 
       return false; 
      } 
      @Override 
      public boolean onQueryTextChange(String text) { 
       adaptor.getFilter().filter(text); 
       return true; 
      } 
     }); 
    } 
    @Override 
    public void done(List<ParseObject> scoreList, ParseException e) { 
     if (e == null) { 
      Log.d("score", "Retrieved " + scoreList.size() + " _User"); 
      mOrganization.clear(); 
      mOrganization.addAll(scoreList); 
      ((IndividualsAdaptor) getListAdapter()).updateBackupList(mOrganization); 
      ((IndividualsAdaptor) getListAdapter()).notifyDataSetChanged(); 
     } else { 
      Log.d("score", "Error: " + e.getMessage()); 
     } 
    } 

    @Override 
    public void onListItemClick(android.widget.ListView l, android.view.View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 

     ParseObject prs = mOrganization.get(position); 
     String objectId = prs.getObjectId(); 
     Intent i = new Intent(getActivity(), SingleItemView.class); 
     i.putExtra("objectId", objectId); 
     startActivity(i); 

    } 
} 
+0

u Erhalten URL in dem Abruf mit Parse Objekt – Athul

+0

Check dieser Antwort http://stackoverflow.com/a/27793603/3310181 – param

Antwort

1

schließlich dieser Code arbeitet nach einige Codes Bearbeitung bilden den Link in der Antwort. Mit diesem Code können Sie Bilder dynamisch für jede Objekt-ID aufrufen.

URL url = null; 
         try { 
          url = new URL("image url" + object.getString("image")); 
         } catch (MalformedURLException e1) { 
          e1.printStackTrace(); 
         } 
         Bitmap bmp = null; 
         try { 
          bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
         } catch (IOException e1) { 
          e1.printStackTrace(); 
         } 
         txtv2.setImageBitmap(bmp); 

         // something went wrong 
1

definieren <uses-permission android:name="android.permission.INTERNET" /> in Manifest.xml.

verwenden Dann Picasso oder Gilde und analysieren Bilder von ihren jeweiligen Instanzen und übergeben Bild-URL, die Sie von Parsen abfragen. Diese Bibliotheken analysieren die URL und geben das Bild in ImageView zurück.

Andere ähnliche Fragen: Load image from url

How to load an ImageView by URL in Android?

+0

Ihre erste Verbindung nach einigen Änderungen funktioniert .. aber nur für ein Platzhalterbild können Sie sagen, wie man ein dynamisches Bild lädt, überprüfen Sie meine Frage ich aktualisierte @Sneh Pandya –

Verwandte Themen