一、C++是與cpu相關的本地代碼,也就是說每種機型都要提供相應的編譯器,而且每個應用都要分別編譯成適應不同機型的版本 而Java只要開發商提供針對特定硬體平台的JVM,你的應用程序代碼只需一次編譯就可以運行在所有android機上了。所以對於android這樣的系統,必然要以Java為程序語言的,否則結果是無法想像的。
二、Java跨平台,入門簡單,而學習和精通C++的成本實在比JAVA要高太多了。java擁有世界上最大的開發群體,有最大的開源社區的技術支持,這樣它就可以吸引最大量的開發者團隊或者公司,提供更多更強優質的產品,而優質的產品和人氣,是吸引最終用戶的法寶。 其實這也就體現了,為什麼開源軟體是軟體產業的一次革命了。
三、Google採用Java虛擬機的另一個很關鍵的原因,就是能使手機開發廠商擺脫Linux的GPL協議的束縛;Google通過Java虛擬機在Linux 內核和應用層之間做了隔離,因此,開源的只是內核和Java虛擬機,而廠商採用Java編寫的驅動和應用則不需要開源,這樣,既維護了各廠商的利益,又保證了各種android應用在各款手機的跨平台應用。
四、說Java效率低下的朋友一定沒有深入理解過JVM的實現。現在的嵌入式CPU大多都集成了Java協處理,支持JVM指令集,能直接運行微碼,不再是以前的「解釋執行了」,效率上已經非常接近於C。Android的GUI框架是基於Native C底層的一套自有框架,基本上所有視頻加速功能都是由C/C++實現,GUI效率一點不打折扣。
㈡ 開發AndroidAPP使用的是什麼語言
開發AndroidAPP可以使用Java語言和C語言。
Java是一種編程語言,被特意設計用於互聯網的分布式環境。Java具有類似於C++語言的「形式和感覺」,但它要比C++語言更易於使培旅尺用,而且在編程時徹底採用了一種「以對象為導向」的方式配高。
使用Java編寫的應用程序,既可以在一台單獨的電腦上運行,也可以被分布在一個網路的伺服器端和客戶端運行。另外,Java還可以被用來編寫容量很小的應用程序模塊或者applet,做為網頁的一部分使用。applet可使網頁使用者和網頁之間進行互動式操作。
C語言是一鎮納門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
㈢ Android為什麼選擇Java作為開發語言
Android選擇Java作為開發語言原因有以下幾點:
1、Java是世界上使用人數最多的語言,所以更容易吸引開發者到Android生態里開發。
2、Java有一堆現成的開發工具,開發難度更小。
3、很多手機開發人員已經熟悉使用Java(Java ME),這個領域中,Java已為人所熟悉。
4、Java有內存管理,沒有指針。相對C、C++更安全,在手機中,安全性很重要!
5、因為Java跑在虛擬機上,可限制APP程序開發OS內核,以保證手機的安全性。
6、Java在編譯成JVM可運行的代碼後,不需要在多台不同手機(硬體設備)上重新編譯。手機硬體設備經常日新月異,所以這一點上也顯得格外重要。
7、和C、C++相比,APP在手機上的那一點速度差異並不是一個大問題,如果是的話,應該考慮使用匯編語言。
㈣ 如何在安卓手機里運行JAVA程序
安裝JAVA程序方法:
在網站上搜索一個APK格式的JAVA虛擬機,下載安裝程序後安裝在手機上,
安裝後手機上「所有程序」中增加此程序的圖標,如下圖(安裝方法與安裝其他程序一樣,通過手機瀏覽器下載安裝或通過電腦下載安裝包)
㈤ Android 中如何在java類中調用activity 中的一個方法
通常,您不應該以這種方式創建新的 MainActivity 實例。要打開一個新的 MainActivity,請使用 Intent。在您的情況下,您應該引用原始 MainActivity 實例,並在那裡調用此方法。不要以任何方式創建新的,因為您已經在運行它。
一個簡單的解決方法:
MainActivity.this.myMethod("Hello there")
您不必存儲mContext. 你已經在 MainActivity 裡面了。
因此,完整的代碼將是:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = findViewById(R.id.webview);
myWebView.loadUrl("http://www.google.com");
myWebView.addJavascriptInterface(new WebAppInterface(), "Android");
}
public void myMethod(String test){
Toast.makeText(this, test, Toast.LENGTH_SHORT).show();
}
public class WebAppInterface {
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
MainActivity.this.myMethod("Hello there");
}
}
}
實際上,我認為您甚至可以避免使用MainActivity.this., 並myMethod直接調用。