camara starten

  • 2 Antworten
  • Letztes Antwortdatum
G

guguli

Neues Mitglied
0
Hi leute,

Ich würd gerne nach dem ich einen Button geklickt habe und in einer neuen activity bin auch die camara angeht.

Also ich hab ne Klasse MainActivity wo mein Button edit_map drin ist.
mit dem button komm ich dann in der klasse MapActivity rein. da hab ich verscheidene features wie z.b. größe des Maps und farben beinhalten sind. Ich will aber das so einrichten dass während ich meinen Map editieren auch die Camara an ist.


Kann mir da eine Helfen???
THX
 
Hab den Quellcode irgendwo mal gefunden.
public void Cam(View view){

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // Intent erzeugen
File imagesFolder = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "/eigeneBilder"); //Speicherort Festlegen

imagesFolder.mkdirs();

int imageNum = 0;

String fileName = "IMG_" + String.valueOf(imageNum) + ".jpg"; //Name und Format festlegen
File output = new File(imagesFolder, fileName);

while (output.exists()){ //Abfrage ob Dateiname schon vorhanden
imageNum++;
fileName = "Bild_" + String.valueOf(imageNum) + ".jpg";
output = new File(imagesFolder, fileName);
}

Uri uriSavedImage;
uriSavedImage = Uri.fromFile(output);
Uri output2 = uriSavedImage;
intent.putExtra(MediaStore.EXTRA_OUTPUT, output2);

startActivityForResult(intent, 2); //Funktion starten
}

Funktioniert wunderbar


In die Manifest.xml muss noch die folgende Zeile eingefügt werden
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
sonst hat man keinen Zugriff auf die SpeicherKarte
 
Zuletzt bearbeitet:
und was soll die Methode machen????

also nochmal, ich hab ne MainActivity, dadrin sind 3 optionen zu wählen, eine davon ist map editor. Ich will, dass wenn ich auf map editor klicke neue Activity öffnen und auch gleichzeitig die Kamera on geht.
Ich poste ma mein Code:
MainActivity:
Code:
ublic class MainActivity extends Activity implements OnClickListener {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// Bind to UI events
		((Button) findViewById(R.id.Button_start_on_random_map))
				.setOnClickListener(this);
		((Button) findViewById(R.id.Button_start_map_editor))
				.setOnClickListener(this);
		((Button) findViewById(R.id.Button_start_tutorial))
				.setOnClickListener(this);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

	public void onClick(View view) {
		switch (view.getId()) {
		case R.id.Button_start_on_random_map:
			FieldGenerator lg = new DefaultFieldGenerator();
			try {
				Field field = null;
				lg.init(8, 8, 2, 4, 8, null);
				String fieldString = lg.nextField();
				field = GsonProvider.getGson().fromJson(fieldString,
						Field.class);
				
				// Apply a color theme for the squares
				SquareColorTheme sct = new DecreasingSaturationTheme((float)Math.random(), 0.85f); 
				List<Color> colors = sct.getSquareColorSequence(field.getNumberOfColors());			
				for (Square square : field.getGroundGrid().getAllObjects().values()) {
					square.setColorList(colors);
				}
				
				GameLogic demoLogic = new DefaultGameLogic(field, ColorFieldsApp.getPlayer());
				demoLogic.addPositiveCondition(new SameColorCondition());
				ArActivity.startWithSetup(this, new GameSetup(this, field, demoLogic));
				break;
			} catch (Exception e) {
				e.printStackTrace();
			}
			break;
		case R.id.Button_start_map_editor:
			Intent myIntent = new Intent(MainActivity.this, MapActivity.class);
			startActivityForResult(myIntent, 0);
			
			break;
		case R.id.Button_start_tutorial:
			Level introduction = new IntroLevel();
			Level.start(this, introduction);
		break;			
		}


und wenn ich auf map edito klicke dann komm ich zu MapActivity :
Code:
public  class MapActivity extends Activity  {
	
		
	
	public void onCreate(Bundle savedInstanceState) 
	    {   	
		 	super.onCreate(savedInstanceState);
	        setContentView(R.layout.activity_map);
	        Spinner spinner= (Spinner)findViewById(R.id.my_colour_spinner);
	        ArrayAdapter<?> adapter = ArrayAdapter.createFromResource( this, R.array.colours, android.R.layout.simple_spinner_item); 
	        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
	        spinner.setAdapter(adapter);	        
	        
		}
	public void Cam(View view){

		Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // Intent erzeugen
		File imagesFolder = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "/eigeneBilder"); //Speicherort Festlegen

		imagesFolder.mkdirs(); 

		int imageNum = 0;

		String fileName = "IMG_" + String.valueOf(imageNum) + ".jpg"; //Name und Format festlegen
		File output = new File(imagesFolder, fileName);

		while (output.exists()){ //Abfrage ob Dateiname schon vorhanden 
		imageNum++;
		fileName = "Bild_" + String.valueOf(imageNum) + ".jpg";
		output = new File(imagesFolder, fileName);
		}

		Uri uriSavedImage;
		uriSavedImage = Uri.fromFile(output); 
		Uri output2 = uriSavedImage;
		intent.putExtra(MediaStore.EXTRA_OUTPUT, output2);

		startActivityForResult(intent, 2); //Funktion starten 
		}
	}


nun hab ich deine Methode hier eingebaut. das funktioniert aber nicht.
 

Ähnliche Themen

D
Antworten
5
Aufrufe
595
swa00
swa00
Zurück
Oben Unten