2014-10-07 2 views
0

이미지를 하나씩 android app으로 가져 와서 텍스트보기에 그림 수를 저장합니다. 여기에 동일한 이미지가 다시 안드로이드 애플 리케이션에 가져온 경우 Textview의 개수를 늘리고 싶지 않아, 어떻게 처리 할 수 ​​있습니까?android에서 갤러리에서 가져 오는 중복 이미지를 찾는 방법

public class GetImageActivity extends Activity { 

    private static final int SELECT_PICTURE = 1; 

    private String selectedImagePath; 
    private ImageView img; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     img = (ImageView)findViewById(R.id.ImageView01); 

     ((Button) findViewById(R.id.Button01)) 
       .setOnClickListener(new OnClickListener() { 
        public void onClick(View arg0) { 
         Intent intent = new Intent(); 
         intent.setType("image/*"); 
         intent.setAction(Intent.ACTION_GET_CONTENT); 
         startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE); 
        } 
       }); 
    } 

    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == RESULT_OK) { 
      if (requestCode == SELECT_PICTURE) { 
       Uri selectedImageUri = data.getData(); 
       selectedImagePath = getPath(selectedImageUri); 
       System.out.println("Image Path : " + selectedImagePath); 
       img.setImageURI(selectedImageUri); 
      } 
     } 
    } 

    public String getPath(Uri uri) { 
     String[] projection = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = managedQuery(uri, projection, null, null, null); 
     int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 
} 
+0

어디에서 가져 오기? 어떤 형식으로? 파일 시스템이나 인터넷에서? – divyenduz

+1

코드를 게시 할 수 있다면 도움이 될 것입니다. – divyenduz

+0

갤러리에서 가져 오는 중 .. – Prabha1

답변

0

이미지의 URI를 가져와야합니다. URI의 HashSet를 유지합니다. HashSet은 중복 된 것을 제거합니다.

텍스트보기에서는 HashSet의 크기 만 표시 할 수 있습니다.이 크기는 항상 고유 한 이미지 수를 나타냅니다.

PS : md5도 해결책이지만 사용 사례는 너무 느립니다. 동일한 이미지가 다른 URI (저장 장치의 다른 위치에 동일한 이미지가 배치 됨)와 함께 제공되는 경우이를 고유하게 만들려면 md5로 이동해야 할 수 있습니다.

+0

안녕하세요 Aman, 기기의 모든 중복 이미지를 가져와야합니다. 보여 gridview 내 요구 사항은 수동으로 중복 imgs를 삭제하는 것입니다, 만약 내가 있다면 솔루션을주십시오. –

0

두 개의 이미지가 그들의 체크섬 값도 동일합니다 동일한 경우 MD5 체크섬 를 사용하여 작업을 수행 할 수 있습니다.

관련 문제