2012-02-10 7 views
0

мы делаем приложение для чата в android 2.3.3. Мы хотим отправить изображения из галереи с одного эмулятора на другой с помощью программирования сокетов. Мы новичок в android и не находим, как это сделать. Любая помощь в этом отношении будет заметна. Заранее спасибоотправка изображений из галереи

+0

поиск может выявить много примеров кода для реализации сокетов: http://stackoverflow.com/questions/5057417/socket-connection-android – WarrenFaith

ответ

0

Получить изображение из галереи, используя выбор действий, как показано ниже:

Intent i = new Intent(Intent.ACTION_PICK, 
       android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(i, ACTIVITY_SELECT_IMAGE); 

это позволит вам начать галерею приложение, чтобы выбрать фотографию: в OnActivityResult вы бы получать УИР фото:

процесс этот URI, чтобы получить массив байтов из этого:

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
    super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

    switch(requestCode) { 
    case REQ_CODE_PICK_IMAGE: 
     if(resultCode == RESULT_OK){ 
      Uri selectedImage = imageReturnedIntent.getData(); 
      String[] filePathColumn = {MediaStore.Images.Media.DATA}; 

      Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String filePath = cursor.getString(columnIndex); 
      cursor.close(); 


      Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath); 

      ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
      bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
      byte[] byteArray = stream.toByteArray(); 

      //Open a Socket Connection to send photo 

      Socket socket=new Socket("ip", portNo); 
      OutputStream os=socket.getOutputStream(); 
      os.write(byteArray); 
      os.flush(); 

      //Read response by getting input stream from socket. 

     } 
    } 
} 
Смежные вопросы