Vyresnysis JAVA programavimo: cross-platform programų, parašytų dėmesį



Java kalba rašyti programas, naudojant iš didžiausių privalumų yra tai, kad "kompiliacija, paleisti visur", bet tai nereiškia, kad visi, Java-programos międzyplatformowa savybės, iš tikrųjų, didelė dalis "Java" programa yra ne kitas operacines sistemasteisingai, tai kaip gali rašyti tikrai cross-platform Java programa?Taip yra cross-platform paruošimo Java programų yra keletas dalykų, kuriuos reikia atminti:

Pasirengimas cross-platform Java "programa, galite pasirinkti JDK1.0, 1.1,1.2, arba palaikyti jų GUI kūrimo įrankiai, kaip antai: JBuilder Visual Age" Java "ir tt, bet reikia atkreipti dėmesį į savo" Java "programa gali naudotis tik" Java "pagrindinių API paketaiJei norite naudoti trečiųjų šalių bibliotekų paketas, biblioteka turėtų paketas sukurtas Java pagrindiniai paketai, ar procedūras spaudai, kai jūs turite Java klasės biblioteką paketai JVM skelbia paramą.Kitaip tariant, jūsų programa turi būti 100% gryna "Java".Pavyzdžiui, "Visual J + + yra ne gryna" Java "," Visual J + + programa negali būti parašyta nepriklausomas nuo platformos.

Nesvarbu, ar jūs naudojate JDK arba kitas plėtros priemones, kompiliavimo metu galimybės turėtų būti atvira visų įspėjimų, todėl kompiliatorius gali būti kiek įmanoma pareiškimas, kad platforma, ir suteikia įspėjimo.Nors nėra kompiliavimo laiko įspėjimai negali garantuoti, kad klaida turi būti cross-platform programa, bet ši procedūra yra labai negerai su įspėjimai gali būti ne nepriklausomas nuo platformos.

Programoje naudojant bet vienas metodas, pažvelgti į šį dokumentą, įsitikinkite, kad naudojate metodas nėra nurodytas dokumente yra pasenęs metodai buvo (Pasenęs metodas), jis taip pat numanoma, dokumentas nenurodo metodas (Nedokumentuota metodas).

Stenkitės ne išeiti Java programos išvežimo metodą naudoti java.lang.System.Uždaryti būdų nutraukti JVM, nutraukti programą, tačiau, jei naudojate kitą Java programą, naudokite išvykimo metodas leis programa buvo uždaryta, o tai aiškiai nėra tai, ką norime matyti.Norėdami išeiti iš "Java" programa iš tikrųjų galite naudoti Zniszcz () išvežimo savarankiškas procesas.Dėl wielowątkowych programų, turime išjungti visus ne demonas pokalbio.Tik tada, kai programa išėjo vienintelis būdas išeiti iš programos, naudojant išeiti.

Venkite naudoti vietinių metodų ir vietos kodus, kiek įmanoma parašyti savo funkcijas su atitinkamais Java klasės, nepaisyti šio metodo.Jei privalote naudoti gimtoji metodus, jūs galite rašyti serverio programa ragina metodą, tada programa bus dabar rašyti serverio programą, kaip kliento programa, arba laikyti CORBA (Bendroji Objektas Prašymas Brokeris) programos struktūra.

Java, Delphi, panašiai kaip winexec, java.lang.runtime klasės exec metodas yra metodas pats savaime yra nepriklausomas nuo platformos, tačiau metodas skambinti į komandų ir komandų parametrai yra susijęs su platformaTodėl, rengiant programas, kad būtų išvengta, jei mes norime paraginti kitas programas, jos turi leisti vartotojui nustatyti komandą ir jos parametrus.Pavyzdžiui, galite skambinti Notepad.exe į langus procedūra turėtų skambinti vi Linux programoje.

Programavimas visus kode informacija turi naudoti ASCII simbolių rinkinys, nes ne visos operacinės sistemos palaiko Unicode "ženklų rinkinio, kuris už cross-platform Java programų negalima pasakyti apie Kinijos programinė įranga yra didelis blogų naujienų.

Ar nėra sunku koduojamų į programą, bet konstantų, susijusių su platforma, pavyzdžiui, linijos skyriklį, failo separatorius, atskirkite kelyje ir tt, šias konstantas yra skirtingi skirtingose platformose, pvz failą, separatorius, yra UNIX ir Mac"/" Windows "" yra, jei norite naudoti šias konstantas, jums reikia jdava.util.Properties klasės getProperty metodai, tokie kaip java.util.Properties.getProperty ("file.separator"), gali gauti failą, separatorius,getProperty ("line.separator") grąžina eilutę, separatorius, getProperty ("path.separator") grąžina atskirkite kelyje.

Atsižvelgiant į cross-platform interneto programų rengimą, nenaudokite java.net.InetAddress klasės getHostName gauti priimančiosios pavadinimas, kaip pagrindinio kompiuterio pavadinimą kitą platformą formatas yra kitoks, geriausia formatą naudoti getAddress gauti tą patį IP adresą, Be to, programaVisos priimančiosios pavadinimas turėtų būti pakeistas pagal IP adresą, pvz www.javafan.net būtina pakeisti atitinkamas IP adresas.

Procedūras, susijusias su byla operacijų Pastaba: Ar nėra sunku koduoti programos failo kelio ir 8, tų pačių priežasčių, tačiau tai ypač svarbu, todėl atskirai.Be to, skirtingose platformose naudojami failų vardų raides ir maksimalus failo pavadinimo ilgis reikalavimai yra skirtingi, laiko parašyti savo programą naudoti bendro pobūdžio, kaip ASCII kodas, pavadinimas failą ir negali būti platforma tuo pačiu pavadinimu jau egzistuoja programos, kitaip jis buskonfliktas.

Jeigu Jūsų programa yra GUI programa parašyta AWT komponentai naudojimas negali būti savavališkai nustatyti dydį ir vietą komponentas turėtų naudoti Java išdėstymas vadybininkas (išdėstymas vadybininkas), steigti ir valdyti dydį ir vietą regos komponentai, arbaišdėstymas gali sukelti painiavą.

Kadangi skirtingų operacinių sistemų, skirtingų mašinų, sistema palaiko spalvos ir ekrano dydis ir skiriamoji geba yra skirtingi, kaip gauti šiuos požymius?Klasė gali gauti reikėjo naudoti java.awt.Systemcolor spalvą, tokių kaip klasė inactiveCaption yra įvykis pavadinimas lango rėmo fono spalva, meniu yra meniu fono spalva.GetScreenResolution galite naudoti java.awt.Toolkit "taškų colyje" vienetais ekranas rezoliucija.GetScreenSize klasė gali gauti ekrano dydis (coliai), loadSystemColors galima išvardyti visus sistemos spalvų.

Kai kurių iš šių iš literatūros svarstymus, kai jo ilgą patirtį rašant Java programas, manau, jūsų programa padės dizainas