CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: carotix con ben 5 Thanks ricevuti negli ultimi sette giorni
Utente del mese: carotix con ben 19 Thanks ricevuti nell'ultimo mese

Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 13 su 13
Discussione:

Passaggio parametro da una activity ad un dialog di un'altra activity

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #11
    Baby Droid L'avatar di tx84


    Registrato dal
    Aug 2012
    Messaggi
    43
    Smartphone
    Samsung Galaxy s3 i9300

    Ringraziamenti
    0
    Ringraziato 5 volte in 4 Posts
    Predefinito

    Ciao,
    ho fatto un po di modifiche, prova a testarlo. MappaActivity dovrebbe andare bene così.

    codice:
    public class FotoActivity extends Activity implements SurfaceHolder.Callback{
    	
        ProgressDialog pd;
        Intent iFoto;
    	String utente, via, citta;
    	Camera mCamera;
    	SurfaceView mSurfaceView;
    	SurfaceHolder mSurfaceHolder;
    	File foto;
    	boolean mPreviewRunning;
    	
    	@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mod_foto);
            
    		// Prelevo l'id utente da MappaActivity
    		iFoto = getIntent();
    		String pkg    = getPackageName();
            utente	 	  = iFoto.getStringExtra(pkg+".utente");
            via			  = iFoto.getStringExtra(pkg+".via");
            citta		  = iFoto.getStringExtra(pkg+".citta");
            
            // SCATTA FOTO
            Button buttonPicture = (Button) findViewById(R.id.camera_surface_button);
    		buttonPicture.setOnClickListener(new View.OnClickListener(){
    			public void onClick(View v) {
    				mCamera.takePicture(shutterCallback, rawCallback, jpegCallback); 
    			}
    		});
    		
    		mSurfaceView 	= (SurfaceView)findViewById(R.id.camera_surface);
    		mSurfaceView.setClickable(true);
    		
            mSurfaceHolder  = mSurfaceView.getHolder();	//recupero l'holder della surfaceview
            mSurfaceHolder.addCallback(this);			//faccio la bind alla nostra activity
            mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);	//tipo di surface, suggerito nei tutorial ufficiali
            
            pd = null;
        } 
        
        @Override
        public void onPause(){
            super.onPause();
            if(pd != null)
                pd.dismiss();
        }
        
        ShutterCallback shutterCallback = new ShutterCallback() {
          public void onShutter() {
            Log.d("TAG", "onShutter'd");
          }
        };
    
        PictureCallback rawCallback = new PictureCallback() {
          public void onPictureTaken(byte[] data, Camera camera) {
            Log.d("TAG", "onPictureTaken - raw");
          }
        };
    
        PictureCallback jpegCallback = new PictureCallback() {
          public void onPictureTaken(byte[] data, Camera camera) {
        	String nomeFoto;
            FileOutputStream outStream = null;
            try {
              nomeFoto = String.valueOf(System.currentTimeMillis()) + ".jpg";
              foto = new File(getExternalCacheDir(), nomeFoto);
              outStream = new FileOutputStream(foto);
              outStream.write(data);
              outStream.close();
              
              // creo e avvio asynctask per scattare la foto
              FotoGetTask task = new FotoGetTask();
              task.execute("");
    
              Log.d("TAG", "onPictureTaken - wrote bytes: " + data.length);
            } catch (FileNotFoundException e) {
              e.printStackTrace();
            } catch (IOException e) {
              e.printStackTrace();
            } finally {
            }
            Log.d("TAG", "onPictureTaken - jpeg");
          }
    
        };
    	
    	public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
    		if (mPreviewRunning)
    			mCamera.stopPreview();
    		
    		//setto le preferenze
    		Camera.Parameters p = mCamera.getParameters();	//prendo le preferenze della camera
    		p.setPreviewSize(arg2, arg3);
    		ArrayList<Size> list = (ArrayList<Size>) p.getSupportedPictureSizes();	//recupero le risoluzioni supportate dalla camera
            int picture_width = list.get(list.size()-1).width;
            int picture_height = list.get(list.size()-1).height;
            p.setPictureSize(picture_width, picture_height);	//setto la camera alla risoluzione più bassa
            p.setJpegQuality(50);	// qualità compressione JPEG
            p.setFlashMode("on");
            p.setFocusMode("auto");
            
            // salvo le pref
            mCamera.setParameters(p);
            try {
            	//lancio la preview
    			mCamera.setPreviewDisplay(arg0);	
    			mCamera.startPreview();
    			mPreviewRunning = true;
    		} catch (IOException e) {
    			//gestione errore
    		}
    	
    		
    	}
    	
    	public void surfaceCreated(SurfaceHolder holder) {
    		if (mCamera == null) {
    			mCamera = Camera.open();
    	        try {
    	        	mCamera.setPreviewDisplay(holder);
    
    	        
    	        } catch (IOException e) {
    	        	mCamera.release();
    	        	mCamera = null;
    	        }
    	    }
    		
    	}
    
    	public void surfaceDestroyed(SurfaceHolder holder) {
    		iFoto.putExtra("pFoto", "");
    		iFoto.putExtra("pUtente",utente);
    		iFoto.putExtra("pVia",via);
    		iFoto.putExtra("pCitta",citta);  
       	    setResult(RESULT_CANCELED,iFoto);
    		if (mCamera != null) {     	 
    			mCamera.stopPreview();
    			mCamera.setPreviewCallback(null);
    			mCamera.release();
    			mCamera = null;
    		}
    		finish();
    	}
    	
    	
    	private class FotoGetTask extends AsyncTask<String,String,String>  {
           @Override
            protected void onPreExecute(){
        	   pd = ProgressDialog.show(FotoActivity.this,"Foto","CanFoto = ricamento in corso...",true,false);
            }
    	       
    		protected String doInBackground(String... params) {
    			String nomeFoto = "";
    			for(int i=0;i<params.length;i++){
    				nomeFoto += params[i];
    			}
    			//Upload del file verso il server ftp
    			FTPClient client = new FTPClient();
    	        
    	        try {
    	        	InetAddress indirizzo = InetAddress.getByName("www.miodominio.it");
    	        	client.connect(indirizzo);
    				//aperta la connessione al server procedo al login
    				boolean loggato = client.login("mio@dominio.it", "miapwd");
    
    				//apro il file contenuto nel path /sdcard come stream
    				client.setFileType(FTP.BINARY_FILE_TYPE); 					// imposto il tipo di dati, da modificare a seconda dell'utilità
    				//File sdcardDir = Environment.getExternalStorageDirectory(); //prendo il riferimento alla memoria esterna
    				//File file = new File(sdcardDir, nomeFoto + ".jpg");			//prendo il riferimento al file salvato sulla sd
    				FileInputStream fis = new FileInputStream(foto);			//creo uno stream in input a partire dal mio file
    				
    				boolean upload_ok = client.storeFile("/miodominio.it/img/"+ nomeFoto, fis);
    				fis.close();												//procedo alla chiusura dello stream, infatti storeFile non chiude fis
    				
    			} catch (SocketException e) {
    				e.printStackTrace();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}finally{
    				return nomeFoto;
    			}
               //return nomeFoto;           
            }
    
            @Override
            protected void onPostExecute(String nomeFoto) {
            	pd.dismiss();
            	if (nomeFoto.equals("")){
            		Toast.makeText(FotoActivity.this, "Connessione dati assente", Toast.LENGTH_LONG).show();
            		iFoto.putExtra("pFoto", nomeFoto);
            		iFoto.putExtra("pUtente",utente);
            		iFoto.putExtra("pVia",via);
            		iFoto.putExtra("pCitta",citta);
    
               	    setResult(RESULT_CANCELED,iFoto);
            		finish();
            		
            	}else{
           			       		
            		iFoto.putExtra("pFoto", nomeFoto);
            		iFoto.putExtra("pUtente",utente);
            		iFoto.putExtra("pVia",via);
            		iFoto.putExtra("pCitta",citta);
    	
    	       	    setResult(RESULT_OK,iFoto);   
    	       	    
    	       	    Toast.makeText(FotoActivity.this, "Foto caricata con successo!", Toast.LENGTH_LONG).show();
    	       	    
    	       	    finish();
            	}
            }
         }
    	
    }
    Samsung Galaxy s3 i9300
    Rom: Omega
    Kernel: Boeffla
    Mod: Jkay, Acid Audio Engine

  2.  
  3. #12
    Baby Droid


    Registrato dal
    Mar 2011
    Messaggi
    30

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Niente da fare.
    L'errore non cambia:
    codice:
    E/AndroidRuntime(22440): FATAL EXCEPTION: main
    E/AndroidRuntime(22440): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=0, data=null} to activity {
    it.tesi/it.tesi.MappaActivity}: java.lang.NullPointerException
    E/AndroidRuntime(22440):        at android.app.ActivityThread.deliverResults(ActivityThread.java:3205)
    E/AndroidRuntime(22440):        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3248)
    E/AndroidRuntime(22440):        at android.app.ActivityThread.access$1200(ActivityThread.java:140)
    E/AndroidRuntime(22440):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285)
    E/AndroidRuntime(22440):        at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime(22440):        at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime(22440):        at android.app.ActivityThread.main(ActivityThread.java:4921)
    E/AndroidRuntime(22440):        at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime(22440):        at java.lang.reflect.Method.invoke(Method.java:511)
    E/AndroidRuntime(22440):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
    E/AndroidRuntime(22440):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
    E/AndroidRuntime(22440):        at dalvik.system.NativeStart.main(Native Method)
    E/AndroidRuntime(22440): Caused by: java.lang.NullPointerException
    E/AndroidRuntime(22440):        at it.tesi.MappaActivity.onActivityResult(MappaV2Activity.java:905)
    E/AndroidRuntime(22440):        at android.app.Activity.dispatchActivityResult(Activity.java:5390)
    E/AndroidRuntime(22440):        at android.app.ActivityThread.deliverResults(ActivityThread.java:3201)
    E/AndroidRuntime(22440):        ... 11 more

  4. #13
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Potresti provare facendo l'ovveride del tasto "back". All'interno di quello gestisci tu la situazione nel momento in cui viene cliccato il tasto back. Puoi pure dirgli che se viene cliccato "Back" lui non deve fare niente!
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy