Android學習 – (2)打造Android版手機視頻監控系統

來源:互聯網
上載者:User

   接上一篇博文, 來繼續完善這個例子; 主要是新增了2個Activity, 顯示裝置與視頻通道的TreeActivity, 瀏覽某一個通道的即時畫面的ImageActivity. TreeActivity主要就是使用一個ListView控制項按層次關係來顯示地區、裝置、視頻通道資訊。主要涉及以下幾個方面知識點:

1、通過HTTP POST方式擷取服務端響應的JSON格式資料

json格式當前被大量應用於web資料轉送,你可以在這裡瞭解什麼是json;因為服務端採用Java開發,可以採用的json庫很多,比較常見的如org.json(不需要額外的jar包,Android內建json格式資料解析包就是這個;但好像對自訂實體類支援不太好,也有可能是我不會用,因為以前做web開發都是採用xml來傳輸服務端響應的資料),json-lib(功能強大,但需要附帶一些其他jar包,其通過反射方式來實現對使用者自訂bean支援),最終啥都沒有採用,直接Override toString() 方法簡單處理下。

代碼    @Override
    public String toString() 
    {
        if(entType == 1)
        {
            return "{\"id\":" + id + ", \"code\":\"" + beloneto + "\", \"name\":\"" + hostName + "\"}";
        }
        else
        {
            return "{\"id\":" + id + ", \"code\":\"" + beloneto + "\", \"name\":\"" + hostName 
            + "\",\n \"entType\":" + entType + ",\"type\": " + dvrType + ", \"ip\":\""
            + ip + "\",\n\"channel\":" + VchList.toString() + "}\n";
        }
   }

 

 

2、自訂ListView Adapter、清單項目布局

可以通過自訂Adapter類靈活控制資料呈現與相關商務邏輯的處理,實現帶表徵圖顯示、簡單樹形層次

 

3、簡單資料存放區配置SharedPreferences

SharedPreferences最終產生就是一個xml檔案,很類似於Asp.Net開發中的Web.config或WinForm下的App.config,可以用於一些配置資訊的存放,功能等同於Windows SDK開發中常用的ini檔案。剛好部落格園Terry_龍有一篇專門博文 Android 小項目之--資料存放區【Shared Preferences】(附源碼)講述SharedPreferences的使用,大家可以參考。

4、Intent、Bundle類簡單使用

    接下來再簡單介紹下ImageActivity,主要是擷取TreeActivity通過Bundle傳遞過來的視頻通道ID、名稱等資訊,然後開啟一線程,間隔指定時間即時擷取該路視頻的視頻畫面,關鍵就是通過URLConnection、BitmapFactorydecodeStream(InputStream is)方法產生Bitmap,然後交給ImageView控制項顯示。該線程與UI線程互動通過訊息Handler.sendMessage(Message msg)來處理,如果連續嘗試請求5次資料都失敗,則彈出對話方塊提示使用者,並關閉當前ImageActivity。

5、全球化、本地化資源

在Android上處理這方面倒是比較容易,一句話就是定義對應的資源;在res目錄下建立對應目錄如values-en-rUS表示使用者在設定-->選擇地區為美國時介面對應字串顯示,橫豎屏、不同解析度處理也是通過類似方式處理,例如drawable-land-160dpi

 

    一個好的應用服務需要好的大量內容提供支援,我在網上搜尋了一把,很遺憾沒有找到對外開放允許訪問的裝置;如果有對公用開放的,如道路監控網路攝影機、動物園、公園啥的,倒可以好好利用一把,看看路況,看看風景,如果能夠看看大熊貓啥的那是更加好。AndroidDemo2.rar也就是說你下載到的demo是無法看到效果的,據說國外一些裝置倒是支援http或rtsp訪問並返回JPEG圖片,也有不少裝置對公眾開放,如在CodeProject上看到的採用C#開發多路IP攝像機的視頻監控系統(效果下),好像就是採用這一模式實現的。

     由於自己也是剛開始學習Android,相關資料方面 - 電子文檔eoeAndroid特刊以及近期在部落格園連載的大話企業級Android開發都挺不錯的,可以讓初學者能夠快速瞭解什麼是Android,順利進入Android開發領域。書籍方面部落格園知識庫就有介紹,以及相關部落格內容也很多,可以看我博文Android學習資料匯總中的簡單整理;當然更加詳盡的資源,如果你有安裝Android sdk 可以在其目錄下找一下docs檔案夾, 這個是google提供的類似於msdn的本地文件庫,只是好像是英文的,但內容很全,帶所有api說明(汗一下先,這個當前我利用遠遠不夠)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.