2016-11-15 3 views
-2

Edit: Ich weiß nicht, wie man eine Bilddatei (Beispiel.jpg) in ByteArray konvertieren Ich versuche zu verstehen, wie es gemacht wird, aber ich habe bisher nichts, ich habe verschiedene Methoden ausprobiert auf dieser Seite gefunden, aber nichts scheint für mich zu funktionieren. Ich habe in Frage zu kommen, so dass ich in der Lage sein zu verstehen, wie es mit Hilfe von anderenBild von SD-Speicher zu ByteArray

Ich habe eine Bilddatei in meiner SD-Karte und ich kenne meinen Weg, jetzt möchte ich das Bild und konvertieren es zu byteArray, ich bekomme falsche Ergebnisse in meinem Logcat oder so denke ich, dass ich es tue. Ich bin nicht sicher, wie der Ausgang

import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.net.Uri; 
import android.os.Environment; 
import android.os.Handler; 
import android.os.StrictMode; 
import android.support.v4.app.FragmentActivity; 
import android.os.Bundle; 
import android.util.Base64; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

import com.google.android.gms.awareness.snapshot.internal.Snapshot; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.Circle; 
import com.google.android.gms.maps.model.CircleOptions; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 
import com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback; 
import com.google.android.gms.maps.GoogleMap.OnMapLoadedCallback; 

import java.io.ByteArrayOutputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.OutputStreamWriter; 
import java.util.Date; 
import java.util.Map; 

import static android.R.attr.bitmap; 
import static android.R.attr.duration; 

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 
    public byte[] B; 
    private GoogleMap mMap; 
    GPSTracker gps; 
    public File imageFile ; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 
     // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
     SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
       .findFragmentById(R.id.map); 
     mapFragment.getMapAsync(this); 

    } 


    /** 
    Create the map when the map is ready OnMapReady, The object GPS is ccalled (GPSTraccker) to obtain 
    Values for lat and long. 
    */ 
    final Handler handler = new Handler(); 

    @Override 
    public void onMapReady(final GoogleMap googleMap) { 
     mMap = googleMap; 

     // Add a marker in Sydney and move the camera 
     gps = new GPSTracker(MapsActivity.this); 
     double latitude = gps.getLatitude(); 
     double longitude = gps.getLongitude(); 
     LatLng sydney = new LatLng(latitude, longitude); 
     //adding an automated marker to mark the users spot on the map. 
     mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Cyprus")); 

     mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
     mMap.animateCamera(CameraUpdateFactory.zoomTo(19.0f)); 
     mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() { 
      //When the map is clicked the following will occure 

      @Override 
      public void onMapClick(LatLng point) { 
       //create a new marker on the new lat/long of the spot clicked 
       MarkerOptions marker = new MarkerOptions().position(
         new LatLng(point.latitude, point.longitude)).title("New Marker"); 
       //places the marker 
       mMap.addMarker(marker); 
       //create an object of Bitmap 
       Bitmap bitmap; 
       //Creating and calling object Snapshot 
       SnapshotReadyCallback callback = new SnapshotReadyCallback() { 
        @Override 
        //when the snapshot is ready do the following 
        public void onSnapshotReady(Bitmap bitmap) { 
        //Creating object Date and storing it to now 
         Date now = new Date(); 
         //Retribing exact date and storing it to now 
         android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now); 


         try { 
          //dissabling strick mode for testing , remember to remvoe this code 
          StrictMode.ThreadPolicy old = StrictMode.getThreadPolicy(); 
          StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder(old) 
            .permitDiskWrites() 
            .build()); 

          //mpath = /sd/date.jpg creating a dir for the image to be snaped 
          String mPath = Environment.getExternalStorageDirectory().toString() + "/" + now + ".jpg"; 
          //Calling object File. 
          File imageFile = new File(mPath); 
          FileOutputStream out = new FileOutputStream(imageFile); 
          //outputing streaming to /imagefile 
          bitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 

          Log.d("Var:OUT: ", " " + out); 
          Log.d("ImageFile" ,""+ imageFile) ; 
          Log.d("mPath" ,""+ mPath) ; 
          //decompose image 
          Bitmap bmp = BitmapFactory.decodeFile(mPath); 

          ByteArrayOutputStream stream = new ByteArrayOutputStream(); 

          StrictMode.setThreadPolicy(old); 
          ByteArrayOutputStream streams = new ByteArrayOutputStream(); 
          bmp.compress(Bitmap.CompressFormat.PNG, 100, streams); 


          bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream); 
          byte[] image=stream.toByteArray(); 
          System.out.println("byte array:"+image); 
          Log.d("array", image.toString()); 
          String img_str = Base64.encodeToString(image, 0); 
          Log.d("array_Str",img_str); 
          System.out.println("string:"+img_str); 
         } catch (Exception e) { 
          e.printStackTrace(); 
         } 
        } 
       }; 

       mMap.snapshot(callback); 


       System.out.println(point.latitude + "---" + point.longitude); 


      } 
     }); 

    } 

    // public byte[] getBytesFromBitmap(Bitmap bitmap) { 
    //  ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    //  bitmap.compress(Bitmap.CompressFormat.JPEG, 90, now); 
    ////  Log.d("ARRAY", "" + now.toByteArray()); 
    // byte[] B = stream.toByteArray(); 

    //  return stream.toByteArray(); 

