国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > Android網(wǎng)絡(luò)開發(fā)

Android網(wǎng)絡(luò)開發(fā)

時(shí)間:2023-05-28 08:51:02 | 來源:網(wǎng)站運(yùn)營

時(shí)間:2023-05-28 08:51:02 來源:網(wǎng)站運(yùn)營

Android網(wǎng)絡(luò)開發(fā):

1. WebView用法

①布局文件新建一個(gè)WebView,特別注意線性布局和控件的寬高都要匹配父控件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/wv_first" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>

②代碼中的配置

private WebView wv_first;wv_first = (WebView) findViewById(R.id.wv_first); // getSettings()設(shè)置瀏覽器的屬性 // setJavaScriptEnabled(true)讓W(xué)ebView支持JavaScript腳本 wv_first.getSettings().setJavaScriptEnabled(true); // setWebViewClient(new WebViewClient()) // 這段代碼的作用是當(dāng)我們從一個(gè)網(wǎng)頁跳轉(zhuǎn)到另外一個(gè)網(wǎng)頁的時(shí)候,目標(biāo) // 網(wǎng)頁仍然在WebView中顯示 // 而不是打開系統(tǒng)瀏覽器 wv_first.setWebViewClient(new WebViewClient()); //傳入網(wǎng)址,打開網(wǎng)頁 wv_first.loadUrl("http://www.baidu.com");

③AndroidManifest.xml文件中聲明權(quán)限

<uses-permission android:name="android.permission.INTERNET"/>

2. 使用HTTP協(xié)議訪問網(wǎng)絡(luò)

(1)使用HttpURLConnection

首先學(xué)習(xí)一個(gè)新的控件ScrollView 由于手機(jī)屏幕大小有限,而ScrollView允許我們通過滑動(dòng)查看手機(jī)屏幕外的內(nèi)容 布局文件代碼如下:

<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/tv_request_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView>

①新建一個(gè)按鈕點(diǎn)擊事件,在按鈕點(diǎn)擊事件里開啟一個(gè)子線程,用于訪問網(wǎng)絡(luò)

