how to pass Image through intent?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ashfaqbin
    New Member
    • Jan 2015
    • 1

    how to pass Image through intent?

    Hi friends,
    Here is my code for selecting datas from myql database with the help of php.All i want to do is i want to pass and display image through intent from Activity 1 to Activity 2.im new in android so please help me.

    Code:
      **Activity1**
      import java.io.BufferedReader;
      import java.io.ByteArrayOutputStream;
      import java.io.IOException;
      import java.io.InputStream;
      import java.io.InputStreamReader;
      import java.net.HttpURLConnection;
      import java.net.URL;
      import java.net.UnknownHostException;
      import java.util.ArrayList;
      import java.util.List;
      
      import org.apache.http.HttpResponse;
      import org.apache.http.NameValuePair;
      import org.apache.http.client.ClientProtocolException;
      import org.apache.http.client.HttpClient;
      import org.apache.http.client.entity.UrlEncodedFormEntity;
      import org.apache.http.client.methods.HttpPost;
      import org.apache.http.impl.client.DefaultHttpClient;
      import org.json.JSONArray;
      import org.json.JSONException;
      import org.json.JSONObject;
      
      import android.annotation.SuppressLint;
      import android.app.ActionBar.LayoutParams;
      import android.app.Fragment;
      import android.app.ProgressDialog;
      import android.content.Intent;
      import android.graphics.Bitmap;
      import android.graphics.BitmapFactory;
      import android.graphics.Color;
      import android.os.AsyncTask;
      import android.os.Bundle;
      import android.view.Gravity;
      import android.view.LayoutInflater;
      import android.view.View;
      import android.view.View.OnClickListener;
      import android.view.ViewGroup;
      import android.widget.ImageView;
      import android.widget.LinearLayout;
      import android.widget.TextView;
      import android.widget.Toast;
      
      @SuppressLint("NewApi") public class News_events extends Fragment {
          private String jsonResult;
           private String url = "http://192.168.2.7/crescentnews/select.php";
           HttpPost httppost;
           StringBuffer buffer;
           HttpResponse response;
           HttpClient httpclient;
           List<NameValuePair  nameValuePairs;
           ProgressDialog dialog = null;
           ImageView img;
            Bitmap bitmap;
            ProgressDialog pDialog;
            
      
         // alert dialog manager
        	AlertDialogManager alert = new AlertDialogManager();
        	
        	// Internet detector
        	ConnectionDetector cd;
        	
           InputStream is=null;
           String result=null;
              String line=null;
              int code;
      
          public News_events(){}
      
          @Override
          public View onCreateView(LayoutInflater inflater, ViewGroup container,
                  Bundle savedInstanceState) {
          	 pDialog = new ProgressDialog(getActivity());
              View rootView = inflater.inflate(R.layout.fragment_news_events, container, false);
              
              cd = new ConnectionDetector(rootView.getContext());
      
      		// Check if Internet present
      		if (!cd.isConnectingToInternet()) {
      			// Internet Connection is not present
      			alert.showAlertDialog(getActivity(),
      					"Internet Connection Error",
      					"Please connect to working Internet connection", false);
      			// stop executing code by return
      			//return.rootView;
      			return rootView;
      		}
              
      		accessWebService();
              return rootView;
          }
      
          // Async Task to access the web
           private class JsonReadTask extends AsyncTask<String, Void, String  {
            @Override
            protected String doInBackground(String... params) { 
                List<NameValuePair  nameValuePair = new ArrayList<NameValuePair (1);
      
      
             HttpClient httpclient = new DefaultHttpClient();
             HttpPost httppost = new HttpPost(params[0]);
             try {
      
              httppost.setEntity(new UrlEncodedFormEntity(nameValuePair));
              HttpResponse response = httpclient.execute(httppost); 
              jsonResult = inputStreamToString(
                response.getEntity().getContent()).toString();
              }
      
             catch (ClientProtocolException e) {
              e.printStackTrace();
             } catch (IOException e) {
              e.printStackTrace();
             }
             return null;
            }
      
             private StringBuilder inputStreamToString(InputStream is) {
             String rLine = "";
             StringBuilder answer = new StringBuilder();
             BufferedReader rd = new BufferedReader(new InputStreamReader(is));
      
             try {
              while ((rLine = rd.readLine()) != null) {
               answer.append(rLine);
              }
             }
              catch (IOException e) {
              // e.printStackTrace();
              Toast.makeText(getActivity().getApplicationContext(),
                "Error..." + e.toString(), Toast.LENGTH_LONG).show();
             }
             return answer;
            }
      
            @Override
            protected void onPostExecute(String result) {
             display();
            }
           }// end async task
      
           public void accessWebService() {
            JsonReadTask task = new JsonReadTask();
            // passes values for the urls string array
            task.execute(new String[] { url });
           }
      
           // build hash set for list view
           public void display() {
      
      
            try {
             JSONObject jsonResponse = new JSONObject(jsonResult);
             JSONArray jsonMainNode = jsonResponse.optJSONArray("news_details");
             LinearLayout MainLL= (LinearLayout)getActivity().findViewById(R.id.newslayout); 
             //LinearLayout headLN=(LinearLayout)findViewById(R.id.headsection);
      
             for (int i = 0; i < jsonMainNode.length(); i++) {
                 JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
                  final String head = jsonChildNode.optString("title");
                  final String details = jsonChildNode.optString("text");
                  final String date = jsonChildNode.optString("date");
                  final String image = jsonChildNode.optString("img");
                  //final String time = jsonChildNode.optString("time");
                  //img = new ImageView(this.getActivity());
                  //new LoadImage().execute("http://192.168.2.7/crescentnews/images/"+image);
      
                  img = new ImageView(this.getActivity());
                //  Toast.makeText(getActivity(),image, Toast.LENGTH_LONG).show();
                  
                  LoadImage ldimg=new LoadImage();
                  ldimg.setImage(img);
                  ldimg.execute("http://192.168.2.7/crescentnews/images/"+image);
                 
      
                  TextView headln = new TextView(this.getActivity());
                  headln.setText(head); // News Headlines
                  headln.setTextSize(16);
                  headln.setTextColor(Color.BLACK);
                  headln.setGravity(Gravity.CENTER);
                  headln.setBackgroundColor(Color.parseColor("#ffcd14"));
                //  headln.setBackgroundResource(R.drawable.menubg);
                  headln.setPadding(0, 20, 0, 0);
                //  headln.setHeight(50);
                  headln.setClickable(true);
                  
      
                  TextView dateln = new TextView(this.getActivity());
                  dateln.setText(date); // News Headlines
                  dateln.setTextSize(12);
                  dateln.setTextColor(Color.BLACK);
                  dateln.setGravity(Gravity.RIGHT);
                  //dateln.setBackgroundColor(Color.parseColor("#f20056"));
                  dateln.setBackgroundColor(0x00000000);
                  dateln.setPadding(0, 0, 10, 10);
                  dateln.setWidth(100);
                  dateln.setClickable(true);
                          
                 
      
                  View sep=new View(this.getActivity());
                  sep.setBackgroundColor(Color.parseColor("#252525"));
                  sep.setMinimumHeight(10);
      
                  TextView detailsln = new TextView(this.getActivity());
                  detailsln.setText(details); // News Details
                  detailsln.setTextSize(12);
                  detailsln.setTextColor(Color.BLACK);
                  detailsln.setGravity(Gravity.CENTER);
                  detailsln.setPadding(10, 10, 10, 10);
                  
                  int width = LayoutParams.WRAP_CONTENT;
                  int height = 200;
                 LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
                 img.setLayoutParams(parms);
                 parms.gravity = Gravity.CENTER;
                 img.setPaddingRelative (15, 15, 15, 15);
                           
                  
                  
                  MainLL.addView(headln);
                  MainLL.addView(dateln);
               //   MainLL.addView(photo);
                  MainLL.addView(img);
                  MainLL.addView(detailsln);
                  MainLL.addView(sep);
                 
                  img.setClickable(true);
                  
                 // img.buildDrawingCache();	
                 // final Bitmap bmap = img.getDrawingCache();
                  headln.setOnClickListener(new OnClickListener() {
      
                      @Override
                      public void onClick(View v) {
                          // TODO Auto-generated method stub
                                        	
                         Intent intent = new Intent(getActivity().getApplicationContext(),InnerNewsAndEvents.class);
                         intent.putExtra("head",head.toString());
                         intent.putExtra("details",details.toString());
                         intent.putExtra("date",date.toString());
                         startActivity(intent);       
                      }
                  });
                  
                  dateln.setOnClickListener(new OnClickListener() {
                  @Override
                  public void onClick(View v) {
                         // TODO Auto-generated method stub
                  	  Intent intent = new Intent(getActivity().getApplicationContext(),InnerNewsAndEvents.class);
                         intent.putExtra("head",head.toString());
                         intent.putExtra("details",details.toString());
                         intent.putExtra("date",date.toString());
                         startActivity(intent);       
                      }
                  });
                  
                  img.setOnClickListener(new OnClickListener() {
      
                  @Override
                  public void onClick(View v) {
                          // TODO Auto-generated method stub
                  	
                    Intent intent = new Intent(getActivity().getApplicationContext(),InnerNewsAndEvents.class);
                         intent.putExtra("head",head.toString());
                         intent.putExtra("details",details.toString());
                         intent.putExtra("date",date.toString());
                         startActivity(intent);       
                      }
                  });
      
             }
            } catch (JSONException e) {
             Toast.makeText(getActivity().getApplicationContext(), "Error" + e.toString(),
               Toast.LENGTH_SHORT).show();
            }
             }
      
           private class LoadImage extends AsyncTask<String, String, Bitmap  {
               ImageView img;
                           @Override
                               protected void onPreExecute() {
                                   super.onPreExecute();
                                  
                                   pDialog.setMessage("Loading Image ....");
                                   pDialog.show();
      
      
                           }
               public void setImage(ImageView img ){
               this.img=img;
               }
      
               protected Bitmap doInBackground(String... args) {
                   try {
                       bitmap = BitmapFactory.decodeStream((InputStream)new URL(args[0]).openStream());
                       } 
                   catch (Exception e) { e.printStackTrace(); }
                   return bitmap;
               }
      
               protected void onPostExecute(Bitmap image) {
                    if(image != null){
                        img.setImageBitmap(image);
                        
                        pDialog.dismiss(); 
                    }
                    pDialog.dismiss(); 
               } 
      
           }
           
           public static boolean isInternetReachable()
           {
               try {
                   //make a URL to a known source
                   URL url = new URL("http://www.google.com");
      
                   //open a connection to that source
                   HttpURLConnection urlConnect = (HttpURLConnection)url.openConnection();
      
                   //trying to retrieve data from the source. If there
                   //is no connection, this line will fail
                   Object objData = urlConnect.getContent();
      
               } catch (UnknownHostException e) {
                   e.printStackTrace();
                   return false;
               }
               catch (IOException e) {
                   e.printStackTrace();
                   return false;
               }
               return true;
           }
      }
      
      **Activity2**
      
      
      import java.io.InputStream;
      import java.net.URL;
      
      import android.app.Activity;
      import android.app.ProgressDialog;
      import android.content.Intent;
      import android.graphics.Bitmap;
      import android.graphics.BitmapFactory;
      import android.os.AsyncTask;
      import android.os.Bundle;
      import android.widget.ImageView;
      import android.widget.TextView;
      import android.widget.Toast;
      
      public class InnerNewsAndEvents extends Activity {
      	ProgressDialog pDialog;
      	ProgressDialog dialog = null;
          Bitmap bitmap;
      	@Override
      	protected void onCreate(Bundle savedInstanceState) {
      		super.onCreate(savedInstanceState);
      		setContentView(R.layout.activity_inner_news_and_events);
      		
      		TextView title=(TextView)findViewById(R.id.tvtitle);
      		TextView details=(TextView)findViewById(R.id.tvdetails);
      		ImageView img=(ImageView)findViewById(R.id.imgpic);
      		
      		Intent intent = getIntent();
              String strhead = intent.getStringExtra("head");
              String strdetails = intent.getStringExtra("details");
              String strdate = intent.getStringExtra("date");
            
              
              title.setText(strhead);
              details.setText(strdetails);
              
         
             
              
              
           
              
             
      	}
      	 
      }
    Last edited by Rabbit; Jan 2 '15, 06:16 PM. Reason: Please use [code] and [/code] tags when posting code or formatted data.
Working...