//} 





    public void onSnapshotReady (Bitmap bitmap) { 
     Date now = new Date(); 
     android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now); 
     Log.d("DOulefko","test"); 
     try { 
      // image naming and path to include sd card appending name you choose for file 
      String mPath = Environment.getExternalStorageDirectory().toString() + "/" + now + ".jpg"; 

      // create bitmap screen capture 
      View v1 = getWindow().getDecorView().getRootView(); 

      v1.setDrawingCacheEnabled(true); 
     bitmap = Bitmap.createBitmap(v1.getDrawingCache()); 
      v1.setDrawingCacheEnabled(false); 

      File imageFile = new File(mPath); 

      FileOutputStream outputStream = new FileOutputStream(imageFile); 
      int quality = 100; 
      bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream); 
      outputStream.flush(); 
      outputStream.close(); 

     } catch (Throwable e) { 
      // Several error may come out with file handling or OOM 
      e.printStackTrace(); 
     } 
    } 
    private void openScreenshot(File imageFile) { 
     Intent intent = new Intent(); 
     intent.setAction(Intent.ACTION_VIEW); 
     Uri uri = Uri.fromFile(imageFile); 
     intent.setDataAndType(uri, "image/*"); 
     startActivity(intent); 
    } 
} 
sollte

Mein logcat (ohne die gesamte base64)

