Android 與web一起工作(Android讀取網站特定頁面)

來源:互聯網
上載者:User

項目設想

網站部分開發一個關於web開發知識的網站,要通過android來閱讀這個模組的內容。

實現

  • 通過手機瀏覽器直接閱讀,優點:不用安裝單獨的用戶端。缺點:會存在一些冗餘的資訊消耗客戶的流量。
  • 通過一個自己網站實現的app,優點:可以針對手機用戶端單獨設計app,將其他圖片和無相關的內容過濾掉,節省客戶的流量,缺點:開發成本變大。

現在我們通過技術實現第二種實現方式:自己實現Android用戶端。

一 建立自己的網站

將自己的網站的內容發布,更新,刪除都放到web互連網上維護,相信有很多收費和不收費的,上網找找就能找到自己滿意的。我們這次講得重點是Android app。

二 建立一個view

這個view很簡單,就是一個可以下來查看當前全部的文字內容。

<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android"               android:layout_width="306px" android:layout_height="410px"               android:layout_x="7px" android:layout_y="61px"             android:scrollbars="vertical" android:fadingEdge="vertical">     <TextView      android:id="@+id/ResultView"      android:layout_width="fill_parent"      android:layout_height="fill_parent"      android:layout_marginTop="2px"     android:layout_marginBottom="2px"     android:layout_marginLeft="2px"     android:layout_marginRight="2px"     android:text=""     android:layout_x="7px"     android:layout_y="61px"     >     </TextView></ScrollView>

三 建立一個app工程(InternetActivity)

這次用到的是HttpGet,類似的還可以使用HttpPost.具體代碼如下:

public class InternetActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);        setContentView(R.layout.rdbox);        TextView rbox=(TextView)findViewById(R.id.ResultView);                HttpGet post=new HttpGet("http://www.demon.com/");        try{        HttpResponse response=new DefaultHttpClient().execute(post);        if(response.getStatusLine().getStatusCode()==200){                String result=EntityUtils.toString(response.getEntity());                result=result.replaceAll("<", "");                result=result.replaceAll(">", "");            rbox.setText(result);        }        else{            rbox.setText("code:"+response.getStatusLine().toString());        }        }        catch(Exception ex){            rbox.setText("error:"+ex.getMessage().toString());            ex.printStackTrace();        }            }    }

運行,發現有錯誤,不能正常返回內容,尋找之後發現,Android的許可權很嚴格,還要在AndroidManifest.xml加入一行代碼:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="qiyesite.android.readbox"    android:versionCode="1"    android:versionName="1.0" ><uses-permission android:name="android.permission.INTERNET" />

記住位置很重要,一定要放到manifest 下的第一級目錄。最好上一張運行。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.