第一篇:Eclipse android開(kāi)發(fā)環(huán)境搭建總結(jié)
環(huán)境組成:Eclipse4.2+JDK 1.6+Android SDK v21+ ADT
一、安裝Eclipse + JDK
Eclipse是一款免費(fèi)開(kāi)源的開(kāi)發(fā)工具,它提供的僅僅是一個(gè)框架,其特點(diǎn)在于插件開(kāi)發(fā),即它可以添加插件,根據(jù)不同的功能需求只需安裝相應(yīng)的插件即可。
Eclipse是一款輕量級(jí)的插件,直接點(diǎn)擊exe文件即可運(yùn)行,不需安裝,不需寫(xiě)入注冊(cè)表等各種操作。據(jù)說(shuō)3.8版本性能要高于4.2.Eclipse本身并不包括JDK,(MyEclipse也是如此)因此還要自己安裝JDK。JDK包括一些可執(zhí)行文件和類(lèi)庫(kù),比如JAVA編譯器、JRE(java運(yùn)行時(shí)環(huán)境,即java虛擬機(jī),java程序運(yùn)行比不可少)。據(jù)說(shuō)JDK1.6運(yùn)行速度要比其他版本要好很多。JDK可直接運(yùn)行,安裝完之后,還要添加環(huán)境變量,這里我有點(diǎn)疑惑,書(shū)上寫(xiě)的和網(wǎng)上查的不一樣,為保險(xiǎn)起見(jiàn)我取了并集: 首先添加Path=C:Program FilesJavajdk1.6.0_24bin和C:Program FilesJavajdk1.6.0_24jre bin,然后添加classPath=C:Program FilesJavajdk1.6.0_24lib和C:Program FilesJavajdk1.6.0_24libtools.jar.這樣JDK安裝完畢。
二、Android SDK安裝
首先下載Android SDK,我在網(wǎng)上隨便搜的,好像這個(gè)SDK要與Eclipse版本匹配才行,因此在搜時(shí)要注明Eclipse的版本。然后運(yùn)行SDK Manager,這才是真正的下載Android SDK,文件很多,速度超級(jí)慢,得幾個(gè)小時(shí)。網(wǎng)上有快的方法,但是挺復(fù)雜。下載的內(nèi)容主要是各個(gè)SDK版本的platform以及API。然后添加該文件夾下的tools文件夾目錄添加到path環(huán)境變量中。
三、Eclipse安裝ADT
ADT是一個(gè)插件,google開(kāi)發(fā)的方便在Eclipse下進(jìn)行安卓開(kāi)發(fā)的插件,其實(shí)用記事本程序同樣可以開(kāi)發(fā)安卓程序,只不過(guò)這樣更方便。
這要利用Eclipse的自動(dòng)下載功能,方法是在Eclipse菜單中選擇安裝新軟件,然后輸入https://dl-sll.google.com/android/eclipse,然后會(huì)自動(dòng)搜索相關(guān)軟件。我剛開(kāi)始選擇全部安裝,但是每次都失敗,后來(lái)只選擇了DDMS和android development tools就成功了。
這樣開(kāi)發(fā)環(huán)境就搭建好了。
Ps.然后還要?jiǎng)?chuàng)建android開(kāi)發(fā)的模擬器,這個(gè)要用到AVDM,網(wǎng)上很多教程,很簡(jiǎn)單就搜到,我也沒(méi)搞清楚怎么回事,只是按照步驟創(chuàng)建成功了。
第二篇:Java概述及開(kāi)發(fā)環(huán)境搭建(精)
第1章Java概述及開(kāi)發(fā)環(huán)境搭建 通過(guò)本章的學(xué)習(xí)可以達(dá)到以下目標(biāo): ?認(rèn)識(shí)Java并了解其發(fā)展歷史。?可以安裝并配置Java開(kāi)發(fā)環(huán)境。
?掌握J(rèn)ava中Path及classpath屬性的作用。?可以編寫(xiě)并運(yùn)行一個(gè)簡(jiǎn)單的Java程序。?可以掌握J(rèn)ava的開(kāi)發(fā)流程。
Java是一門(mén)程序設(shè)計(jì)語(yǔ)言,其本身的發(fā)展經(jīng)過(guò)了一系列的過(guò)程。本章將首先介紹Java 的發(fā)展歷程,讓讀者對(duì)Java有一個(gè)基本的認(rèn)識(shí),了解Java的主要作用,接著詳細(xì)講解Java 開(kāi)發(fā)環(huán)境的搭建,包括Java開(kāi)發(fā)中一些基本的注意事項(xiàng)。本章視頻錄像講解時(shí)間為35分鐘,源代碼在光盤(pán)對(duì)應(yīng)的章節(jié)下。
1.1 認(rèn)識(shí)Java 1.1.1 什么是Java Java是Sun(全稱(chēng)為Stanford University Network,1982年成立,Sun公司的Logo如圖1-1所示公司開(kāi)發(fā)出來(lái)的一套編程語(yǔ)言,主設(shè)計(jì)者是James Gosling(如圖1-2所示,最早來(lái)源于一個(gè)叫Green的項(xiàng)目,這個(gè)項(xiàng)目原來(lái)的目的是為家用電子消費(fèi)產(chǎn)品開(kāi)發(fā)一個(gè)分布式代碼系統(tǒng),這樣就可以通過(guò)網(wǎng)絡(luò)對(duì)家用電器進(jìn)行控制。開(kāi)始Sun的工程師們準(zhǔn)備采用C++,但由于C++過(guò)于復(fù)雜,安全性差,最后決定基于C++開(kāi)發(fā)一種新語(yǔ)言O(shè)ak(Java的前身,1991年出現(xiàn),Oak是一種用于網(wǎng)絡(luò)的、精巧而安全的語(yǔ)言,Sun公司曾以此投標(biāo)過(guò)一個(gè)交互式電視項(xiàng)目,但結(jié)果被SGI打敗。于是當(dāng)時(shí)的Oak幾乎“無(wú)家可歸”,恰巧這時(shí)Mark Ardreesen開(kāi)發(fā)的Mosaic和Netscape啟發(fā)了Oak項(xiàng)目組成員,Sun的工程師們用Java 編制了HotJava瀏覽器,得到了Sun公司首席執(zhí)行官Scott McNealy的支持,觸發(fā)了Java進(jìn)軍Internet。
第1章 Java 概述及開(kāi)發(fā)環(huán)境搭建 圖1-1 Sun 公司Logo 圖1-2 James Gosling Java 語(yǔ)言發(fā)展到今天經(jīng)歷了一系列的過(guò)程,Java 在1995年5月23日推出了JDK 1.0版本,此版本標(biāo)志著Java 正式進(jìn)軍Internet 的開(kāi)始,在1998年對(duì)之前的JDK 進(jìn)行了升級(jí)并推出了JDK 1.2的開(kāi)發(fā)包,該版本加入了大量的輕量級(jí)組件包,從此之后Java 被正式命名為Java 2。
Java 語(yǔ)言發(fā)展到今天經(jīng)歷了以下3個(gè)發(fā)展方向。
↘ J2SE :Java 2 Platform Standard Edition。包含構(gòu)成Java 語(yǔ)言核心的類(lèi),如數(shù)據(jù)庫(kù)連
接、接口定義、輸入/輸出和網(wǎng)絡(luò)編程。
↘ J2ME :Java 2 Platform Micro Edition。包含J2SE 中一部分類(lèi),用于消費(fèi)類(lèi)電子產(chǎn)
品的軟件開(kāi)發(fā),如呼機(jī)、智能卡、手機(jī)、PDA 和機(jī)頂盒。
↘ J2EE :Java 2 Platform Enterprise Edition。Enterprise Edition(企業(yè)版包含J2SE 中 的所有類(lèi),并且還包含用于開(kāi)發(fā)企業(yè)級(jí)應(yīng)用的類(lèi),如EJB、Servlet、JSP、XML 和
事務(wù)控制,也是現(xiàn)在Java 應(yīng)用的主要方向。
雖然Java 語(yǔ)言的發(fā)展方向有3個(gè),但是這3門(mén)技術(shù)中最核心的部分是J2SE ,而J2ME 和J2EE 是在J2SE 基礎(chǔ)之上發(fā)展起來(lái)的,3種技術(shù)的關(guān)系如圖1-3所示。另外要提醒讀者的是,在2005年Java 十周年大會(huì)之后這3門(mén)技術(shù)又重新更名: ↘ J2SE 更名為JAVA SE。↘ J2ME 更名為JAVA ME。↘ J2EE 更名為JAVA EE。圖1-3 3種技術(shù)的關(guān)系 1.1.2 Java 語(yǔ)言的特點(diǎn)
Java 語(yǔ)言的許多有效的特性吸引著程序員們,下面介紹最主要的幾個(gè)。
1.簡(jiǎn)潔有效
Java 語(yǔ)言是一種相當(dāng)簡(jiǎn)潔的“面向?qū)ο蟆背绦蛟O(shè)計(jì)語(yǔ)言,它省略了C++語(yǔ)言中所有的難以理解、容易混淆的特性,如頭文件、指針、結(jié)構(gòu)、單元、運(yùn)算符重載和虛擬基礎(chǔ)類(lèi)等,更加嚴(yán)謹(jǐn)、簡(jiǎn)潔。
2.可移植性
對(duì)于一個(gè)程序員而言,寫(xiě)出來(lái)的程序如果不需要修改就能夠同時(shí)在Windows、MacOS、UNIX 等平臺(tái)上運(yùn)行,簡(jiǎn)直就是美夢(mèng)成真,而Java 語(yǔ)言就讓這個(gè)原本遙不可及的事已經(jīng)越來(lái)越近了。使用Java 語(yǔ)言編寫(xiě)的程序,只要做較少的修改,甚至有時(shí)根本不需修改即可在
Java開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典 不同平臺(tái)上運(yùn)行。4 第1章Java概述及開(kāi)發(fā)環(huán)境搭建 3.面向?qū)ο?/p>
可以這么說(shuō),“面向?qū)ο蟆笔擒浖こ虒W(xué)的一次革命,大大提升了人類(lèi)的軟件開(kāi)發(fā)能力,是一個(gè)偉大的進(jìn)步,是軟件發(fā)展的一個(gè)重大的里程碑。
在過(guò)去的30年間,“面向?qū)ο蟆庇辛碎L(zhǎng)足的發(fā)展,充分體現(xiàn)了其自身的價(jià)值,到現(xiàn)在已經(jīng)形成了一個(gè)包含“面向?qū)ο蟮南到y(tǒng)分析”、“面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)”和“面向?qū)ο蟮某绦蛟O(shè)計(jì)”的完整體系。所以作為一種現(xiàn)代編程語(yǔ)言,是不能夠偏離“面向?qū)ο蟆边@一方向的,Java語(yǔ)言也不例外。
4.解釋型
Java語(yǔ)言是一種解釋型語(yǔ)言,相對(duì)于C/C++語(yǔ)言來(lái)說(shuō),用Java語(yǔ)言寫(xiě)出來(lái)的程序效率低,執(zhí)行速度慢。但它可以通過(guò)在不同平臺(tái)上運(yùn)行Java解釋器,對(duì)Java代碼進(jìn)行
解釋,來(lái)實(shí)現(xiàn)“一次編寫(xiě),到處運(yùn)行”的目標(biāo)。為了達(dá)到目標(biāo),犧牲效率還是值得的,而且,現(xiàn)在的計(jì)算機(jī)技術(shù)日新月異,運(yùn)算速度也越來(lái)越快,用戶(hù)不會(huì)感到太慢。
5.適合分布式計(jì)算
Java語(yǔ)言具有強(qiáng)大的、易于使用的聯(lián)網(wǎng)能力,非常適合開(kāi)發(fā)分布式計(jì)算的程序。Java 應(yīng)用程序可以像訪(fǎng)問(wèn)本地文件系統(tǒng)那樣通過(guò)URL訪(fǎng)問(wèn)遠(yuǎn)程對(duì)象。
使用Java語(yǔ)言編寫(xiě)Socket通信程序比使用任何其他語(yǔ)言都簡(jiǎn)單。而且它還十分適用于公共網(wǎng)關(guān)接口(CGI腳本的開(kāi)發(fā),另外還可以使用Java小應(yīng)用程序(Applet、Java服務(wù)器頁(yè)面(Java Server Page,JSP、Servlet等手段來(lái)構(gòu)建更豐富的網(wǎng)頁(yè)。
6.擁有較好的性能
由于Java是一種解釋型語(yǔ)言,所以它的執(zhí)行效率相對(duì)就會(huì)慢一些,但由于Java語(yǔ)言采用了下面兩種手段,使其擁有較好的性能。
↘Java語(yǔ)言源程序編寫(xiě)完成后,先使用Java偽編譯器進(jìn)行偽編譯,將其轉(zhuǎn)換為中間碼(也稱(chēng)為字節(jié)碼再解釋。
↘提供了一種“準(zhǔn)實(shí)時(shí)”(Just-in-Time,JIT編譯器,當(dāng)需要更快的速度時(shí),可以使用JIT編譯器將字節(jié)碼轉(zhuǎn)換成機(jī)器碼,然后將其緩沖下來(lái),這樣速度就會(huì)更快。
7.健壯、防患于未然的特征
Java語(yǔ)言在偽編譯時(shí),做了許多早期潛在問(wèn)題的檢查,并且在運(yùn)行時(shí)又做了一些相應(yīng)的檢查,可以說(shuō)是一種最嚴(yán)格的“編譯器”。
它的這種“防患于未然”的手段將許多程序中的錯(cuò)誤都扼殺在“搖籃”之中,經(jīng)常有許多在其他語(yǔ)言中必須通過(guò)運(yùn)行才會(huì)暴露出來(lái)的錯(cuò)誤,在編譯階段就被發(fā)現(xiàn)了。
另外,在Java語(yǔ)言中還具備了許多保證程序穩(wěn)定、健壯的特性,有效地減少了錯(cuò)誤,也使Java應(yīng)用程序更加健壯。
8.具有多線(xiàn)程處理能力
線(xiàn)程是一種輕量級(jí)進(jìn)程,是現(xiàn)代程序設(shè)計(jì)中必不可少的一種特性。多線(xiàn)程處理能力使 Java 開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典 程序具有更好的交互性、實(shí)時(shí)性。
Java 在多線(xiàn)程處理方面性能超群,具有讓設(shè)計(jì)者驚喜的強(qiáng)大功能,而且在Java 語(yǔ)言中進(jìn)行多線(xiàn)程處理也很簡(jiǎn)單。
9.具有較高的安全性
Java 語(yǔ)言在設(shè)計(jì)時(shí)在安全性方面考慮得很仔細(xì),做了許多探究,使Java 語(yǔ)言成為目前最安全的一種程序設(shè)計(jì)語(yǔ)言。
盡管Sun 公司曾經(jīng)許諾過(guò):“通過(guò)Java 可以輕松構(gòu)建出防病毒、防黑客的系統(tǒng)”,但就在JDK(Java Development Kit 1.0發(fā)布不久后,美國(guó)Princeton(普林斯頓大學(xué)的一組安全專(zhuān)家發(fā)現(xiàn)了Java 1.0安全特性中的第一例錯(cuò)誤。從此,Java 安全方面的問(wèn)題開(kāi)始被關(guān)注。不過(guò)至今所發(fā)現(xiàn)的安全隱患都很微不足道,而且Java 開(kāi)發(fā)組還宣稱(chēng),他們對(duì)系統(tǒng)安全方面的Bugs 非常重視,會(huì)對(duì)這些被發(fā)現(xiàn)的Bugs 立即進(jìn)行修復(fù)。另外,由于Sun 公司開(kāi)放了Java 解釋器的細(xì)節(jié),所以有助于通過(guò)各界力量共同發(fā)現(xiàn)、防范、制止這些安全隱患。
10.是一種動(dòng)態(tài)語(yǔ)言
Java 是一種動(dòng)態(tài)的語(yǔ)言,這表現(xiàn)在以下兩個(gè)方面: ↘ 在Java 語(yǔ)言中,可以簡(jiǎn)單、直觀(guān)地查詢(xún)運(yùn)行時(shí)的信息。↘ 可以將新代碼加入到一個(gè)正在運(yùn)行的程序中。11.是一種中性結(jié)構(gòu)
Java 編譯器生成的是一種中性的對(duì)象文件格式,也就是說(shuō),Java 編譯器通過(guò)偽編譯后,將生成一個(gè)與任何計(jì)算機(jī)體系統(tǒng)無(wú)關(guān)的“中性”的字節(jié)碼。
這種中性結(jié)構(gòu)其實(shí)并不是Java 首創(chuàng)的,在Java 出現(xiàn)之前UCSD Pascal 系統(tǒng)就已在一種商業(yè)產(chǎn)品中做到了這一點(diǎn),另外,在UCSD Pascal 之前也有這種方式的先例,如在Niklaus Wirth 實(shí)現(xiàn)的Pascal 語(yǔ)言中就采用了這種結(jié)構(gòu)降低一些性能,以換取更好的可移植性和通用性的方法。
Java 的這種字節(jié)碼經(jīng)過(guò)了許多精心的設(shè)計(jì),使其能夠很好地兼容于當(dāng)今大多數(shù)流行的計(jì)算機(jī)系統(tǒng),在任何機(jī)器上都易于解釋,易于動(dòng)態(tài)翻譯成為機(jī)器代碼。
1.1.3 Java 程序的運(yùn)行機(jī)制和Java 虛擬機(jī)
計(jì)算機(jī)高級(jí)語(yǔ)言類(lèi)型主要有編譯型和解釋型兩種,Java 是兩種類(lèi)型的集合,在Java 中處理代碼的過(guò)程如圖1-4所示。
圖1-4 Java 程序的運(yùn)行機(jī)制 第1章 Java 概述及開(kāi)發(fā)環(huán)境搭建
從圖1-4中可以看出,在Java 中源文件名稱(chēng)的后綴為.java ,之后通過(guò)編譯使*.java 的文件生成一個(gè)*.class 文件,在計(jì)算機(jī)上執(zhí)行*.class 文件,但是此時(shí)執(zhí)行*.class 的計(jì)算機(jī)并不是一個(gè)物理上可以看到的計(jì)算機(jī),而是Java 自己設(shè)計(jì)的一個(gè)計(jì)算機(jī)——JVM ,Java 也是通過(guò)JVM 進(jìn)行可移植性操作的。
在Java 中所有的程序都是在JVM(Java Virtual Machine 上運(yùn)行的。JVM 是在一臺(tái)計(jì)算機(jī)上由軟件或硬件模擬的計(jì)算機(jī)。Java 虛擬機(jī)(JVM 讀取并處理經(jīng)編譯過(guò)的、與平臺(tái)無(wú)關(guān)的字節(jié)碼class 文件。Java 解釋器負(fù)責(zé)將Java 虛擬機(jī)的代碼在特定的平臺(tái)上運(yùn)行。JVM 的基本原理如圖1-5所示。
從圖1-5中可以發(fā)現(xiàn),所有的*.class 文件都是在JVM 上運(yùn)行的,即*.class 文件只需要認(rèn)識(shí)JVM ,由JVM 再去適 應(yīng)各個(gè)操作系統(tǒng)。如果不同的操作系統(tǒng)
安裝上符合其類(lèi)型的JVM ,那么以后程序無(wú)論到哪個(gè)操作系統(tǒng)上都是可以正確執(zhí)行的。
提示:關(guān)于Java 可移植性的簡(jiǎn)單理解。有些讀者可能很難理解以上的解釋,其實(shí)這個(gè)過(guò)程就類(lèi)似于下面的一種情景: 現(xiàn)在有一個(gè)中國(guó)富商,他同時(shí)要和美國(guó)、韓國(guó)、俄羅斯、日本、法國(guó)、德國(guó)等幾個(gè)國(guó)家洽談生意,可是他不懂這些國(guó)家的語(yǔ)言,所以他針對(duì)于每個(gè)國(guó)家請(qǐng)了一個(gè)翻譯,他說(shuō)的話(huà)就只對(duì)翻譯說(shuō),不同的翻譯會(huì)將他說(shuō)的話(huà)翻譯給不同國(guó)家的客戶(hù),這樣富商只需要說(shuō)一句話(huà)給翻譯,那么就可以同幾個(gè)國(guó)家的客戶(hù)溝通了。
1.2 Java 開(kāi)發(fā)環(huán)境搭建
Java 的開(kāi)發(fā)環(huán)境主要使用JDK ,本書(shū)中使用的JDK 版本是JDK 1.6 版本。讀者可以直接從Sun 公司的官方網(wǎng)站(如圖1-6所示中下載此版本,網(wǎng)址為004km.cn。
圖1-6 Sun 公司網(wǎng)站首頁(yè) 圖1-5 JVM 基本原理 Java 開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典 1.2.1 JDK 的安裝與配置
安裝JDK 分為以下兩個(gè)步驟:(1首先要準(zhǔn)備好JDK 的安裝文件jdk-6u11-windows-i586-p.exe。(2配置環(huán)境變量Path。
在安裝JDK 時(shí)會(huì)讓用戶(hù)選擇JDK 和JRE 的安裝目錄,本次安裝目錄使用的是默認(rèn)的安裝目錄,如圖1-7~圖1-10所示。
JDK 安裝完成之后,即可看到如圖1-10所示的安裝文件夾,其中的bin 文件夾是將來(lái)要使用的各種Java 命令,但是這些命令本身并不在Windows 環(huán)境之中,所以如果要想使用這些命令,則首先必須在Windows 中注冊(cè)此命令。
圖1-7 選擇JDK 的安裝目錄 圖1-8 選擇JRE 的安裝目錄
圖1-9 JDK 和JRE 安裝完成 圖1-10 JDK 安裝后目錄 設(shè)置Path 的流程為:選擇【我的電腦】→【屬性】命令,打開(kāi)【系統(tǒng)屬性】對(duì)話(huà)框,如圖1-11所示,選擇【高級(jí)】選項(xiàng)卡,單擊【環(huán)境變量】按鈕,打開(kāi)【環(huán)境變量】對(duì)話(huà)框,在其中可以編輯Path 信息,如圖1-12所示。
在編輯Path 時(shí),可以直接設(shè)置Java 的安裝路徑。即在【環(huán)境變量】對(duì)話(huà)框中單擊【系統(tǒng)變量】欄中的【編輯】按鈕,彈出【編輯系統(tǒng)變量】對(duì)話(huà)框,在【變量值】文本框的最后加上路徑,在加之前使用“;”將之前的路徑分隔開(kāi),如加入內(nèi)容“;D:Javajdk1.6.0_11bin ”,如圖1-13所示。
設(shè)置完后單擊【確定】按鈕即可保存設(shè)置,然后啟動(dòng)cmd 命令行方式,輸入javac ,如
第1章 Java 概述及開(kāi)發(fā)環(huán)境搭建 果出現(xiàn)如圖1-14所示的內(nèi)容,則表示JDK 配置成功。圖1-11 【系統(tǒng)屬性】對(duì)話(huà)框 圖1-12 【環(huán)境變量】對(duì)話(huà)框
圖1-13 設(shè)置path 路徑 圖1-14 JDK 配置成功演示 注意1:Path 修改之后要重新啟動(dòng)命令行方式。有些讀者在進(jìn)行環(huán)境設(shè)置時(shí)可能會(huì)出現(xiàn)此命令不是系統(tǒng)內(nèi)部命令的提示,有可能造成這種問(wèn)題的原因是,在配置環(huán)境屬性之前命令行方式已經(jīng)啟動(dòng),之后再配置的Path 路徑,則此環(huán)境肯定是無(wú)法立即生效的,此時(shí)可以重新啟動(dòng)命令行方式,即可把新的設(shè)置讀取進(jìn)來(lái)。注意2:javac 命令的作用。javac.exe 是Java 本身
提供的編譯命令,主要目的是用來(lái)將*.java 文件編譯成*.class 文件,此命令本身不屬于Windows ,所以在使用時(shí)需要單獨(dú)配置,此命令的具體用法將在后面介紹。
1.2.2 編寫(xiě)第1個(gè)Java 程序
Java 程序分為兩種類(lèi)型,一種是Application 程序,另外一種是Applet 程序,其中有main 方法的程序主要都是Application 程序,本書(shū)也主要使用Application 程序進(jìn)行講解,Applet 程序主要應(yīng)用在網(wǎng)頁(yè)編程上,現(xiàn)在已經(jīng)基本上不再使用,所以本書(shū)不再作任何介紹。
本書(shū)還是以輸出“Hello World!”字符串為第1個(gè)程序,代碼如下所示。范例:Hello.java public class Hello { public static void main(String args[]{ Java 開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典 System.out.println(“Hello World!”;} } 將上面的程序保存為Hello.java ,然后按照以下步驟進(jìn)行操作:
(1在命令行方式下,進(jìn)入到程序所在的目錄,執(zhí)行javac Hello.java 命令,對(duì)程序進(jìn)行編譯,編譯完成之后可以發(fā)現(xiàn)在目錄之中多了一個(gè)Hello.class 的文件,此文件就是最終要使用的文件。
(2程序編譯之后,輸入java Hello ,執(zhí)行程序, 即可得到程序的輸出結(jié)果。
具體的操作過(guò)程可以參考圖1-15完成。程序輸出結(jié)果: Hello World!程序說(shuō)明: 在所有的Java Application 中,所有程序都是從public static void main(String args[]開(kāi)始運(yùn)行的,剛接觸的讀者可能會(huì)覺(jué)得有些難記,在后面的章節(jié)中將會(huì)詳細(xì)講解main 方法的各個(gè)組成部分。
此時(shí)讀者如果對(duì)上面的程序不明白也沒(méi)有關(guān)系,只要將程序在電腦中輸入,然后按照步驟編譯、執(zhí)行即可,在這里只是讓讀者對(duì)Java Application 程序有一個(gè)初步印象,因?yàn)橐院笏械膬?nèi)容講解的都將圍繞Java Application 程序進(jìn)行。
提示:注意程序中的大小寫(xiě)。讀者在編寫(xiě)以上程序時(shí)一定要注意字母的大小寫(xiě)問(wèn)題,因?yàn)樵贘ava 中是嚴(yán)格區(qū)分大小寫(xiě)的。另外,為了方便代碼的運(yùn)行,建議在此處按照本書(shū)所提供的代碼樣式進(jìn)行編寫(xiě)。
1.2.3 classpath 屬性的作用
在Java 中可以使用set classpath 命令指定Java 類(lèi)的執(zhí)行路徑。下面通過(guò)一個(gè)例子來(lái)了解classpath 的作用,假設(shè)這里的Hello.class 類(lèi)位于f:test 目錄下。
在D 盤(pán)的命令行窗口執(zhí)行下面的指令:
set classpath=f:test 然后在D 盤(pán)根目錄下執(zhí)行java Hello 命令,如圖1-16所示。由上面的輸出結(jié)果可以發(fā)現(xiàn),雖然在D 盤(pán)中并 沒(méi)有Hello.class 文件,但是也可以用java Hello 執(zhí)行 Hello.class 文件,之所以會(huì)有這種結(jié)果,就是因?yàn)?在操作中使用了set classpath 命令將類(lèi)的查找路徑 指向了f:test 目錄,所以在運(yùn)行時(shí),會(huì)從f:test 目錄
查找所需要的類(lèi)。圖1-15 運(yùn)行Hello.java 程序 圖1-16 classpath 設(shè)置
第1章Java概述及開(kāi)發(fā)環(huán)境搭建 提示:classpath與JVM的關(guān)系。
classpath主要指的是類(lèi)的運(yùn)行路徑,實(shí)際上在讀者執(zhí)行Java命令時(shí),對(duì)于本地的操作系統(tǒng)來(lái)說(shuō)就意味著啟動(dòng)了一個(gè)JVM,那么JVM在運(yùn)行時(shí)需要通過(guò)classpath加載所需要的類(lèi),而默認(rèn)情況下classpath是指向當(dāng)前目錄(當(dāng)前命令行窗口所在的目錄的,所以會(huì)從此目錄下直接查找。
可能有些讀者在按照上述的方法操作時(shí)發(fā)現(xiàn)并不好用,這里要告訴讀者的是,在設(shè)置classpath時(shí),最好將classpath指向當(dāng)前目錄,即所有的class文件都從當(dāng)前文件夾中開(kāi)始查找。?提問(wèn):能否通過(guò)classpath在不同的文件夾中編譯Java程序? 現(xiàn)在要編譯一個(gè)*.java的程序,能不能通過(guò)設(shè)置classpath在不同的目錄中進(jìn)行呢?例如,在E盤(pán)下建立一個(gè)Hello.java,然后在C下編譯。
回答:classpath在編譯時(shí)不起作用。
classpath屬性只在Java運(yùn)行時(shí)起作用,而在Java編譯時(shí),如果命令行所在的目錄不是*.java 所在的目錄,則應(yīng)該輸入完整的路徑名稱(chēng),即“javac e:Hello.java”。
1.3 本章要點(diǎn)
1.Java實(shí)現(xiàn)可移植性靠的是JVM,JVM就是一臺(tái)虛擬的計(jì)算機(jī),只要在不同的操作系統(tǒng)上植入不同版本的JVM,Java程序就可以在各個(gè)平臺(tái)上移植,做到“一次編寫(xiě),處處運(yùn)行”。
2.Java中程序的執(zhí)行步驟為: ①使用javac將一個(gè)*.java文件編譯成*.class文件。②使用Java可以執(zhí)行一個(gè)*.class文件。
3.每次使用Java命令執(zhí)行一個(gè)class時(shí),都會(huì)啟動(dòng)JVM,JVM通過(guò)classpath給出的路徑加載所需要的類(lèi)文件,可以通過(guò)set classpath設(shè)置類(lèi)的加載路徑。
4.Java程序主要分為兩種,即Java Application和Java Applet程序,Java Applet主要是在網(wǎng)頁(yè)中嵌入的Java程序,基本上已經(jīng)不再使用了,而Application是指有main方法的程序,本書(shū)主要講解Application程序。
1.4習(xí)題
1.在屏幕上輸出“我喜歡學(xué)習(xí)Java”的信息。
2.在屏幕上打印出以下圖形: ************************************* ********* Java 程序設(shè)計(jì)********* ************************************* 11
第三篇:嵌入式Linux開(kāi)發(fā)環(huán)境搭建
第一章
Ubuntu 8.10的安裝和網(wǎng)絡(luò)配置
1.安裝虛擬機(jī)軟件Vmware 6.0.2 虛擬機(jī)安裝版本Vmware 6.0.2的版本
在 winxp操作系統(tǒng)下用鼠標(biāo)雙擊VMware-workstation-6.0.2-59824圖標(biāo),開(kāi)始安裝虛擬機(jī)Vmware,如下圖所示:
雙擊VMware-workstation-6.0.2-59824圖標(biāo),出現(xiàn)vmware的安裝界面,所有的選項(xiàng)都采用默認(rèn)值,用鼠標(biāo)點(diǎn)【下一步】,然后出現(xiàn)安裝進(jìn)度條,系統(tǒng)開(kāi)始安裝vmware,等待安裝完成后,出現(xiàn)如下安裝完成界面:
用鼠標(biāo)點(diǎn)【Finish】,虛擬機(jī)安裝完成。系統(tǒng)提示重新啟動(dòng)計(jì)算機(jī),選擇【是】重新啟動(dòng)計(jì)算機(jī),電腦重新啟動(dòng)后,虛擬機(jī)安裝完成。
2.新建虛擬機(jī)
打開(kāi)Vmware虛擬機(jī)軟件,選【File】->【New】->【Virtual Machine】,彈出新建虛擬機(jī)向?qū)?duì)話(huà)框,注意以下幾個(gè)重要的選項(xiàng),其他都采用默認(rèn)選項(xiàng)即可。選擇操作系統(tǒng)和版本,如下圖所示:
選擇虛擬機(jī)名稱(chēng)和存放的路徑,如下圖所示:
設(shè)置虛擬機(jī)硬盤(pán)大小為20G ,如下圖所示:
點(diǎn)擊【完成】按鈕,這樣我們就新建了一個(gè)虛擬機(jī),下面我們?cè)O(shè)置一下虛擬機(jī)的內(nèi)存,步驟如下:
點(diǎn)擊虛擬機(jī)Vmware的【VM】->【settings】時(shí)菜單,彈出虛擬機(jī)設(shè)置對(duì)話(huà)框,設(shè)置虛擬機(jī)使用的內(nèi)存為512M或1024M,如下圖所示:
點(diǎn)擊【OK】按鈕,這樣我們就新建了一個(gè)虛擬機(jī),該虛擬機(jī)的硬盤(pán)為20G, 內(nèi)存為512M.接著我們就可以在該虛擬機(jī)上安裝ubuntu操作系統(tǒng)了。
注: 鍵盤(pán)和鼠標(biāo)控制權(quán)在虛擬機(jī)和Windows系統(tǒng)之間的切換是通過(guò)組合鍵【Ctrl】+【Alt】來(lái)實(shí)現(xiàn)的。安裝Linux操作系統(tǒng)ubuntu Ubuntu安裝版本 ubuntu 8.10 點(diǎn)擊vmware軟件工具欄上的【綠色箭頭】啟動(dòng)虛擬機(jī),如下圖所示:
點(diǎn)擊【VM】->【Removable Devices】->【CD_ROM】->【Edit】菜單,彈出CD_ROM設(shè)備對(duì)話(huà)框,如下圖所示:
在Connection中選中【Use ISO image】,設(shè)置ubuntu軟件安裝包的路徑,如上圖所示。然后重新啟動(dòng)虛擬機(jī),開(kāi)始在虛擬機(jī)上安裝ubuntu操作系統(tǒng)。重新啟動(dòng)虛擬機(jī)后,出現(xiàn)如下ubuntu安裝界面:
選擇語(yǔ)言版本為【English】,然后按【回車(chē)】鍵,出現(xiàn)如下安裝界面:
選擇Install Ubuntu,然后【回車(chē)】,開(kāi)始安裝Ubuntu,出現(xiàn)ubuntu安裝進(jìn)度界面如下:
在出現(xiàn)的安裝向?qū)е饕O(shè)置一下城市和用戶(hù)名密碼,如下圖所示,其余的安裝對(duì)話(huà)框都采用默認(rèn)值,選擇【Forward】即可。設(shè)置安裝所在城市
當(dāng)出現(xiàn)安裝所在城市對(duì)話(huà)框時(shí),選擇【ShangHai】,通過(guò)選擇地圖上的點(diǎn)選擇,如下圖所示:
設(shè)置系統(tǒng)的用戶(hù)名和密碼
系統(tǒng)安裝過(guò)程中出現(xiàn)設(shè)置用戶(hù)名和密碼對(duì)話(huà)框時(shí),設(shè)置登陸到ubuntu的用戶(hù)名和密碼,如下圖所示:
然后點(diǎn)擊【Forward】按鈕,在出現(xiàn)的最后安裝向?qū)?duì)話(huà)框中點(diǎn)擊【Install】按鈕,開(kāi)始安裝ubuntu,ubuntu安裝完成后,最后出現(xiàn)安裝完成對(duì)話(huà)框,如下圖所示:
點(diǎn)擊【Restart now】開(kāi)始重新啟動(dòng)ubuntu系統(tǒng)。在系統(tǒng)重啟過(guò)程中出現(xiàn)如下界面:
提示移走光驅(qū)中的磁盤(pán)后按回車(chē)鍵,這時(shí)我們點(diǎn)擊【VM】->【Removable Devices】->【CD_ROM】->【Edit】菜單,彈出CD_ROM設(shè)備對(duì)話(huà)框,如下圖所示:
在Connection中選中【Use physical drive】,點(diǎn)【OK】按鈕,然后按【回車(chē)】即可,系統(tǒng)正常啟動(dòng),在出現(xiàn)輸入用戶(hù)名和密碼提示框時(shí),輸入剛才在安裝過(guò)程中設(shè)置的用戶(hù)名和密碼即可。這樣就進(jìn)入了我們剛安裝好的ubuntu操作系統(tǒng)。
3.安裝Vmware tools工具軟件
Vmware tools工具軟件用于在window系統(tǒng)和虛擬機(jī)的ubuntu系統(tǒng)之間進(jìn)行數(shù)據(jù)傳遞,安裝好Vmware tools之后,鼠標(biāo)可以在window系統(tǒng)和虛擬機(jī)之間平滑切換,在window系統(tǒng)和虛擬機(jī)之間可以直接通過(guò)【復(fù)制】和【粘貼】的方式進(jìn)行數(shù)據(jù)交換。Vmware tools的安裝步驟如下: 1)設(shè)置Vmware tool軟件的路徑為 C:Program FilesVMwareVMware Workstationlinux.iso.點(diǎn)擊【VM】->【Removable Devices】->【CD_ROM】->【Edit】菜單,彈出CD_ROM設(shè)備對(duì)話(huà)框,如下圖所示:
點(diǎn)擊【OK】確定,這時(shí)在ubuntu的桌面上出現(xiàn)一個(gè)光驅(qū)圖標(biāo),如下圖所示:
雙擊Vmware Tools圖標(biāo),打開(kāi)光盤(pán)文件夾,可以看到在該光盤(pán)目錄下看到VmwareTools-6.0.2-59824.tar.gz文件,如下圖所示:
返回系統(tǒng)桌面,在點(diǎn)擊系統(tǒng)菜單【Places】->【Home Folder】,進(jìn)入用戶(hù)目錄cao,在用戶(hù)目錄下建立Soft目錄,把VmwareTools-6.0.2-59824.tar.gz復(fù)制到Soft目錄下。
在安裝VmwareTools-之前我們要先解鎖root用戶(hù),點(diǎn)擊桌面系統(tǒng)菜單 【System】->【Administration】->【Users and Groups】,彈出用戶(hù)設(shè)置對(duì)話(huà)框如下:
選中root用戶(hù),然后點(diǎn)擊下面的 【Unlock】,在點(diǎn)【Close】按鈕關(guān)閉對(duì)話(huà)框。接著開(kāi)始設(shè)置root用戶(hù)密碼,點(diǎn)擊桌面系統(tǒng)菜單 【Applications】->【Accessories】->【Terminal】,進(jìn)入用戶(hù)字符終端操作界面如下圖所示:
按照上圖所示輸入命令sudo passwd root設(shè)置root用戶(hù)密碼; 提示password for cao時(shí),輸入 cao 用戶(hù)密碼;
提示 Enter new UNIX password時(shí),輸入root用戶(hù)密碼;
提示 Retype new UNIX password時(shí),再次輸入root用戶(hù)密碼; 最后顯示password更新成功。
最后輸入命令 su切換到root用戶(hù),在提示Password時(shí),輸入我們剛才設(shè)置的root用戶(hù)密碼即可,然后我們可以看到我們成功切換到root用戶(hù)了,命令提示符由以cao開(kāi)頭改為以root開(kāi)頭了,表示我們已經(jīng)成功切換到了root用戶(hù)。
安裝Vmware Tools工具 打開(kāi)ubuntu 字符操作終端,進(jìn)入到Soft目錄,解壓VmwareTools-6.0.2-59824.tar.gz軟件包,解壓完成后,我們看到在Soft目錄下生成了一個(gè)新的文件夾vmware-tools-distrib,如下圖所示:
執(zhí)行su命令切換到root用戶(hù),執(zhí)行cd vmware-tools-distrib命令進(jìn)入到vmware-tools-distrib目錄,執(zhí)行l(wèi)s命令查看該文件夾下的文件,我們可以看到vmware-tools-distrib文件夾下有一個(gè)vmware-install.pl安裝腳本文件,在操作終端下通過(guò)輸入命令./ vmware-install.pl執(zhí)行該腳本文件安裝vmware-tools 即可。如下圖所示:
然后開(kāi)始安裝vmware Tools工具,安裝過(guò)程中出現(xiàn)一些選項(xiàng)全部采用默認(rèn)值,一直按【回車(chē)】即可,最后操作終端輸出如下提示安裝成功信息,如下圖所示:
Vmware Tools安裝成功后,我們就可以在Windows和虛擬機(jī)的ubuntu之間直接通過(guò)【復(fù)制】和【粘貼】命令進(jìn)行數(shù)據(jù)交換了。
網(wǎng)絡(luò)配置
Ubuntu的虛擬機(jī)安裝模式下的網(wǎng)絡(luò)配置
虛擬機(jī)下安裝好ubuntu之后,在【system】下點(diǎn)【Network Configuration】,彈出Network Connections對(duì)話(huà)框:
選取Wired選項(xiàng)卡,選中eth0, 點(diǎn) Edit 按鈕,彈出如下網(wǎng)絡(luò)接口eth0編輯對(duì)話(huà)框:
注:如果此處沒(méi)有顯示eth0網(wǎng)絡(luò),則在windows 下手工配置網(wǎng)絡(luò)接口的IP地址,然后再重新啟動(dòng)虛擬機(jī),再進(jìn)入上述網(wǎng)絡(luò)配置對(duì)話(huà)框,一般都會(huì)出現(xiàn)eth0網(wǎng)絡(luò)。
在網(wǎng)絡(luò)接口eth0編輯對(duì)話(huà)框配置eth0的IP address 為 192.168.0.220 ,Netmask為255.255.255.0,Gateway 為 192.168.0.1, DNS為 218.2.135.1,配置完成后,點(diǎn)OK即可。IP地址,網(wǎng)絡(luò)掩碼,網(wǎng)關(guān)的具體配置值需要根據(jù)實(shí)際網(wǎng)絡(luò)環(huán)境配置。
注:如果這樣配置不能上網(wǎng),可以嘗試通過(guò)DHCP方式獲取IP地址,DNS還是手動(dòng)設(shè)置。
配置完成后,重新Enable Networking即可,如下圖所示:
這樣就完成了Ubuntu的網(wǎng)絡(luò)配置,配置完成后,就可以在ubuntu里面打開(kāi)瀏覽器上網(wǎng)了。
設(shè)置軟件源服務(wù)器
在全球很多國(guó)家都設(shè)置有為ubuntu系統(tǒng)服務(wù)的服務(wù)器,上面有很多為ubuntu提供的應(yīng)用軟件,我們通過(guò)設(shè)置軟件源服務(wù)器,來(lái)實(shí)現(xiàn)在線(xiàn)通過(guò)網(wǎng)絡(luò)完成軟件的安裝,即通過(guò)一條命令實(shí)現(xiàn)軟件的搜索,下載和安裝,同時(shí)會(huì)安裝該軟件需要的依賴(lài)文件,同過(guò)在網(wǎng)絡(luò)來(lái)安裝ubuntu上的應(yīng)用軟件非常方便。Ubuntu軟件源服務(wù)器的設(shè)置步驟如下:
1)在桌面系統(tǒng)菜單上點(diǎn)擊【System】->【Administration】->【Software Source】,彈出軟件源設(shè)置對(duì)話(huà)框如下:
在Download from 里選擇軟件源服務(wù)器,我們一般選擇 Taiwan的倒數(shù)第1或第2個(gè)服務(wù)器,如上圖所示,選擇好軟件源服務(wù)器后,點(diǎn)【Close】按鈕,彈出如下對(duì)話(huà)框提示可獲得的軟件包信息已經(jīng)過(guò)時(shí),需要重新更新。
點(diǎn)擊【Reload】按鈕更新可獲得的軟件包信息。更新完成后,我們就完成了ubuntu軟件源服務(wù)器的設(shè)置。
安裝libncurses5-dev軟件包 在ubuntu環(huán)境下,我們用命令make menuconfig來(lái)對(duì)內(nèi)核進(jìn)行裁剪和配置時(shí),需要用終端模式下的字符菜單支持軟件包libncurses5-dev,下面我們就通過(guò)網(wǎng)絡(luò)的方式來(lái)安裝libncurses5-dev軟件包,安裝的前提是已經(jīng)設(shè)置了軟件源和ubuntu系統(tǒng)的網(wǎng)絡(luò)工作正常。安裝libncurses5-dev非常簡(jiǎn)單,在終端模式下輸入:apt-get install libncurses5-dev即可。如下圖所示:
這樣,libncurses5-dev就安裝好了,我們可以在終端模式下通過(guò)make menuconfig命令來(lái)配置和裁剪linux內(nèi)核了。
安裝交叉編譯器arm-linux-gcc 嵌入式開(kāi)發(fā)的應(yīng)用程序編譯好后不是在PC機(jī)上運(yùn)行,而是在我們的ARM開(kāi)發(fā)板上運(yùn)行,這時(shí)需要用arm-linux-gcc 交叉編譯器編譯。安裝交叉編譯器非常簡(jiǎn)單,步驟如下:
1)拷貝arm-linux-gcc交叉編譯器軟件包arm-linux-gcc-4.3.2.tgz到/home/cao/Soft目錄。2)進(jìn)入到Soft目錄,在該目錄下執(zhí)行tar zxvf arm-linux-gcc-4.3.2.tgz –C / 命令 解壓arm-linux-gcc-4.3.2.tgz。如下圖所示:
注: C是大寫(xiě),C后面有個(gè)空格
該命令執(zhí)行后,將把a(bǔ)rm-linux-gcc 安裝到 /usr/local/arm/4.3.2 目錄。arm-linux-gcc編譯器安裝好后,我們還要把交叉編譯器arm-linux-gcc的路徑加入到系統(tǒng)的PATH環(huán)境變量,這樣在操作終端的其他任意目錄下都可以使用arm-linux-gcc。設(shè)置環(huán)境變量的步驟如下: 1)在終端界面下輸入 gedit /root/.bashrc ,編輯./bashrc 文件,如下圖所示:
2)在.bashrc文件中增加如下命令把交叉編譯器的路徑增加到環(huán)境變量PATH中, export PATH=$PATH:/usr/local/arm/4.3.2/bin,然后保存推出,如下圖所示:
重新打開(kāi)終端,通過(guò)su命令切換到root用戶(hù),輸入arm-linux-gcc –v就可以看到我們安裝的交叉編譯器arm-linux-gcc的版本信息了。如下圖所示:
我們可以看到我們的安裝的gcc版本為4.3.2,到這里,我們的交叉編譯器環(huán)境arm-linux-gcc就安裝好了。
第四篇:linux嵌入式開(kāi)發(fā)板搭建開(kāi)發(fā)環(huán)境經(jīng)驗(yàn)總結(jié)
一、環(huán)境
服務(wù)器端:PC機(jī)(win7),Ubuntu10.04操作系統(tǒng),Vmware8.0.4 客戶(hù)機(jī)端 :ARM11開(kāi)發(fā)板(6410)一根交叉網(wǎng)線(xiàn)
二、Ping通電腦和開(kāi)發(fā)板
用一根交叉網(wǎng)線(xiàn)連接電腦和開(kāi)發(fā)板,給開(kāi)發(fā)板上電,一定要是交叉網(wǎng)線(xiàn),普通網(wǎng)線(xiàn)不行,一般買(mǎi)開(kāi)發(fā)板時(shí)會(huì)送一根交叉網(wǎng)線(xiàn)。在開(kāi)發(fā)板輸入ifconfig,查看開(kāi)發(fā)板的ip地址,我的ip為192.168.0.232
設(shè)置本地連接和虛擬機(jī)ip為同一網(wǎng)段
在虛擬機(jī)上輸入ping 192.168.0.118,在win7下的cmd輸入ping192.168.0.232,驗(yàn)證是否能ping通
如果ping不通,先把防火墻關(guān)閉,再把網(wǎng)絡(luò)設(shè)置為家庭網(wǎng)絡(luò)。Ping通后進(jìn)行下一步
三、Ping通虛擬機(jī)和開(kāi)發(fā)板
開(kāi)發(fā)虛擬機(jī),我用的是vmware8.0.2,ubuntu10.0.4 在控制面板里面橋接vmnet1和本地連接,右擊網(wǎng)橋,設(shè)置ip,設(shè)置方法和本地連接一樣,并把ipv6前面的勾去掉。
完成后設(shè)置Vmware,右擊自己的虛擬機(jī),點(diǎn)擊settings
設(shè)置Network Adapter選項(xiàng),選擇custom:Specific virtual network的CMNET1(H Ost-only)
修改虛擬機(jī)的ip地址,在network connections里編輯 Auto Ethernet這個(gè)網(wǎng)絡(luò)
把ip設(shè)置成和網(wǎng)橋一樣。點(diǎn)擊apply
不出意外,現(xiàn)在應(yīng)該虛擬機(jī)和開(kāi)發(fā)板能相互ping通了,現(xiàn)在離成功又進(jìn)了一步。
四、安裝nfs服務(wù)器程序
用以下命令安裝nfs服務(wù)器程序軟件包,在命令執(zhí)行過(guò)程中,默認(rèn)啟動(dòng)SUNRPC服務(wù)和nfs服務(wù),并創(chuàng)建/etc/exports和、etc /default/nfs-kernel-server配置文件,等待用戶(hù)完成nfs安裝后,配置將要共享的資源。
可以使用netstat命令檢查nfs端口是否已經(jīng)打開(kāi):
以上截圖可看出,nfs和SUNRPC端口已處于監(jiān)聽(tīng)狀態(tài),不過(guò),客戶(hù)端此時(shí)還無(wú)法訪(fǎng)問(wèn)到nfs服務(wù)器,還需對(duì)nfs服務(wù)器進(jìn)行配置,將共享資源授權(quán)給特定用戶(hù)之后,客戶(hù)端才能成功訪(fǎng)問(wèn)。
五、啟動(dòng)和停止nfs服務(wù)
雖然完成nfs安裝后會(huì)自動(dòng)啟動(dòng)nfs,但要調(diào)整共享資源還得重新啟動(dòng)nfs服務(wù),以使配置生效。
1、命令方式手動(dòng)啟動(dòng)和停止nfs服務(wù)
啟動(dòng)nfs服務(wù):
停止nfs服務(wù):
重啟nfs服務(wù):
查看nfs服務(wù)當(dāng)前狀態(tài),若nfs服務(wù)正在運(yùn)行則返回“nfsd running”。否則返回“nfsd not running”。
2、使用圖形工具啟動(dòng)和停止nfs服務(wù)(此項(xiàng)好像在10.04中沒(méi)有?)在Ubuntu中同樣可以使用services-admin圖形界面工具管理nfs服務(wù)。若想隨機(jī)啟動(dòng)時(shí)啟動(dòng)nfs服務(wù),可以點(diǎn)擊【系統(tǒng)】|【系統(tǒng) 管理】|【服務(wù)】命令,打開(kāi)【服務(wù)設(shè)置】對(duì)話(huà)框,勾選【文件夾共享服務(wù)(nfs-kernel-server)】選項(xiàng),單擊【關(guān)閉】按鈕完成設(shè)置。
六、nfs服務(wù)器配置
nfs服務(wù)是根據(jù)一個(gè)―名單‖為用戶(hù)開(kāi)放共享資源的。
1、nfs服務(wù)配置文件
在Ubuntu Linux系統(tǒng)中,/etc/exports是nfs服務(wù)器的全局配置文件。配置文件中一行即為一條配置項(xiàng),用于指明網(wǎng)絡(luò)中―哪些客戶(hù)端‖共享―哪些目錄資源‖。導(dǎo)出資源配置項(xiàng)格式如下:.......其中,表示服務(wù)器中導(dǎo)出的共享資源路徑,注意:必須是絕對(duì)路徑名; 表示客戶(hù)端主機(jī)標(biāo)識(shí),可以用主機(jī)名、組、通配符、網(wǎng)段方式指定,如果是多個(gè)主機(jī)標(biāo)識(shí),需要使用空格隔開(kāi); 表示賦予每個(gè)客戶(hù)端主機(jī)的訪(fǎng)問(wèn)權(quán)限。
把需要導(dǎo)出的目錄全部放在/etc/exports文件是一個(gè)良好的習(xí)慣,這可以對(duì)nfs的管理更明確和清晰。盡量將聲明的詳細(xì)具體,從而阻止不速之客進(jìn)入nfs服務(wù)系統(tǒng)。
2、使用圖形工具配置nfs服務(wù)(Ubuntu10.04中好像沒(méi)找著)配置nfs服務(wù)器除了可以使用文本編輯工具直接修改/etc/exports文件,然后重新啟動(dòng)nfs服務(wù),完成整個(gè)配置任務(wù)外。還可以采用Ubuntu Linux系統(tǒng)提供的nfs服務(wù)圖形配置工具——shares-admin進(jìn)行快速、便捷的配置。
步驟:?jiǎn)螕簟鞠到y(tǒng)】|【系統(tǒng)管理】|【共享的文件夾】命令,打開(kāi)【共享的文件夾】對(duì)話(huà)框。選擇【添加】按鈕打開(kāi)【Share Folder】對(duì)話(huà)框進(jìn)行設(shè)置,有很多種配置方式。配置完后你會(huì)發(fā)現(xiàn)。/etc/exports配置文件的內(nèi)容是完全跟圖形界面下的配置對(duì)應(yīng)的。如果只修改了/etc/exports文件,并不總是要重啟nfs服務(wù)??梢允褂胑xportfs工具重新讀取/etc/exports,就可以加載輸出的目錄。exportfs工具語(yǔ)法如下:
exportfs [-aruv]-a : 全部掛載(或卸載)/etc/exports的設(shè)置。
-r : 重新掛載/etc/exports的設(shè)置,更新/etc/exports和/var/lib/nfs/xtab里面的內(nèi)容。-u : 卸載某一個(gè)目錄。
-v : 在輸出的時(shí)候,把共享目錄顯示出來(lái)。
在nfs已經(jīng)啟動(dòng)的情況下,如果又修改了/etc/exports文件,可以執(zhí)行命令: $ exportfs-ra 系統(tǒng)日志文件/var/lib/nfs/xtab中可以查看共享目錄訪(fǎng)問(wèn)權(quán)限,不過(guò)只有已經(jīng)被掛載的目錄才會(huì)出現(xiàn)在日志文件中。
七、連接nfs服務(wù)器
通過(guò)上面的配置后,客戶(hù)機(jī)便可通過(guò)簡(jiǎn)單的mount命令將nfs共享資源掛載到本地來(lái)了,之后可以如同操作本地文件系統(tǒng)一樣使用。
1、查看nfs服務(wù)器的共享資源
在客戶(hù)機(jī)連接nfs共享資源前,通常要用showmount命令查看一下nfs服務(wù)器上的共享資源情況,了解是否有權(quán)限訪(fǎng)問(wèn)。showmount命令查看 某臺(tái)nfs服務(wù)器上都有哪些nfs共享資源。showmount命令包含在nfs-kernel-server軟件包中,一般語(yǔ)法格式 是:showmount [dehv] nfssrvname 其中nfssrvname表示nfs服務(wù)器主機(jī)名,也可用IP地址各選項(xiàng)如下:-d :顯示客戶(hù)端所掛載的共享目錄-e: 顯示nfs服務(wù)的導(dǎo)出共享目錄列表-h: 顯示幫助信息-v: 顯示版本
單獨(dú)使用showmount命令,將顯示本地主機(jī)/etc/exports配置文件中的共享配置項(xiàng)。
2、掛載共享資源
可以通過(guò)mount命令在客戶(hù)機(jī)端掛載nfs服務(wù)器端的共享資源。mount命令的一般語(yǔ)法格式是:
mount nfssrvname:/Share-Directory /mnt-Point 其中,nfssrvname表示nfs服務(wù)器主機(jī)名,也可用IP地址;Share-Directory表示nfs服務(wù)器導(dǎo)出的共享資源目錄,必須用 絕對(duì)路徑,與nfssrvname用“:”號(hào)隔開(kāi);mnt-Point表示共享資源將掛載到客戶(hù)端主機(jī)上的位置,在掛載前一定要確保掛載目錄已經(jīng)存在。
如果nfs服務(wù)器上沒(méi)有給予授權(quán),客戶(hù)端仍強(qiáng)行掛載某些共享目錄,則會(huì)被拒絕,執(zhí)行失敗。
3、卸載共享資源
在使用完nfs服務(wù)器共享資源后,建議即刻卸載nfs文件系統(tǒng)。卸載命令umount一般語(yǔ)法格式是:
umount /mnt-Point 其中mnt-Point表示共享資源在客戶(hù)端的掛載點(diǎn)。
注意:當(dāng)有用戶(hù)在使用某個(gè)已加裝的共享目錄上的文件時(shí)(在掛載點(diǎn)下要退出才能卸載),則不能卸載在文件系統(tǒng)。如果用戶(hù)確認(rèn)無(wú)誤,可使用“umount-f”命令強(qiáng)行卸載共享的目錄。
4、測(cè)試是否成功,自己掛自己
在folinux文件夾中看到掛載過(guò)來(lái)的share文件夾中的good文件
如果失敗輸入exportfs –rv
如果再失敗應(yīng)該是防火墻的問(wèn)題,輸入sudo ufw disable關(guān)閉防火墻,進(jìn)行到這里不出意外應(yīng)該可以?huà)燧d成功了。
在開(kāi)發(fā)板上輸入
[root@FORLINX6410]# mount 192.168.0.118:/mnt/share /mnt會(huì)出現(xiàn)下面的提示: svc: failed to register lockdv1 RPC service(errno 111).mount: mounting 192.168.0.118:/mnt/share on /mnt failed: Connection refused 正確應(yīng)該輸入
[root@FORLINX6410]# mount-t nfs-o nolock 192.168.0.118:/mnt/share /mnt 大功告成,這時(shí)你虛擬機(jī)上的/mnt/share被掛載到了開(kāi)發(fā)板的/mnt上。
第五篇:HTML5 APP開(kāi)發(fā)環(huán)境的框架搭建心得
HTML5 APP開(kāi)發(fā)環(huán)境的框架搭建心得
前言
HTML5 開(kāi)發(fā)APP需要一個(gè)開(kāi)發(fā)框架和編譯環(huán)境,參閱了相關(guān)資料后選擇開(kāi)源的PhoneGap。PhoneGap是一個(gè)開(kāi)源的開(kāi)發(fā)框架,使用HTML5,CSS3和JavaScript來(lái)構(gòu)建跨平臺(tái)的的移動(dòng)應(yīng)用程序。
下面介紹PhoneGap環(huán)境的搭建,及第一個(gè)Web APP。
1、選擇你使用的平臺(tái),PhoneGap支持6個(gè)平臺(tái)的開(kāi)發(fā)和編譯:IOS,Android,WebOS(HP),BlackBerry,Symbian。
我比較熟悉Android的開(kāi)發(fā)流程,所以選擇Android作為搭建環(huán)境。
2、Eclipse 3.4+ 安裝
Eclipse 3.4+下載地址:http://
4、下載并安裝ADT Plugin,最新版本是:ADT-20.0.0.zip。下載
地
址
:http://developer.android.com/tools/sdk/eclipse-adt.html#installing
PS:Eclipse 搭建Android開(kāi)發(fā)環(huán)境,大家Google一下應(yīng)該很多。
5、下載最新版本的PhoneGap并解壓,我們將使用其中的Android目錄。
下
載
地
址
:https://github.com/phonegap/phonegap/zipball/1.0.0
6、編寫(xiě)第一個(gè)HTML5 App
啟動(dòng)Eclipse,然后在菜單“File”下選擇“New > Android Project”。
在項(xiàng)目根目錄下,創(chuàng)建兩個(gè)新目錄:
/libs
/assets/004km.cn.phonegap.*;
移除import android.app.Activity;
在這里你可能會(huì)遇到Eclipse找不到phonegap-1.0.0.jar的錯(cuò)誤。在這種情況下,右鍵單擊/libs文件夾找到Build Paths/ > Configure Build Paths。然后在Libraries標(biāo)簽頁(yè)中添加phonegap-1.0.0.jar到項(xiàng)目中。如果Eclipse不是很穩(wěn)定,你需要點(diǎn)擊F5刷新一次項(xiàng)目。
右鍵單擊AndroidManifest.xml并選擇Open With > Text Editor。
將下面的權(quán)限設(shè)置拷貝到versionName之后(這個(gè)可以根據(jù)APP的具體情況而定):
————————————————————————————————————————–
在A(yíng)ndroidManifest的activity標(biāo)簽中添加android:configChanges=“orientation|keyboardHidden”。
7、Hello橘子博客
在 “/assets/www”目錄中新建文件“index.html”,并粘貼如下代碼: