2013-01-19 5 views
0

Ceci est le contenu du fichier: MainActivity.xmlIm essayant d'utiliser mon appareil photo HTC sur mon pc Eclipse, mais im obtenir des erreurs:

package com.example.camera_test; 

import android.os.Bundle; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.content.Intent; 
import android.hardware.Camera; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Button button = (Button) findViewById(R.id.button1); 

     button.setOnClickListener(new OnClickListener() 
     { 
     @SuppressLint("NewApi") @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      int i = Camera.getNumberOfCameras(); 
      TextView age = (TextView) findViewById(R.id.textView1); 
      age.setText(i); 
      startActivityForResult(intent, 0); 
     } 
     }); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

} 

Il travaillait bien que je cliqué sur le bouton et il a ouvert la caméra application sur mon appareil! Mais dès que j'ajouté ces lignes:

int i = Camera.getNumberOfCameras(); 
      TextView age = (TextView) findViewById(R.id.textView1); 
      age.setText(i); 

Im obtenir l'erreur sur mon appareil pour forcer rmé disent près.

J'ai également essayé age.setText (I); ceci:

age.setText(Integer.toString(i)); 

J'ai essayé à la place de id.textView1 aussi id.button1 mais ne fonctionnait pas.

Ceci est le contenu du fichier activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="@string/hello_world" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="45dp" 
     android:layout_marginTop="62dp" 
     android:text="Activate The Camera" /> 

</RelativeLayout> 

Ce sont les deux seuls fichiers que j'ai fait des changements.

+0

votre problème a-t-il été résolu? –

+0

Patrik no J'ai commencé à créer un nouveau projet mis à jour ma question avec ça. Je peux faire que je l'ai fait sur le bouton, il va ouvrir l'application de la caméra sur mon appareil! mais je ne peux pas trouver comment montrer un message aussi quand je clique sur le bouton qui montrera combien de caméras j'ai sur l'appareil. Je reçois sur mon appareil en cliquant sur le bouton une erreur dire besoin de forcer le fermer si je déplace ce 3 lignes de la numberofcameras cela fonctionnera bien à nouveau. –

+0

J'ai également eu une erreur sur le code lui-même lors de l'ajout de la ligne: int i = Camera.getNumberOfCameras(); donc je l'ai réparé en ajoutant au-dessus de la ligne: @SuppressLint ("NewApi") @Override de toute façon jusqu'à présent rien n'a pas travaillé ne peut pas montrer le message pour montrer le nombre de caméras. –

Répondre

0

Solution. Maintenant, quand je clique sur le bouton je vois l'appareil photo puis prends une photo clique sur Terminé puis je vois l'image que j'ai prise sur une petite fenêtre de mon appareil!

C'est le MainActivity.Java FILEL:

package com.example.camera_test; 

import android.os.Build; 
import android.os.Bundle; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.hardware.Camera; 
import android.view.Menu; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

    private static final int CAMERA_PIC_REQUEST = 1337; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Button button = (Button) findViewById(R.id.button1); 

     button.setOnClickListener(new OnClickListener() 
     { 
     @SuppressLint("NewApi") @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

      startActivityForResult(intent, CAMERA_PIC_REQUEST); 
     } 
     }); 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == CAMERA_PIC_REQUEST) { 
     // do something 
      Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 
      ImageView image = (ImageView) findViewById(R.id.imageView1); 
      image.setImageBitmap(thumbnail); 
     } 
     } 
} 

Et ajouté au fichier activity_main.xml imageView1 dans le fond:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="@string/hello_world" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="45dp" 
     android:layout_marginTop="62dp" 
     android:text="Activate The Camera" /> 
    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" /> 
</RelativeLayout> 

Maintenant tout fonctionne! Merci.

Questions connexes