如何在此代码中修复有关导入的错误?

时间:2014-04-28 14:28:53

标签: android import

我有这个代码来压缩图片,但我有三个关于导入的错误,我在代码中显示哪些导入是错误

  1. 导入android.provider.MediaStore.Images.Media与另一个导入语句冲突

  2. 导入android.provider.MediaStore.Video.Media与另一个导入语句冲突

  3. 导入android.view.View.OnClickListener与另一个导入语句冲突

  4. 我该如何修理它们?

    package com.example.resizingimages;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.content.ContentResolver;
    import android.content.ContentUris;
    import android.content.ContentValues;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.content.Intent;
    import android.content.res.Resources;
    import android.database.Cursor;
    import android.graphics.Bitmap;
    import android.graphics.Bitmap.Config;
    import android.graphics.BitmapFactory;
    import android.graphics.BitmapFactory.Options;
    import android.graphics.Matrix;
    import android.media.ExifInterface;
    import android.media.MediaScannerConnection;
    import android.media.MediaScannerConnection.MediaScannerConnectionClient;
    import android.media.MediaScannerConnection.OnScanCompletedListener;
    import android.net.Uri;
    import android.os.Build;
    import android.os.Build.VERSION;
    import android.os.Bundle;
    import android.os.Environment;
    import android.provider.DocumentsContract;
    import android.provider.MediaStore;
    import android.provider.MediaStore.Audio.Media;
    //first error is here : import android.provider.MediaStore.Images.Media;
    //second error is here : import android.provider.MediaStore.Video.Media;
    import android.util.Log;
    import android.view.Display;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.view.View;
    //third error is here : import android.view.View.OnClickListener;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.AbsoluteLayout;
    import android.widget.AbsoluteLayout.LayoutParams;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.Spinner;
    import android.widget.TextView;
    import android.widget.Toast;
    import java.io.File;
    import java.io.InputStream;
    import java.io.PrintStream;
    
    public class GetImageActivity extends Activity
      implements MediaScannerConnection.MediaScannerConnectionClient, DialogInterface
    {
      private static final int CAMERA_REQUEST = 1800;
      private static final int GALLERY_KITKAT_INTENT_CALLED = 1500;
      private static final int SELECT_PICTURE = 1;
      static String filePath;
      private TextView Name;
      private TextView Size;
      MediaScannerConnection conn;
      File file;
      private String filename;
      private int height;
      Uri imageUri;
      private ImageView img;
      private Uri outputFileUri;
      Uri outputFileUri1;
      String path1;
      private String path2;
      private Bitmap picture;
      private File root;
      File sdImageMainDirectory;
      private Uri selectedImageUri;
      private int width;
    
      private void cameraaa(String paramString, Uri paramUri)
      {
        while (true)
        {
          try
          {
            InputStream localInputStream = getContentResolver().openInputStream(paramUri);
            BitmapFactory.Options localOptions = new BitmapFactory.Options();
            localOptions.inSampleSize = 2;
            localOptions.inPurgeable = true;
            byte[] arrayOfByte = new byte[1024];
            localOptions.inPreferredConfig = Bitmap.Config.RGB_565;
            localOptions.inTempStorage = arrayOfByte;
            this.picture = BitmapFactory.decodeStream(localInputStream, null, localOptions);
            switch (new ExifInterface(paramString).getAttributeInt("Orientation", 1))
            {
            case 4:
            case 5:
            default:
              this.img.setImageBitmap(this.picture);
              String str = sizee(paramUri);
              Toast.makeText(getApplicationContext(), "Size of Image " + str, 0).show();
              System.out.println("Image Path : " + paramString);
              return;
            case 6:
              rotateImage(this.picture, 90);
              continue;
            case 3:
            }
          }
          catch (Exception localException)
          {
            Toast.makeText(getApplicationContext(), "Error " + localException.getMessage(), 0).show();
            return;
          }
          rotateImage(this.picture, 180);
        }
      }
    
      public static String getDataColumn(Context paramContext, Uri paramUri, String paramString, String[] paramArrayOfString)
      {
        Cursor localCursor = null;
        String[] arrayOfString = { "_data" };
        try
        {
          localCursor = paramContext.getContentResolver().query(paramUri, arrayOfString, paramString, paramArrayOfString, null);
          if ((localCursor != null) && (localCursor.moveToFirst()))
          {
            String str = localCursor.getString(localCursor.getColumnIndexOrThrow("_data"));
            return str;
          }
        }
        finally
        {
          if (localCursor != null)
            localCursor.close();
        }
        if (localCursor != null)
          localCursor.close();
        return null;
      }
    
      public static String getPathl(Context paramContext, Uri paramUri)
      {
        int i;
        if (Build.VERSION.SDK_INT >= 19)
          i = 1;
        while ((i != 0) && (DocumentsContract.isDocumentUri(paramContext, paramUri)))
          if (isExternalStorageDocument(paramUri))
          {
            String[] arrayOfString3 = DocumentsContract.getDocumentId(paramUri).split(":");
            if (!"primary".equalsIgnoreCase(arrayOfString3[0]))
              break label271;
            return Environment.getExternalStorageDirectory() + "/" + arrayOfString3[1];
            i = 0;
          }
          else
          {
            if (isDownloadsDocument(paramUri))
            {
              String str2 = DocumentsContract.getDocumentId(paramUri);
              return getDataColumn(paramContext, ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(str2).longValue()), null, null);
            }
            if (!isMediaDocument(paramUri))
              break label271;
            String[] arrayOfString1 = DocumentsContract.getDocumentId(paramUri).split(":");
            String str1 = arrayOfString1[0];
            Uri localUri;
            if ("image".equals(str1))
              localUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
            while (true)
            {
              String[] arrayOfString2 = new String[1];
              arrayOfString2[0] = arrayOfString1[1];
              return getDataColumn(paramContext, localUri, "_id=?", arrayOfString2);
              if ("video".equals(str1))
              {
                localUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
              }
              else
              {
                boolean bool = "audio".equals(str1);
                localUri = null;
                if (bool)
                  localUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
              }
            }
          }
        if ("content".equalsIgnoreCase(paramUri.getScheme()))
          return getDataColumn(paramContext, paramUri, null, null);
        if ("file".equalsIgnoreCase(paramUri.getScheme()))
          return paramUri.getPath();
        label271: return filePath;
      }
    
      public static boolean isDownloadsDocument(Uri paramUri)
      {
        return "com.android.providers.downloads.documents".equals(paramUri.getAuthority());
      }
    
      public static boolean isExternalStorageDocument(Uri paramUri)
      {
        return "com.android.externalstorage.documents".equals(paramUri.getAuthority());
      }
    
      public static boolean isMediaDocument(Uri paramUri)
      {
        return "com.android.providers.media.documents".equals(paramUri.getAuthority());
      }
    
      private void openAddPhoto()
      {
        String[] arrayOfString = { "Camera", "Gallery" };
        AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
        localBuilder.setTitle(getResources().getString(2130968578));
        localBuilder.setItems(arrayOfString, new DialogInterface.OnClickListener()
        {
          public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt)
          {
            if (paramAnonymousInt == 0)
            {
              ContentValues localContentValues = new ContentValues();
              localContentValues.put("title", "new-photo-name.jpg");
              localContentValues.put("description", "Image capture by camera");
              GetImageActivity.this.imageUri = GetImageActivity.this.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, localContentValues);
              Intent localIntent1 = new Intent("android.media.action.IMAGE_CAPTURE");
              localIntent1.putExtra("output", GetImageActivity.this.imageUri);
              GetImageActivity.this.startActivityForResult(localIntent1, 1800);
            }
            if (paramAnonymousInt == 1)
            {
              if (Build.VERSION.SDK_INT < 19)
              {
                Intent localIntent2 = new Intent();
                localIntent2.setType("image/*");
                localIntent2.setAction("android.intent.action.GET_CONTENT");
                GetImageActivity.this.startActivityForResult(Intent.createChooser(localIntent2, "Select Picture"), 1);
              }
            }
            else
              return;
            Intent localIntent3 = new Intent("android.intent.action.PICK", MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            GetImageActivity.this.startActivityForResult(Intent.createChooser(localIntent3, "Select Picture"), 1500);
          }
        });
        localBuilder.setNeutralButton("cancel", new DialogInterface.OnClickListener()
        {
          public void onClick(DialogInterface paramAnonymousDialogInterface, int paramAnonymousInt)
          {
            paramAnonymousDialogInterface.dismiss();
          }
        });
        localBuilder.show();
      }
    
      private void startScan()
      {
        if (this.conn != null)
          this.conn.disconnect();
        this.conn = new MediaScannerConnection(this, this);
        this.conn.connect();
      }
    
      public void cancel()
      {
      }
    
      public void dismiss()
      {
      }
    
      public String getPath(Uri paramUri)
      {
        Cursor localCursor = managedQuery(paramUri, new String[] { "_data" }, null, null, null);
        String str = null;
        if (localCursor != null)
        {
          int i = localCursor.getColumnIndexOrThrow("_data");
          localCursor.moveToFirst();
          str = localCursor.getString(i);
        }
        return str;
      }
    
      public String name(String paramString)
      {
        int i = 0;
        for (int j = 0; ; j++)
        {
          if (j >= paramString.length())
          {
            this.filename = filePath.substring(i + 1, paramString.length());
            return this.filename;
          }
          if (paramString.charAt(j) == '/')
            i = j;
        }
      }
    
      public void onActivityResult(int paramInt1, int paramInt2, Intent paramIntent)
      {
        if (paramInt2 == -1)
        {
          if (paramInt1 == 1)
            while (true)
            {
              try
              {
                this.selectedImageUri = paramIntent.getData();
                Toast.makeText(getApplicationContext(), "DATA " + filePath, 0).show();
                filePath = getPath(this.selectedImageUri);
                InputStream localInputStream2 = getContentResolver().openInputStream(this.selectedImageUri);
                BitmapFactory.Options localOptions2 = new BitmapFactory.Options();
                localOptions2.inSampleSize = 2;
                localOptions2.inPurgeable = true;
                byte[] arrayOfByte2 = new byte[1024];
                localOptions2.inPreferredConfig = Bitmap.Config.RGB_565;
                localOptions2.inTempStorage = arrayOfByte2;
                this.picture = BitmapFactory.decodeStream(localInputStream2, null, localOptions2);
                switch (new ExifInterface(filePath).getAttributeInt("Orientation", 1))
                {
                case 4:
                case 5:
                default:
                  this.img.setImageBitmap(this.picture);
                  String str4 = sizee(this.selectedImageUri);
                  Toast.makeText(getApplicationContext(), "Size of Image " + str4, 0).show();
                  return;
                case 6:
                  rotateImage(this.picture, 90);
                  continue;
                case 3:
                }
              }
              catch (Exception localException3)
              {
                Toast.makeText(getApplicationContext(), "Error " + localException3.getMessage(), 0).show();
                return;
              }
              rotateImage(this.picture, 180);
            }
          if (paramInt1 == 1500)
            while (true)
            {
              try
              {
                this.selectedImageUri = paramIntent.getData();
                getPathl(getApplicationContext(), this.selectedImageUri);
                getContentResolver();
                filePath = getPathl(getApplicationContext(), this.selectedImageUri);
                InputStream localInputStream1 = getContentResolver().openInputStream(this.selectedImageUri);
                BitmapFactory.Options localOptions1 = new BitmapFactory.Options();
                localOptions1.inSampleSize = 2;
                localOptions1.inPurgeable = true;
                byte[] arrayOfByte1 = new byte[1024];
                localOptions1.inPreferredConfig = Bitmap.Config.RGB_565;
                localOptions1.inTempStorage = arrayOfByte1;
                this.picture = BitmapFactory.decodeStream(localInputStream1, null, localOptions1);
                switch (new ExifInterface(filePath).getAttributeInt("Orientation", 1))
                {
                case 4:
                case 5:
                default:
                  this.img.setImageBitmap(this.picture);
                  String str3 = sizee(this.selectedImageUri);
                  Toast.makeText(getApplicationContext(), "Size of Image " + str3, 0).show();
                  return;
                case 6:
                case 3:
                }
              }
              catch (Exception localException2)
              {
                Toast.makeText(getApplicationContext(), "Error " + localException2.getMessage(), 0).show();
                return;
              }
              rotateImage(this.picture, 90);
              continue;
              rotateImage(this.picture, 180);
            }
          if (paramInt1 == 1800)
          {
            filePath = null;
            this.selectedImageUri = this.imageUri;
            if (this.selectedImageUri != null)
              while (true)
              {
                String str1;
                try
                {
                  str1 = this.selectedImageUri.getPath();
                  String str2 = getPath(this.selectedImageUri);
                  if (str2 != null)
                  {
                    filePath = str2;
                    if (filePath == null)
                      break;
                    Toast.makeText(getApplicationContext(), " path" + filePath, 1).show();
                    new Intent(getApplicationContext(), GetImageActivity.class);
                    cameraaa(filePath, this.selectedImageUri);
                    return;
                  }
                }
                catch (Exception localException1)
                {
                  Toast.makeText(getApplicationContext(), "Internal error", 1).show();
                  Log.e(localException1.getClass().getName(), localException1.getMessage(), localException1);
                  return;
                }
                if (str1 != null)
                {
                  filePath = str1;
                }
                else
                {
                  Toast.makeText(getApplicationContext(), "Unknown path", 1).show();
                  Log.e("Bitmap", "Unknown path");
                }
              }
          }
        }
      }
    
      public void onCreate(Bundle paramBundle)
      {
        super.onCreate(paramBundle);
        requestWindowFeature(1);
        getWindow().setFlags(1024, 1024);
        setContentView(2130903040);
        Display localDisplay = getWindowManager().getDefaultDisplay();
        this.width = localDisplay.getWidth();
        this.height = localDisplay.getHeight();
        final Button localButton = (Button)findViewById(2131296257);
        final Spinner localSpinner = (Spinner)findViewById(2131296260);
        final TextView localTextView = (TextView)findViewById(2131296259);
        localButton.setVisibility(4);
        localSpinner.setVisibility(4);
        localTextView.setVisibility(4);
        if (this.height <= 480)
        {
          localSpinner.setLayoutParams(new AbsoluteLayout.LayoutParams(-1, -2, 0, 20 + (this.height - this.height / 3)));
          localTextView.setLayoutParams(new AbsoluteLayout.LayoutParams(this.width, 60, 0, -20 + (this.height - this.height / 3)));
          localTextView.setText("Image Quality");
          localTextView.setText("Image Quality");
          this.img = ((ImageView)findViewById(2131296258));
          this.img.setBackgroundResource(2130837504);
          this.height=-160;
          this.height=-160;
          this.width=(int) (0.8D * this.width);
          AbsoluteLayout.LayoutParams localLayoutParams1 = new AbsoluteLayout.LayoutParams((int)(0.8D * this.width), (int)(0.5D * this.height), (int)(this.width - 0.9D * this.width), (int)(this.height - 0.9D * this.height));
          this.img.setLayoutParams(localLayoutParams1);
          ImageView localImageView = this.img;
          View.OnClickListener local1 = new View.OnClickListener()
          {
            public void onClick(View paramAnonymousView)
            {
              GetImageActivity.this.img.setImageDrawable(null);
              GetImageActivity.this.img.setBackgroundResource(2130837504);
              localButton.setVisibility(0);
              localSpinner.setVisibility(0);
              localTextView.setVisibility(0);
              GetImageActivity.this.openAddPhoto();
            }
          };
          localImageView.setOnClickListener(local1);
          if (this.height > 480)
            break label505;
          localButton.setBackgroundResource(2130837507);
          this.height=-160;
        }
        for (AbsoluteLayout.LayoutParams localLayoutParams2 = new AbsoluteLayout.LayoutParams(50, 50, -25 + this.width / 2, -51 + this.height); ; localLayoutParams2 = new AbsoluteLayout.LayoutParams(170, 170, -85 + this.width / 2, -170 + this.height))
        {
          localButton.setLayoutParams(localLayoutParams2);
          View.OnClickListener local2 = new View.OnClickListener()
          {
    
            public void onClick(View paramAnonymousView)
            {
    
            }
          };
          localButton.setOnClickListener(local2);
          return;
          localSpinner.setLayoutParams(new AbsoluteLayout.LayoutParams(-1, -2, 0, 30 + (this.height - this.height / 3)));
          localTextView.setLayoutParams(new AbsoluteLayout.LayoutParams(this.width, 60, 0, -10 + (this.height - this.height / 3)));
          break;
          label505: localButton.setBackgroundResource(2130837506);
          this.height=-160;
        }
      }
    
      public boolean onCreateOptionsMenu(Menu paramMenu)
      {
        getMenuInflater().inflate(2131230720, paramMenu);
        return true;
      }
    
      public void onMediaScannerConnected()
      {
        try
        {
          this.conn.scanFile(filePath, "image/*");
          return;
        }
        catch (IllegalStateException localIllegalStateException)
        {
        }
      }
    
      public boolean onOptionsItemSelected(MenuItem paramMenuItem)
      {
        if (paramMenuItem.getItemId() == 2131296262)
          shareagain();
        while (true)
        {
          return true;
          if (paramMenuItem.getItemId() == 2131296263)
            try
            {
              startActivity(new Intent(this, readddme.class));
            }
            catch (Exception localException)
            {
              Toast.makeText(getApplicationContext(), "Error " + localException.getMessage(), 0).show();
            }
          else if (paramMenuItem.getItemId() == 2131296264)
            System.exit(0);
        }
      }
    
      public void onScanCompleted(String paramString, Uri paramUri)
      {
        this.conn.disconnect();
      }
    
      public void rotateImage(Bitmap paramBitmap, int paramInt)
      {
        Matrix localMatrix = new Matrix();
        localMatrix.setRotate(paramInt);
        this.picture = Bitmap.createBitmap(paramBitmap, 0, 0, paramBitmap.getWidth(), paramBitmap.getHeight(), localMatrix, true);
      }
    
      public void share()
      {
        Intent localIntent = new Intent("android.intent.action.SEND");
        localIntent.setType("text/plain");
        localIntent.putExtra("android.intent.extra.SUBJECT", "#RABIDO");
        localIntent.putExtra("android.intent.extra.TEXT", "#RABIDO");
        localIntent.setType("image/*");
        localIntent.putExtra("android.intent.extra.STREAM", this.selectedImageUri);
        startActivity(Intent.createChooser(localIntent, "Share Image"));
      }
    
      public void shareagain()
      {
        Intent localIntent = new Intent("android.intent.action.SEND");
        localIntent.setType("text/plain");
        localIntent.putExtra("android.intent.extra.TEXT", "Check out 'RABIDO' - https://play.google.com/store/apps/details?id=decrease.image.uploader");
        startActivity(Intent.createChooser(localIntent, "Share via"));
      }
    
      public String sizee(Uri paramUri)
      {
        String localObject;
        try
        {
          InputStream localInputStream = getContentResolver().openInputStream(paramUri);
          byte[] arrayOfByte = new byte[1024];
          int i = 0;
          float f;
          while (true)
          {
            if (localInputStream.read(arrayOfByte) == -1)
            {
              f = i / 1000;
              if (f >= 1000.0F)
                break;
              localObject = " " + i / 1000 + " KB";
              break label164;
            }
            i += arrayOfByte.length;
          }
          String str = " " + f / 1000.0F + " MB";
          localObject = str;
        }
        catch (Exception localException)
        {
          Toast.makeText(getApplicationContext(), "Error 5 " + localException.getMessage(), 0).show();
          return "";
        }
        label164: return localObject;
      }
    }
    

1 个答案:

答案 0 :(得分:1)

1&amp; 2:这些实际上都是同一错误的一方。导入其中一个并使用限定名称(即android.provider.MediaStore.Images.Media)作为另一个,这样当你只是键入Media时,java知道你指的是哪一个。

3:同样的问题和解决方案,你有一个view.onclicklistener和dialoginterface.onclicklistener。导入其中一个或两个并使用全名。