@Override public void run() { URL url; HttpURLConnection connection; try { // 先new出一個(gè)URL對象,傳入網(wǎng)絡(luò)地址 // 調(diào)用openConnection()方法獲取到HttpURLConnection對象 url = new URL("http://www.baidu.com"); connection = (HttpURLConnection) url.openConnection(); // 設(shè)置HTTP請求所使用的方法,GET或者POST // GET表示從服務(wù)器獲取數(shù)據(jù) // POST表示向服務(wù)器提交數(shù)據(jù) connection.setRequestMethod("GET"); // 下面使一些自由的定制,比如設(shè)置連接超時(shí),讀取超時(shí)的毫秒數(shù),以及服務(wù)器希望得到的一些消息頭 connection.setConnectTimeout(8000); connection.setReadTimeout(8000); // 接下來利用輸入流對數(shù)據(jù)進(jìn)行讀取 InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); StringBuilder response = new StringBuilder(); String line; while ((line = br.readLine()) != null) { response.append(line); } // 讀取數(shù)據(jù)完畢,接下來將數(shù)據(jù)傳送到Handler進(jìn)行顯示 Message message = new Message(); message.what = SHOW_REQUEST; message.obj = response.toString(); handler.sendMessage(message); //最后關(guān)閉HTTP連接 connection.disconnect(); } catch (Exception e) { e.printStackTrace(); } }

②因?yàn)樯厦娲a中是在子線程中,所以不能顯示在UI上,所以要用Handler機(jī)制將服務(wù)器返回的數(shù)據(jù)傳遞到主線程進(jìn)行UI顯示,具體實(shí)現(xiàn)代碼如下:

@Override public void handleMessage(Message msg) { if(msg.what==SHOW_REQUEST){ String response=(String) msg.obj; //在這里進(jìn)行UI操作將結(jié)果顯示到UI上 tv_request_text.setText(response); } }

③AndroidManifest.xml文件中聲明權(quán)限

<uses-permission android:name="android.permission.INTERNET"/>

④主Activity中的代碼如下

// Handler用來處理網(wǎng)絡(luò)訪問請求之后得到數(shù)據(jù)的顯示 MyHandler handler = new MyHandler(tv_request_text); // 創(chuàng)建訪問網(wǎng)絡(luò)的線程對象 final SendHttpRequestThread request = new SendHttpRequestThread(handler); // 設(shè)置按鈕點(diǎn)擊事件 btn_request.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 開啟線程 request.start(); } });

(2)使用HTTPClient

①布局文件不變,開啟的線程內(nèi)的代碼改為如下:

@Override public void run() { // 因?yàn)镠ttpClient是一個(gè)接口,所以無法直接創(chuàng)建它的對象,一般是用 HttpClient client = new DefaultHttpClient(); // 想要發(fā)起一條GET請求就創(chuàng)建一個(gè)HttpGet對象 // 并傳入目標(biāo)網(wǎng)絡(luò)地址,調(diào)用HttpClient的execute()方法傳入HttpGet對象 HttpGet httpGet = new HttpGet("http://www.baidu.com"); try { // 執(zhí)行execute()方法后會(huì)返回HttpResponse對象,服務(wù)器返回的所有信息就包含在這里面了 HttpResponse response = client.execute(httpGet); // 接下來取出服務(wù)器返回的狀態(tài)碼,如果是200就說明請求和響應(yīng)都成功了 if (response.getStatusLine().getStatusCode() == 200) { // 請求和響應(yīng)都成功了,取出返回的具體內(nèi)容 // response的getEntity()得到一個(gè)HttpEntity對象 // EntityUtils這個(gè)工具類的toString()方法將得到的內(nèi)容轉(zhuǎn)化成字符串 // 傳入"utf-8"的目的是在服務(wù)器返回中文的時(shí)候防止亂碼 HttpEntity entity = response.getEntity(); String responsetext = EntityUtils.toString(entity, "utf-8"); // 接下來將數(shù)據(jù)傳送到Handler進(jìn)行顯示 Message message = new Message(); message.what = SHOW_REQUEST; message.obj = responsetext; handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } }

②AndroidManifest.xml文件中聲明權(quán)限

③主Activity中的代碼如下

// Handler用來處理網(wǎng)絡(luò)訪問請求之后得到數(shù)據(jù)的顯示 MyHandler handler = new MyHandler(tv_request_text); //創(chuàng)建HttpCliect訪問網(wǎng)絡(luò)的線程對象 final SendClientRequestThread requestThread=new SendClientRequestThread(handler); // 設(shè)置按鈕點(diǎn)擊事件 btn_request.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 開啟線程 requestThread.start(); } });

3. 下載Apache阿帕奇搭建Web服務(wù)器

(1) 安裝環(huán)境

系統(tǒng):windows 10 x86

Apache版本:Apache 2.4.29

(2) Apache的下載

第一步:

登錄http://httpd.apache.org/download.cgi 這個(gè)地址,2.4.16 ,如下圖位置:

第二步:

進(jìn)入如下界面后,選擇第一項(xiàng)ApacheHaus,這是個(gè)第三方下載平臺(tái),在它的網(wǎng)站下載獨(dú)立的Apache會(huì)是一個(gè)壓縮包另外四個(gè)中,第二個(gè)也是獨(dú)立的Apache下載地址,另外三個(gè)是集成開發(fā)環(huán)境。我這里選的第一個(gè)。

第三步:

在新的界面中,會(huì)發(fā)現(xiàn)VC9和VC11和VC14字樣,通過閱讀相關(guān)內(nèi)容得知用VS2014編譯的無法在windows xp和server 2003中使用。算是為了兼容性好點(diǎn)吧,我這里選的用VC14編譯的64位Apache,選擇下載至此,下載過程完成!

三.安裝

安裝過程很簡單,因?yàn)槭菈嚎s包,所以,先將其解壓包中的 Apache24 解壓到合適的位置

4. 配置httpd.conf文件

找到F:/Apache/httpd-2.4.29-o102n-x86-vc14-r2/Apache24/conf文件,用Notepad++打開,因?yàn)镹otepad++是比較萬能的記事本軟件,所以用他打開,并且記住行號,以便于下次查找,找到:Define SRVROOT 這一項(xiàng),將其右方的值改為,當(dāng)前你Apache安裝存放的目錄地址,如下所示

apache的默認(rèn)端口是80,如果發(fā)現(xiàn)被占用了,修改httpd.conf的如下選項(xiàng),如下所示

5. 安裝Apache的主服務(wù)

溫馨提示:一定要以管理員身份運(yùn)行,不然會(huì)報(bào)錯(cuò)

以管理員的身份運(yùn)行cmd命令(左下角搜索框搜索命令行,右鍵以管理員模式打開,F(xiàn):進(jìn)入指定盤符,cd..進(jìn)入指定目錄文件),進(jìn)入apache的bin目錄,執(zhí)行如下命令

httpd.exe -k install -n androidapache

該命令的意思是,安裝apache服務(wù),并將該服務(wù)名稱命名為androidapache(你也可以改成別的),回車。

如下所示

6. 啟動(dòng)apache服務(wù)

在安裝目錄中,找到/bin/ApacheMonitor.exe可執(zhí)行文件,雙擊運(yùn)行,桌面右下角會(huì)出現(xiàn)圖標(biāo),雙擊打開窗口界面,會(huì)看到如圖所示:

*點(diǎn)擊start,完成apache的啟動(dòng),在瀏覽器中輸入http://localhost:80,出現(xiàn)如下界面,啟動(dòng)成功 *

7. Apahe服務(wù)的卸載

若Apache服務(wù)器軟件不想用了,想要卸載,需要先卸載apache服務(wù)(切記,若直接刪除安裝路徑的文件夾,會(huì)有殘余文件在電腦,可能會(huì)造成不必要的麻煩)

在CMD命令窗口,輸入如下(建議先停止服務(wù)再刪除):

sc delete apache

apache是Apache服務(wù)器的服務(wù)名

*****重點(diǎn)來了**

①以上是Apache搭建的過程,搭建完成后,我們需要用它創(chuàng)建我們自己的網(wǎng)頁

②進(jìn)入到Apache的安裝目錄的/htdoc目錄下創(chuàng)建一個(gè)data.html文件(自定義),隨便 輸入一些內(nèi)容

③在瀏覽器中訪問http://127.0.0.1/data.xml

特別注意:127.0.0.1訪問的本機(jī)服務(wù)器的ip地址,要想讓別人訪問這個(gè)服務(wù)器,必須先查看自己電腦的本機(jī)ip,然后將127.0.0.1換成這個(gè)ip地址 這樣設(shè)置之后就可以直接用上面的TTTP訪問網(wǎng)絡(luò)的方法直接得到數(shù)據(jù)

了解更多技術(shù)文章,歡迎關(guān)注我的微信公眾號



關(guān)鍵詞:網(wǎng)絡(luò)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