11-15 11: 46: 25,565 19.702-19.702/com.example.apostolis.gpsapi15 I/art: Late-Enabling -Xcheck: jni 11-15 11: 46: 25.597 19702-19702/com.beispiel.apostolis.gpsapi15 W/System: ClassLoader referenzierter unbekannter Pfad: /data/app/com.example .apostolis.gpsapi15-1/lib/arm64 11-15 11: 46: 25.600 19702-19702/com.beispiel.apostolis.gpsapi15 I/MultiDex: VM mit Version 2.1.0 hat multi dex support 11-15 11: 46: 25.600 19702-19702/com.beispiel.apostolis.gpsapi15 I/MultiDex: install 11-15 11: 46: 25.600 19702-19702/com.beispiel.apostolis.gpsapi15 I/MultiDex : VM hat Multidex-Unterstützung, MultiDex-Support-Bibliothek ist deaktiviert. 11-15 11: 46: 25.603 19702-19702/com.beispiel.apostolis.gpsapi15 I/FirebaseInitProvider: Initialisierung der FirebaseApp fehlgeschlagen 11-15 11: 46: 25.616 19702-19702/com.example.apostolis.gpsapi15 W/Kunst: Vor Android 4.1, Methode android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter (android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff $ Mode) hätte die package-private-Methode in android.graphics.drawable.Drawable 11-15 11: 46: 25.622 19702-19702/com.example.apostolis.gpsapi15 D/PhoneWindow falsch: state.preset = false, color : 0, durchscheinend = 0 11-15 11: 46: 2 5.622 19702-19702/com.beispiel.apostolis.gpsapi15 D/PhoneWindow: state.preset = false, Farbe: 0, transluzent = 0 11-15 11: 46: 25.622 19702-19702/com.example.apostolis.gpsapi15 D/PhoneWindow: state.preset = false, Farbe: 0, transluzent = 0 11-15 11: 46: 25.624 19702-19702/com.beispiel.apostolis.gpsapi15 D/PhoneWindow: state.preset = false, Farbe: - 16777216, transluzent = 0 11-15 11: 46: 25.629 19702-19702/com.beispiel.apostolis.gpsapi15 V/BoostFramework: mAcquireFunc Methode = public int com.qualcomm.qti.Performance.perfLockAcquire (int, int []) 11-15 11: 46: 25.630 19702-19702/com.beispiel.apostolis.gpsapi15 V/BoostFramework: mReleaseFunc methode = public int com.qualcomm.qti.Performance.perfLockRelease() 11-15 11:46: 25.630 19702-19702/com.beispiel.apostolis.gpsapi15 V/BoostFramework: mAcquireTouchFunc Methode = public int com.qualcomm.qti.Performance.perfLockAcquireTouch (android.view.MotionEvent, android.util.DisplayMetrics, int, int []) 11-15 11: 46: 25.630 19702-19702/com.beispiel.apostolis.gpsapi15 V/BoostFramework: mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart (int, java.lang.String) November 11-15: 46: 19.702 bis 19.702 25,630/com.example.apostolis.gpsapi15 V/BoostFramework: mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop(), November 11-15: 46: 25,632 19702-19702/com.beispiel.apostolis.gpsapi15 V/BoostFramework: BoostFramework(): mPerf = [email protected] 11-15 11: 46: 25.632 19702-19702/com.beispiel.apostolis.gpsapi15 V/BoostFramework: BoostFramework (): mPerf = [email protected] 11-15 11: 46: 25.655 19702-19702/com.beispiel.apostolis.gpsapi15 D/AppTracker: App Ereignis: start 11-15 11:46: 25.662 19702-19717/com.example.apostolis.gpsapi15 D/OpenGLRenderer: Verwenden Sie EGL_SWAP_BEHAVIOR_PRESERVED: true 11-15 11: 46: 25.667 19702-19702/com.beispiel.apostolis.gpsapi15 D/AppTracker: App Ereignis: Stopp 11-15 11: 46: 25.684 19702-19702/com.beispiel.apostolis.gpsapi15 D/PhoneWindow: state.preset = true, co lor: -16777216, transluzent = 0 11-15 11: 46: 25,708 19702-19717/com.beispiel.apostolis.gpsapi15 I/Adreno: QUALCOMM build
: 19f8f74, Iac38d51750 Erstellungsdatum: 06.06.16 OpenGL ES Shader-Compiler Version: XE031.07.00.01 Lokale Niederlassung: case2489916_Unmap_crash Fern Branche: Fern Branche: Reconstruct Branche: 11-15 11: 46: 25,712 19.702-19.717/com.example.apostolis.gpsapi15 I/OpenGLRenderer : Initialisierte EGL, Version 1.4 11-15 11: 46: 25.721 19702-19702/com.beispiel.apostolis.gpsapi15 D/AbstractTracker: Ereignis Erfolg 11-15 11: 46: 25.725 19702-19702/com.beispiel.apostolis.gpsapi15 D/AbstractTracker: Ereigniserfolg 11-15 11: 46: 25.740 19702-19717/com.example.apostolis.gpsapi15 E/HAL: load: gralloc.msm8996.so 11-15 11: 46: 37,663 19702-19702/com.beispiel.apostolis.gpsapi15 D/AppTracker: App Ereignis: Start 11-15 11: 46: 37.705 19702-19702 /com.example.apostolis.gpsapi15 D/AbstractTracker: Event Erfolg November 11-15: 46: 38,715 19.702-19.702/com.example.apostolis.gpsapi15 D/Location: requestLocationUpdates Hörer = com.example.apostolis. [email protected] packageName = com.beispiel.apostolis.gpsapi15 11-15 11: 46: 38.718 19702-19702/com.beispiel.a postolis.gpsapi15 D/Netzwerk: Netzwerk 11-15 11: 46: 38.735 19702-19702/com.beispiel.apostolis.gpsapi15 D/AppTracker: App Ereignis: stop 11-15 11: 46: 38.749 19702-19702/com.example.apostolis.gpsapi15 D/PhoneWindow: state.preset = false, Farbe: 0, durchscheinend = 0 11-15 11: 46: 38.749 19702-19702/com.example.apostolis.gpsapi15 D/PhoneWindow: state. Voreinstellung = false, Farbe: 0, transluzent = 0 11-15 11: 46: 38.749 19702-19702/com.beispiel.apostolis.gpsapi15 D/PhoneWindow: state.preset = false, Farbe: 0, transluzent = 0 11 -15 11: 46: 38.750 19702-19702/com.beispiel.apostolis.gpsapi15 D/PhoneWindow: state.preset = false, Farbe: -16777216, transluzent = 0 11-15 11: 46: 38.757 19702-19702/com .example.apostolis.gpsapi15 I/zzai: Erstellen des Creators dynamisch 11-15 11: 4 6: 38.797 19702-19702/com.beispiel.apostolis.gpsapi15 W/System: ClassLoader verwiesen unbekannter Pfad: /data/user/0/com.google.android.gms/app_chimera/m/0000000e/n/arm64 -v8a 11-15 11: 46: 38.818 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückte StrictMode-Richtlinienverletzung: StrictModeDiskReadViolation 11-15 11: 46: 38.822 19702-19702/com.example. apostolis.gpsapi15 I/Google Maps Android-API: Google Play-Dienste Clientversion: 9877000 11-15 11: 46: 38,826 19702-19702/com.beispiel.apostolis.gpsapi15 I/Google Maps Android-API: Google Play-Servicepaket Version: 10084448 11-15 11: 46: 38.832 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: StrictModeDiskReadViolation 11-15 11: 46: 38,846 19.702-19.702/com.example.apostolis.gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: StrictModeDiskReadViolation 11-15 11.46 : 38.857 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskReadViolation 11-15 11: 46: 38,880 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückt StrictMode Richtlinienverletzung: StrictModeDiskReadViolation November 11-15: 46: 38,891 19.702-19.702/com.example.apostolis.gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: StrictModeDiskReadViolation November 11-15: 46: 38,911 19.702-1 9702/com.example.apostolis.gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskReadViolation 11-15 11: 46: 38.925 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskReadViolation November 11-15: 46: 38,939 19.702-19.702/com.example.apostolis.gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: StrictModeDiskReadViolation November 11-15: 46: 38,939 19.702-19.702/com.example.apostolis .gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskWriteViolation 11-15 11: 46: 38.960 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskReadViolation 11-15 11:46 : 38.989 19702-19702 /com.example.apostolis.gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskReadViolation 11-15 11: 46: 38.989 19702-19702/com.example.apostolis.gpsapi15 I/c: Token geladen von Datei. Läuft ab in: 430122644 ms. 11-15 11: 46: 38.989 19702-19702/com.beispiel.apostolis.gpsapi15 I/c: Planung nächste Versuch in 429822 Sekunden. 11-15 11: 46: 39.018 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückt StrictMode Richtlinienverstoß: StrictModeDiskWriteViolation 11-15 11: 46: 39.019 19702-19702/com.example.apostolis. gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: StrictModeDiskWriteViolation 11-15 11: 46: 39,032 19.702-19.924/com.example.apostolis.gpsapi15 I/DpmTcmClient: RegisterTcmMonitor aus: 11-15 com.android.okhttp.TcmIdleTimerMonitor 11: 46: 39.073 19702-191954/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückte StrictMode-Richtlinienverletzung: StrictModeDiskReadViolation 11-15 11: 46: 39.074 19702-19702/com.example.apostolis.gpsapi15 W/f: Unterdrückte StrictMode-Richtlinienverletzung: StrictModeDiskReadViolat ion November 11-15: 46: 19.702 bis 19.702 39,075/com.example.apostolis.gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: StrictModeDiskWriteViolation November 11-15: 46: 19.702 bis 19.702 39,083/com.example.apostolis .gpsapi15 D/AppTracker: App Ereignis: Start 11-15 11: 46: 39.090 19702-19702/com.beispiel.apostolis.gpsapi15 D/PhoneWindow: state.preset = true, Farbe: -16777216, transluzent = 0 11-15 11: 46: 39.122 19702-19702/com.beispiel.apostolis.gpsapi15 D/AbstractTracker: Ereignis Erfolg 11-15 11: 46: 39.137 19702-19702/com.beispiel.apostolis.gpsapi15 D/LocationManager: requestLocationUpdates listener = [email protected] packageName = com.beispiel.apostolis.gpsapi15 11-15 11:46:39 .140 19702-19702/com.beispiel.apostolis.gpsapi15 D/Netzwerk: Netzwerk 11-15 11: 46: 39.182 19702-19702/com.beispiel.apostolis.gpsapi15 D/AbstractTracker: Ereigniserfolg 11-15 11 : 46: 39.195 19702-19717/com.beispiel.apostolis.gpsapi15 D/OpenGLRenderer: endAllStagingAnimators auf 0x7fa01fdc00 (RippleDrawable) mit Griff 0x7f9b7feb80 11-15 11: 46: 39,942 19.702-19.973/com.example.apostolis.gpsapi15 W/f: Suppressed StrictMode Richtlinienverletzung: 11-15 StrictModeDiskReadViolation 11: 46: 40.120 19702-19702/com.beispiel.apostolis.gpsapi15 W/f: Unterdrückt StrictMode Richtlinienverstoß: StrictModeDiskReadViolation 11-15 11: 46: 40.121 19702-19702/com.example.apostolis.gpsapi15 W/f: Unterdrückte StrictMode Richtlinienverstoß: StrictModeDiskWriteViolation 11-15 11: 46: 41.098 19702-19956/com.example.apostolis.gpsapi15 W/DynamiteModule: Local Modul Deskriptorklasse für com.google.android.gms.googlecertificates nicht gefunden. 11-15 11: 46: 41.115 19702-19956/com.beispiel.apostolis.gpsapi15 I/DynamiteModule: Betrachtet lokale Modul com.google.android.gms.googlecertificates: 0 und Remote-Modul com.google.android.gms .googlecertificates: 2 11-15 11: 46: 41.115 19702-191956/com.beispiel.apostolis.gpsapi15 I/DynamiteModule: Ausgewählte Remote-Version von com.google.android.gms.googlezertifikate, Version> = 2 11- 15 11: 46: 41,117 19.702-19.956/com.example.apostolis.gpsapi15 E/DynamiteModule: Fehler DynamiteLoader laden: java.lang.ClassNotFoundException: nicht Klasse „com.google.android.gms finden. dynamite.DynamiteModule $ DynamiteLoaderClassLoader " auf Pfad: DexPathList [[ZIP-Datei "/data/app/com.example.apostolis.gpsapi15-1/base.apk"],nativeLibraryDirectories=[/data/app/com.example.apostolis.gpsapi15-1/lib/arm64, /vendor/lib64 ,/system/lib64]] 11-15 11: 46: 41.117 19702-19956/com.beispiel.apostolis.gpsapi15 W/DynamiteModule: Fehler beim Laden des Remote-Moduls : Modulkontext konnte nicht abgerufen werden 11-15 11:46: 41.118 19702-19956/com.example.apostolis.gpsapi15 W/DynamiteModule: Fehler beim Laden des Moduls über schnelle Route: : Remote Load fehlgeschlagen. Kein lokaler Fallback gefunden. 11-15 11: 46: 41.119 19702-19956/com.example.apostolis.gpsapi15 W/DynamiteModule: Lokale Modul-Deskriptorklasse für com.google.android.gms.googlecertificates nicht gefunden. 11-15 11: 46: 41.124 19702-19956/com.beispiel.apostolis.gpsapi15 I/DynamiteModule: Betrachtet lokale Modul com.google.android.gms.googlecertificates: 0 und Remote-Modul com.google.android. gms.googlecertificates: 2 11-15 11: 46: 41.125 19702-19956/com.example.apostolis.gpsapi15 I/DynamiteModule: Ausgewählt Remoteversion von com.google.android.gms.googlezertifikate, Version = 2 11- 15 11: 46: 49.625 19702-19702/com.beispiel.apostolis.gpsapi15 I/System.out: 34.69429310156397 --- 33.01508009433746 11-15 11: 46: 50.316 19702-19702/com.beispiel.apostolis.gpsapi15 D/Var: OUT :: [email protected] 11-15 11: 46: 50.316 19702-19702/com.beispiel.apostolis.gpsapi15 D/ImageFile: /Lagerung/emuliert/0/Di 15. November 11:46:50 GMT + 02: 00 2016.jpg 11-15 11: 46: 50.317 19702-19702/com.beispiel.apostolis.gpsapi15 D/mPfad: /Speicher/emuliert/0/Di 15. November 11:46:50 GMT + 02: 00 2016.jpg 11-15 11: 46: 50.771 19702-19702/com.beispiel.apostolis.gpsapi15 I/System.out: byte Array: [B @ 4772d89 11-15 11: 46: 50,772 19702-19702/com.beispiel.apostolis.gpsapi15 D/Feld: [B @ 4772d89 11-15 11: 46: 50.776 19702-19702/com.example .apostolis.gpsapi15 D/array_Str: iVBORw0KGgoAAAANSUhEUgAABDgAAAc4CAYAAADd + HYSAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJzs3

