javaweb與android交互
A. 請問java web和java android有什麼區別
java web 與java android 是兩個不同的領域。
1java web是java網路開發,一般是使用ssh框架構將網路項目。
2java android 則是利用java語言對android系統進行開發,android是移動平台的操作系統,對android的開發不僅包含單機開發,還囊括了網路開發。
兩者大體上是不同的,但是android的網路開發中部分包含了java webkai開發。
B. android與javascript的交互可以不通過webview嗎
在android的應用程序中,可以直接調用webview中的javascript代碼,而webview中的javascript代碼,也可以去調用ANDROID應用程序(也就是JAVA部分的代碼).下面舉例說明之:
1JAVASCRIPT腳本調用android程序
要在webview中,調用addJavascriptInterface(OBJ,interfacename)
其中,obj為和javascript通信的應用程序,interfacename為提供給JAVASCRIPT調用的
名稱,設置如下:
?
1
2
3
4
5
WebViewwebView=newWebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(getIntent().getCharSequenceExtra("url").toString());
//設定JavaScript腳本代碼的界面名稱是」android」
webView.addJavascriptInterface(this,"android");
其中WEBVIEW調用的HTML頁中,JS如下:
?
1
2
3
4
<scripttype="text/javascript">
functionok(){
android.js(document.forms[0].elements[0].value,document.forms[0].elements[1].value);
}
而這個android.js在哪呢?那是在應用程序中的
?
1
2
3
4
//JavaScript腳本代碼可以調用的函數js()處理
publicvoidjs(Stringaction,Stringuri){
...../
}
這個JS中就是處理JAVASCRIPT發送過來的請求了.
2)下面的例子,當WEBVIEW網頁中輸入後,點提交按鈕,會跟ANDROID的應用程序進行交互
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
WebViewwebView=newWebView(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(newMyWebChromeClient());
webView.loadUrl(getIntent().getCharSequenceExtra("url").toString());
//onJsAlert()函數接收到來自HTML網頁的alert()警告信息
publicbooleanonJsAlert(WebViewview,Stringurl,Stringmessage,JsResultresult){
if(message.length()!=0){
AlertDialog.Builderbuilder=newAlertDialog.Builder(JExample02.this);
builder.setTitle("FromJavaScript").setMessage(message).show();
result.cancel();
returntrue;
}
returnfalse;
}
而HTML頁中的JS事件為:
?
1
<inputtype="button"value="alert"onclick="alert(document.forms[0].elements[0].value)">
特別提示下,在自定義的MyWebChromeClient())中,除了可以重寫onJSAlert外,還可以
重寫onJsPrompt,onJsConfirm等,可以參考
http://618119.com/archives/2010/12/20/199.html
3)下面這個例子,先顯示第一張圖片,點一點後,再顯示第2張圖片
HTMLJS中:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<scriptlanguage="javascript">
functionchangeImage02(){
document.getElementById("image").src="navy02.jpg";
}
functionchangeImage01(){
document.getElementById("image").src="navy01.jpg";
}
</script>
</head>
<body>
<aonClick="window.demo.onClick()">
<imgid="image"src="navy01.jpg"/></a>
</body>
當點<aonClick="window.demo.onClick()">
後,調用ANDROID應用程序中的處理部分,看程序:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
webView.addJavascriptInterface(newJSInterface(),"demo");
publicfinalclassJSInterface{
//JavaScript腳本代碼可以調用的函數onClick()處理
publicvoidonClick(){
handler.post(newRunnable(){
publicvoidrun(){
if(flag==0){
flag=1;
webView.loadUrl("javascript:changeImage02()");
}else{
flag=0;
webView.loadUrl("javascript:changeImage01()");
}
}
});
}
}
可以看到,ANDROID中,通過webView.loadUrl去調用HTML頁面中的JS
C. android 開發 與 javaweb開發 區別
首先這個問題是個范圍問題。
android開發是java開發的一個分支。你說的java類庫是指標准類庫吧。android種的類庫有一部分和java類庫基本一致,也就是類名一致。比如String,Integer這些,但是具體的實現都是改過的(還好改過的,不然和甲骨文打官司就慘了)。不過java種的swing這些類庫在android種就沒有了,也就是說android種只用了java種的常用的類庫。你對java開發了解的話那麼android很快就可以上手,只是熟悉api的一個過程而已。而且android開發比你用java開發web要簡單容易很多,因為你不必了解太多的東西,只需要了解android方面就可以了,而不像做web你除了java還需要html,css,javascript,sql,甚至ssh框架,太繁瑣了。說了這么多也就是說明android其實比一般的java開發還容易。區別不大,而且更簡單。
現在分別理解一下什麼是安卓開發和Java開發。
Android 平台是 Open Handset Alliance 的成果,Open Handset Alliance 組織由一群共同致力於構建更好的移動android開發。
android開發電話的公司組成。這個組織由 Google 領導,包括移動運營商、手持設備製造商、零部件製造商、軟體解決方案和平台提供商以及市場營銷公司。從軟體開發的觀點看,Android 正處在開源領域的中心位置。
市場上第一款支持 Android 的手機是由 HTC 製造並由 T-Mobile 供應的 G1。這款設備從設想到推出花了大約一年的時間,惟一可用的軟體開發工具是一些實行增量改進的 SDK 發行版。隨著 G1 發行日的臨近,Android 團隊發布了 SDK V1.0,用於這個新平台的應用程序也浮出水面。
為了鼓勵創新,Google 舉辦了兩屆 「Android Developer Challenges」,為優勝的參賽作品提供數百萬美金的獎勵。G1 問世幾個月之後,隨後就發布了 Android Market,它使用戶可以瀏覽應用程序,並且可以將應用程序直接下載到他們的手機上。經過大約 18 個月,一個新的移動平台進入公眾領域。
2003年10月,Andy Rubin等人創建Android公司,並組建Android團隊。
2005年8月17日,Google低調收購了成立僅22個月的高科技企業Android及其團隊。安迪魯賓成為Google公司工程部副總裁,繼續負責Android項目。
2007年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統,並且在這天谷歌宣布建立一個全球性的聯盟組織,該組織由34家手機製造商、軟體開發商、電信運營商以及晶元製造商共同組成,並與84家硬體製造商、軟體開發商及電信營運商組成開放手持設備聯盟(Open Handset Alliance)來共同研發改良Android系統,這一聯盟將支持谷歌發布的手機操作系統以及應用軟體,Google以Apache免費開源許可證的授權方式,發布了Android的源代碼。
2008年,在GoogleI/O大會上,谷歌提出了Android HAL架構圖,在同年8月18號,Android獲得了美國聯邦通信委員會(FCC)的批准,在2008年9月,谷歌正式發布了Android 1.0系統,這也是Android系統最早的版本。
2009年4月,谷歌正式推出了Android 1.5這款手機,從Android 1.5版本開始,谷歌開始將Android的版本以甜品的名字命名,Android 1.5命名為Cupcake(紙杯蛋糕)。該系統與Android 1.0相比有了很大的改進。
2009年9月份,谷歌發布了Android 1.6的正式版,並且推出了搭載Android 1.6正式版的手機HTC Hero(G3),憑借著出色的外觀設計以及全新的Android 1.6操作系統,HTC Hero(G3)成為當時全球最受歡迎的手機。Android 1.6也有一個有趣的甜品名稱,它被稱為Donut(甜甜圈)。
2010年2月份,linux內核開發者Greg Kroah-Hartman將Android的驅動程序從Linux內核「狀態樹」(「staging tree」)上除去,從此,Android與Linux開發主流將分道揚鑣。在同年5月份,谷歌正式發布了Android 2.2操作系統。谷歌將Android 2.2操作系統命名為Froyo,翻譯完名為凍酸奶。
2010年10月份,谷歌宣布Android系統達到了第一個里程碑,即電子市場上獲得官方數字認證的Android應用數量已經達到了10萬個,Android系統的應用增長非常迅速。在2010年12月,谷歌正式發布了Android 2.3操作系統Gingerbread (姜餅)。
2011年1月,谷歌稱每日的Android設備新用戶數量達到了30萬部,到2011年7月,這個數字增長到55萬部,而Android系統設備的用戶總數達到了1.35億,Android系統已經成為智能手機領域佔有量最高的系統。
2011年8月2日,Android手機已佔據全球智能機市場48%的份額,並在亞太地區市場占據統治地位,終結了Symbian(塞班系統)的霸主地位,躍居全球第一。
2011年9月份,Android系統的應用數目已經達到了48萬,而在智能手機市場,Android系統的佔有率已經達到了43%。繼續在排在移動操作系統首位。在9月19號,谷歌將會發布全新的Android 4.0操作系統,這款系統被谷歌命名為Ice Cream Sandwich(冰激凌三明治)。
2012年1月6日,谷歌Android Market已有10萬開發者推出超過40萬活躍的應用,大多數的應用程序為免費。Android Market應用程序商店目錄在新年首周周末突破40萬基準,距離突破30萬應用僅4個月。在2011年早些時候,Android Market從20萬增加到30萬應用也花了四個月。
第二:關於javaweb的開發:
詹姆斯·戈士林博士以"Java技術之父"聞名於世。
他是Java技術的創始人, 作為Sun研究院院士,他親手設計了Java語言,完成了Java技術的原始編譯器和虛擬機。在他的帶領下,Java現已成為互聯網的標准編程模式以及分布式企業級應用的事實標准,其跨平台的技術優勢為網路計算帶來了劃時代的變革。戈士林博士積極致力於軟體開發工具的研究,以使軟體開發工具的功能更強大,更容易為開發人員所使用,確保應用、服務開發的迅速完成。
Java技術是Sun公司在1995年5月正式推出的。八年多來,Java已從編程語言發展成為全球第一大通用開發平台。Java技術已為計算機行業主要公司所採納,同時也被越來越多的國際技術標准化組織所接受。1999年,Sun推出了以Java 2平台為核心的J2EE、J2SE和J2ME三大平台。隨著三大平台的迅速推進,在世界上形成了一股巨大的Java應用浪潮。同時,Java技術還引發了一場無法停止的大變革,為整個Java社團帶來了巨大的潮水般的商業機會。
Java技術及其應用將有更大的發展。據IDC預計,自2001年起的其後5年內,採用Java的IT產品的價值將翻番,在2006年將達到4.53億美元,年增長率為14.9%。截止到2003年5月,注冊Java Developer Connection (JDC)的Java開發商超過300萬人,對JRE(Java運行環境)的下載達7,200萬次。Sun在JavaOne 2003大會上確定的目標是,在3~5年內使Java技術開發商從今天的300萬發展到1,000萬,以支持Java技術這一全球領先技術平台的顯赫地位。
D. Android和Java的關繫到底是怎麼樣的
java是一門編成語言,而android時一個基於linux內核的手機操作系統。
兩者的關系在於,用java語言可以編寫出應用程序安裝在android系統上,這也是現在java語言就業的一個方向。
E. 新手用Java怎麼做簡單後天安卓系統
使用J2EE技術或者叫JavaWeb技術開發一個Web伺服器,伺服器返回Json數據,android客戶端解析json數據,使用http協議和伺服器通信,android有相應模塊和API。首先樓主得懂Java後台也就是JavaEE,用Servlet搭建Web服務,Serlvet映射一個URL,Android請求這個URL,Servlet處理請求,然後就是Java編程,Web分層、JDBC等技術。伺服器返回標準的JSON輕量數據(就是純文本),Android來解析。
具體技術:(1)JavaServlet作為Web服務的處理入口;(2)Java編程編寫業務處理程序;(3)JDBC訪問資料庫;(4)Android端的HTTP模塊,API;(5)Android端解析JSON數據;(6)Servlet或者Java端生成JSON數據;
等樓主技術強了,就可以接觸各種框架、EJB技術了。Spring、SpringMVC、Struts、Hibernate,甚至NOSQL、分布式、負載、node.js、模板技術等等。