Java na wika upang isulat ang mga aplikasyon gamit ang pinakamalaking pakinabang ay na "compilation isang, tumakbo sa lahat ng dako", ngunit ito ay hindi nangangahulugan na ang lahat ng Java na programa ay mga cross-platform na tampok, sa katunayan, isang mumunti bahagi ng programa ng Java ay hindi sa ibang operating systemtama, pagkatapos ay kung paano sumulat ng isang tunay na-cross-platform Java na programa?Ang sumusunod ay ang paghahanda ng mga cross-platform Java programa ang ilang mga bagay upang tandaan:
Paghahanda ng mga cross-platform Java application, maaari mong piliin na JDK1.0, 1.1,1.2, o suporta sa kanilang mga GUI tools unlad tulad ng: Jbuilder, Visual Edad para sa Java, atbp, ngunit dapat magbayad ng pansin sa iyong Java programa ay maaari lamang gamitin ang Java ubod na pakete APIKung nais mong gamitin ang mga third-party na aklatan pakete, ang library pakete binuo din sa pamamagitan ng mga core Java pakete, o mga pamamaraan para sa release kapag ikaw ay may suporta ng Java class pakete library JVM publish.Sa ibang salita, ang iyong programa ng mga pangangailangan upang maging 100% purong Java.Bilang halimbawa, Visual J + + ay hindi purong Java, ang Visual J + + program ay hindi maaaring nakasulat sa platform-independent.
Kung ikaw ay gumagamit ng isang JDK o iba pang pag-unlad ng mga kasangkapan, at sumulat ng libro mga opsyon ang oras na dapat ay bukas sa lahat ng mga babala, kaya compiler ang maaaring maging mas maraming bilang na posible ang pahayag na ang platform, at nagbibigay ng babala.Kahit na walang-compile oras babala ay hindi ginagarantiya na ang mga error ay dapat na-cross-platform programa, ngunit ang mga pamamaraan ay tunay na mali sa mga babala ay maaaring di-platform-independent.
Sa program kapag gumagamit ng anumang isang paraan, upang tumingin sa mga dokumento, siguraduhin na gamitin mo ang pamamaraang ito ay hindi nakasaad sa mga dokumento ay lipas na sa panahon na pamamaraan ay (deprecated pamamaraan), o ito ay ipinahihiwatig sa dokumento ay hindi magpahiwatig ng pamamaraan (undocumented paraan).
Subukan ang hindi upang lumabas sa exit na paraan ng Java program upang gamitin java.lang.System.Lumabas paraan upang wakasan ang JVM, upang wakasan ang mga programa, ngunit kung tumakbo Java isa pang programa, gamitin exit paraan ay magpapahintulot sa programa ay sarado, na kung saan ay malinaw naman hindi kung ano ang gusto naming makita.Lumabas ng Java na programa sa katunayan, maaari mong gamitin destory () lumabas sa isang stand-iisa proseso.Para sa multi-sinulid na programa, kami ay dapat na i-off lahat ng hindi-daemon thread.Lamang kapag ang programa ay lumabas ng tanging paraan na lumabas sa program gamit ang exit.
Iwasan ang paggamit ng mga lokal na mga pamamaraan at mga lokal na codes, gaya malayo gaya maaari upang isulat ang iyong sariling mga function na may kaukulang class Java, override ang paraan na ito.Kung kailangan ninyong gamitin ang katutubong pamamaraan, maaari mong isulat ang isang server program tawag sa paraan, at pagkatapos ay ang programa ay ngayon isulat ang mga server na programa bilang isang programa ng client, o isaalang-alang ang mga programa CORBA (Karaniwang Bagay Request Broker) istraktura.
Java, Delphi sa isang katulad na paraan winexec, java.lang.runtime class exec paraan bilang mga pamamaraan mismo ay independiyenteng ng platform, ngunit ang paraan ng tawag sa command at command parameters ay iniuugnay sa mga platformSamakatuwid, sa paghahanda ng programa upang maiwasan, kung gusto naming tumawag sa iba pang mga programa, sila ay dapat ipaalam sa mga gumagamit upang itakda ang mga utos at ang kanyang mga parameter.Halimbawa, maaari mong tawagin ang notepad.exe sa pamamaraan bintana dapat tawagan ang vi sa linux sa programa.
Programming ang lahat ng mga impormasyon sa ang code na kailangang gumamit ng ASCII character set, dahil hindi lahat ng mga operating system ang suporta ng Unicode character set, na para sa cross-platform Java na programa ay hindi maaaring sinabi ng Intsik software ay isang malaking masamang balita.
Huwag hard code sa programa, ang anumang mga constants na kaugnay sa mga platform, tulad ng mga linya ng separator, file separator, path separator, atbp, sa mga constants ay naiiba sa iba't-ibang mga platform, tulad ng mga file separator, ay sa mga UNIX at MAC"/" sa mga bintana ay "", kung gusto mong gamitin ang mga constants, kailangan mo jdava.util.Properties class methods getProperty, tulad ng java.util.Properties.getProperty ("file.separator") ay maaaring makakuha ng file separator,getProperty ("line.separator") bumalik ang line separator, getProperty ("path.separator") bumalik path separator.
Sa paghahanda ng cross-platform ng mga web application, huwag gumamit ng java.net.InetAddress class getHostName nakuha host name, dahil sa iba't-ibang mga platform ng iba't ibang format host name ay pinakamahusay na gamitin ang getAddress makakuha ng parehong IP address na format, ang iba pang, ang programaLahat ng mga host name ay dapat mapalitan ng IP address, tulad ng www.javafan.net kinakailangan na palitan ang mga kaukulang IP address.
Mga pamamaraan na may kaugnayan sa file na operasyon Paalala: Huwag hard code sa landas na programa file, at 8, ang parehong mga dahilan, ngunit ito ay partikular na mahalaga, kaya hiwalay.Bukod dito, ang ibang mga platform na ginagamit para sa mga character ng pangalan ng file at ang pinakamataas na file name haba pangangailangan ay naiiba, ang oras upang isulat ang iyong programa upang gamitin ang ASCII character code bilang pangkalahatang pangalan ng file at hindi maaaring maging isang platform ng kaparehong pangalan sa programa, sa kabilang banda ay itoconflict.
Kung ang iyong programa ay isang GUI programa nakasulat sa paggamit ng AWT components ay hindi maaaring nagkataon set ang laki at lokasyon ng bahagi ay dapat gumamit ng layout manager Java's (layout manager) sa set up at pamahalaan ang laki at lokasyon ng visual na mga sangkap, oang layout ay maaaring maging sanhi ng pagkalito.
Dahil iba't ibang mga operating system, iba't-ibang machine, ang sistema ay sumusuporta sa kulay at laki ng screen at resolution ay naiiba, kung paano makakuha ang mga katangian?Klase ay maaaring makakuha ng mga kinakailangang gumamit ng java.awt.Systemcolor kulay, tulad ng mga klase frame inactiveCaption window sa title ng kaganapan ay ang kulay ng background, menu ay ang menu ng kulay ng background.getScreenResolution Ang maaaring gumamit java.awt.Toolkit "pixels per inch" bilang mga yunit ng resolution display screen.GetScreenSize klase maaaring makuha ang screen size (inch), loadSystemColors maaaring listahan ng lahat ng mga kulay na sistema.
Ang ilan sa mga pagsasaalang-alang na mula sa mga sanggunian, ang ilan sa kanyang mahabang karanasan sa pagsulat ng mga programa ng Java, sa tingin ko ang iyong programa ay makakatulong sa disenyo