Android学习 - (2)打造Android版手机视频监控系统

简介:

上一篇博文, 来继续完善这个例子; 主要是新增了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() 方法简单处理下。

复制代码
ExpandedBlockStart.gif 代码
    @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说明(汗一下先,这个当前我利用远远不够)。


本文转自peterzb博客园博客,原文链接:http://www.cnblogs.com/peterzb/archive/2010/06/21/1761892.html,如需转载请自行联系原作者

目录
相关文章
|
25天前
|
Android开发
基于android-11.0.0_r39,系统应用的手动签名方法和过程
本文介绍了基于Android 11.0.0_r39版本进行系统应用手动签名的方法和解决签名过程中遇到的错误,包括处理`no conscrypt_openjdk_jni-linux-x86_64`和`RegisterNatives failed`的问题。
71 2
|
24天前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
38 0
|
18天前
|
Android开发 UED 开发者
Android经典实战之WindowManager和创建系统悬浮窗
本文详细介绍了Android系统服务`WindowManager`,包括其主要功能和工作原理,并提供了创建系统悬浮窗的完整步骤。通过示例代码,展示了如何添加权限、请求权限、实现悬浮窗口及最佳实践,帮助开发者轻松掌握悬浮窗开发技巧。
38 1
|
25天前
|
Java 物联网 Android开发
移动应用与系统:技术演进与未来展望探索安卓应用开发:从新手到专家的旅程
【8月更文挑战第28天】本文将深入探讨移动应用开发的技术演进、移动操作系统的发展历程以及未来的发展趋势。我们将通过实例和代码示例,展示如何利用最新的技术和工具来开发高效、可靠的移动应用。无论你是初学者还是经验丰富的开发者,这篇文章都将为你提供有价值的信息和见解。 【8月更文挑战第28天】在这个数字时代,掌握安卓应用的开发技能不仅是技术人员的追求,也成为了许多人实现创意和梦想的途径。本文将通过深入浅出的方式,带领读者从零基础开始,一步步走进安卓开发的奇妙世界。我们将探讨如何配置开发环境,理解安卓应用的核心组件,以及如何通过实际编码来构建一个功能完整的应用。无论你是编程新手还是希望提升自己的开发者
|
1月前
|
存储 安全 物联网
Android经典实战之跳转到系统设置页面或其他系统应用页面大全
本文首发于公众号“AntDream”,关注获取更多技巧。文章总结了Android开发中跳转至系统设置页面的方法,包括设备信息、Wi-Fi、显示与声音设置等,并涉及应用详情与电池优化页面。通过简单的Intent动作即可实现,需注意权限与版本兼容性。每日进步,尽在“AntDream”。
105 2
|
23天前
|
安全 Android开发 iOS开发
安卓与iOS的终极对决:哪个系统更适合你?
在智能手机的世界里,安卓和iOS两大操作系统如同两座巍峨的山峰,各自拥有庞大的用户群体。本文将深入浅出地探讨这两个系统的优缺点,并帮助你找到最适合自己的那一款。让我们一起揭开这场技术盛宴的序幕吧!
|
28天前
|
Android开发
【Azure 环境】记录使用Notification Hub,安卓手机收不到Push通知时的错误,Error_Code 30602 or 30608
【Azure 环境】记录使用Notification Hub,安卓手机收不到Push通知时的错误,Error_Code 30602 or 30608
|
11月前
|
数据采集 监控 网络协议
linux系统中利用QT实现视频监控的基本方法
linux系统中利用QT实现视频监控的基本方法
333 0
|
监控 定位技术 安全
Qt编写安防视频监控系统10-视频轮询
一、前言 视频轮询在视频监控系统中是一个基础的核心功能,尤其是上了大屏以后,这个功能是必须的,根据预先设定的轮询间隔逐个加载视频到预先设定的通道画面数中,轮询间隔、轮询画面数、轮询采用的码流类型(主码流、子码流)都可以在系统设置中进行统一设置,轮询的视频源采用摄像机表中的所有摄像机,当画面数不够的时候,其余留空显示即可,轮询到最后一个视频,重新从第一个开始轮询。
1614 0
|
4月前
|
存储 监控 安全
【亮剑】指导初学者如何搭建和使用网络视频监控系统。
【4月更文挑战第30天】本文指导初学者如何搭建和使用网络视频监控系统。核心设备包括摄像头(如固定、PTZ、多目、夜视)、存储选项(NVR、DVR、云存储)及网络交换机等。安装配置步骤涉及规划布局、安装摄像头、设置存储设备和软件配置。实时监控包括实时查看、接收警报和录像回放。理解设备功能、合理布局并细心操作,就能建立稳定监控体系。随着技术进步,未来监控系统将更智能、高效,保障安全。
461 0