+0

Was ist also die Frage oder das Problem? –

+0

Ich kann das Bytearray nicht bekommen. Ich weiß nicht, ob ich falsch mache. Oder wenn ich etwas falsch mache, können Sie es mir erklären – Satanshaves

+0

'Ich kann nicht verstehen, was ich falsch mache. Du hast nicht erklärt, was dein Code tun müsste. Zuerst sollten Sie erklären, was Sie genau machen wollen. Dann poste den Code. Erwarte nicht, dass wir deinen Code durchforsten, um herauszufinden, was passieren soll. – greenapps

Antwort

0

Sie können mit Hilfe der folgenden Funktion ein byte[] von Ihrem File-Objekt erstellen.

byte[] fullyReadFileToBytes(File f) throws IOException { 
     int size = (int) f.length(); 
     byte bytes[] = new byte[size]; 
     byte tmpBuff[] = new byte[size]; 
     FileInputStream fis= new FileInputStream(f);; 
     try { 
      int read = fis.read(bytes, 0, size); 
      if (read < size) { 
       int remain = size - read; 
       while (remain > 0) { 
        read = fis.read(tmpBuff, 0, remain); 
        System.arraycopy(tmpBuff, 0, bytes, size - remain, read); 
        remain -= read; 
       } 
      } 
     } catch (IOException e){ 
      throw e; 
     } finally { 
      fis.close(); 
     } 

     return bytes; 
    } 

Nach bitmap.compress Aufruf, den Stream schließen und die imageFile Objekt auf das obige Verfahren passieren wie:

byte[] byteArray = fullyReadFileToBytes(imageFile); 
Log.d("Activity", "Byte array: "+ Arrays.toString(byteArray));`