2012-05-09 7 views
0

imgタグに画像を表示したい。 OnActivityResultイベントからdata.getData()によってURI値を取得できます。しかし、私はイメージを送ることができ、imgタグで表示することはできません。誰の助けメートルAndroid:imgタグに画像を表示

Camera.javaてください:

public class Camera extends Activity 
    { 
     private static final int CAMERA_REQUEST = 1888; 
     private String selectedImagePath; 
     WebView webview; 
     String fileName = "capturedImage.jpg"; 
     private static Uri mCapturedImageURI; 

     @Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
       webview=(WebView)findViewById(R.id.webView1); 
     } 

     public void TakePhoto() 
     { 
       ContentValues values = new ContentValues(); 
       values.put(MediaStore.Images.Media.TITLE, fileName); 
       mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
       Intent cameraIntent = new Intent(ACTION_IMAGE_CAPTURE); 
       cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI); 
       startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     }  
     @Override 
     public void onActivityResult(int requestCode, int resultCode, Intent data) 
     { 
      if (resultCode == RESULT_OK) 
       { 
        if (requestCode == CAMERA_REQUEST) 
        { 
        selectedImagePath = getPath(mCapturedImageURI); 
       webview.loadUrl("javascript:ReceivePhoto(\""+selectedImagePath+"\")"); 
        } 
       } 
     } 

     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); 
     } 

    } 

HTML:私のアプリケーションを起動しながら、

function CallBack(resultimage) 
{ 
     myimg.src = resultimage; 
} 

写真活動を取った後&を再ロードされ、それが「デバッグのために待って示しています... "。私は何をしたのですか?誰でも私を助けてくれますか?

+0

私は問題があなたのコードである言わないだろう。確認してください:http://stackoverflow.com/questions/2501450/android-release-version-and-waiting-for-debugger and http://stackoverflow.com/questions/644469/cant-debug-android-applications and http ://stackoverflow.com/questions/4375375/how-to-resolve-waiting-for-debugger-message – Zelimir

答えて

0

解決方法があります。 :-)

public class Camera extends Activity 
{ 
    private static final int CAMERA_REQUEST = 1888; 
    private String selectedImagePath; 
    WebView webview; 
    String fileName = "capturedImage.jpg"; 
    FileOutputStream fo; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
      webview=(WebView)findViewById(R.id.webView1); 
    } 

    public void TakePhoto() 
    { 

      Intent cameraIntent = new Intent(ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
    }  
    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
     if (resultCode == RESULT_OK) 
      { 
       if (requestCode == CAMERA_REQUEST) 
       { 
       Bitmap photo = (Bitmap) data.getExtras().get("data"); 
      ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
      photo.compress(Bitmap.CompressFormat.JPEG, 40, bytes); 
      Random randomGenerator = new Random();randomGenerator.nextInt(100); 
      String newimagename=randomGenerator.toString()+".jpg"; 
      File f = new File(Environment.getExternalStorageDirectory() 
            + File.separator + newimagename); 
      try { 
       f.createNewFile(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      //write the bytes in file 

      try { 
       fo = new FileOutputStream(f.getAbsoluteFile()); 
      } catch (FileNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      try { 
       fo.write(bytes.toByteArray()); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      webview.loadUrl("javascript:ReceivePhoto(\""+f.getAbsolutePath()+"\")"); 
       } 
      } 
    } 

    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); 
    } 

} 

ManifestFile:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
+0

ImageViewでビットマップイメージを設定する場合は、ImageViewを使用します。img =(ImageView)findViewById(R.id .imageView1); img.setImageBitmap(写真); – Ponmalar

+0

誰もがC#でDispose()のようなアプリケーションを閉じている間にすべてのインスタンスをクリアするのを助けます。 – Ponmalar