Java: Communicatie met andere apps

Kan iemand mij vertellen of het met Java mogelijk is om andere programma's opdrachten te geven?

Een simpel maar voor mij afdoende voorbeeld zou kunnen zijn:

  • Java applicatie start webbrowser op en opent een URL

Even ter verduidelijking, ik heb het hier over een zelfstandige Java applicatie, en niet over een Applet welke reeds binnen een webbrowser draait.

Thnks,

Erik

yeb is mogelijk (je vraag was niet hoe dus :p ;) )

Fijn, maar dan nu het logische vervolg: - Hoe? Zijn er ergens eenvoudige voorbeelden te vinden? - Zou dit ook op het WinTel platform werken?

Erik

Yep het kan...

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runtime.html#exec(java.lang.String[],%20java.lang.String[],%20java.io.File)

Op Windows platformen kun je dat doen doormiddel van “start http://www.macosx.nl

Voor andere platformen zul je het op een andere manier moeten doen, je kan iig met exec ieder willekeurig proces starten, mits dat niet door een policy verboden is en de user er rechten voor heeft.

Dank alvast voor de info, ik ben ff aan het proberen geslagen, info erbij gezocht, Java 2 GrandCru erbij, maar ik kom er nog niet helemaal lekker uit...

[[b:67cd514ea4]edit[/b:67cd514ea4]]
Ondertussen werkt het, ik vraag mij alleen af of het nou echt de juiste werking is maar goed.
De Java code (Windows):

[code:1:67cd514ea4]
import java.io.;
import java.lang.String.
;

public class app
{
public static void main(String[] args)
{

try{
String command = "cmd /c start http://www.macosx.nl";
Runtime.getRuntime().exec(command);
}

catch (IOException e) {
}

}
}
[/code:1:67cd514ea4]
[[b:67cd514ea4]/edit[/b:67cd514ea4]]
Erik

Als het goed is start je een volledig onafhankelijk proces.

Als je opgestarte app blijft draaien, ook nadat je java appje afgesloten is, dan zit je goed.

Je zult natuurlijk iets platform specifieks moeten doen… Maar dat kun je prima doen door te werken met een resourcebundle en de string die je krijgt van http://java.sun.com/j2se/1.5.0/docs/api/index.html Scroll ff een klein stukje naar boven om de juiste keys te achterhalen.

Voor zover ik weet is dat de netste manier om iets dergelijks te doen.

[quote:a6fbc00420="Erik Koldenhof"][[b:a6fbc00420]edit[/b:a6fbc00420]] Ondertussen werkt het, ik vraag mij alleen af of het nou echt de juiste werking is maar goed. [[b:a6fbc00420]/edit[/b:a6fbc00420]] Erik[/quote:a6fbc00420]

Dit is idd de bedoeling. Als je cross-platform wilt werken zou ik er wel een klasse van maken en daar een constructor en/of wat functies aanhangen. Zo kun je bv een functie parameteriseren met de URL die je wilt openen in de browser en dan in de functie checken met welk OS je te doen hebt.
Deze code hierboven werkt namelijk niet op een Mac: wat je doet is gewoon de commandline openen en middels het commanda ‘start’ de browser openen.

Ik hoop dat je hier wat aan hebt!

Of je opent je webbrowser, en je typt de URL... LOL :mrgreen:

En, bij de weg... Ik ben nu al een tijdje bezig in Objective-C, maar ik vraag me nog steeds af of je met deze taal ook games of webpagina's kan ontwerpen. Bijvoorbeeld [b:e46f94b2e8]boter-kaas-en-eieren[/b:e46f94b2e8] of [b:e46f94b2e8]tic-tac-toe[/b:e46f94b2e8]. En [b:e46f94b2e8]chatrooms[/b:e46f94b2e8] of [b:e46f94b2e8]webpagina's met inlog-functie[/b:e46f94b2e8]. Of slaat deze praat helemaal nergens op ?

D't zal vast een CGI spinoff voor Objective C zijn.

Voor Java zijn dat Servlets.

Sowieso zul je een CGI progje kunnen schrijven, maar dat is een heel gedoe en erg buffer overflow gevoelig. :stuck_out_tongue: Lees er hier maar is meer over: http://en.wikipedia.org/wiki/Common_Gateway_Interface

Mijn mening, gebruik er een framework voor.

Webobjects heet HET web product voor op de Apple geloof ik. (Zit standaard bij XCode meegeleverd, als een extra install.)

Getting started guide op Apple.com

Je krijgt heel sterk het idee dat WebObjects een packaged product is, maar de developer tools worden bij XCode meegeleverd en OSX Server beschikt over alle nodige functionaliteit. Feit dat je de Developer tools krijgt betekend volgens mij dat je WebObjects ook gewoon kan draaien op een normale OSX versie.

Overigens, misschien een goed idee om je horizon te verbreden naar andere talen. Kweet niet wat je skills zijn, maar ja, kijk zelf maar wat je leuk vind. :stuck_out_tongue:

Dan denk ik toch dat je met Java een heel eind verder komt, niet ? - Games - GSM - Webpagina's - Chatrooms, online multiplayer games - Programma's - ...

Wat kan je bijvoorbeeld niet in Java, en wél in Objective-C ? Of omgekeerd ?

Spotlight plugins & Automater plugins? :P