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() 方法简单处理下。

复制代码
代码
    @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,如需转载请自行联系原作者

目录
相关文章
|
21天前
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
46 15
Android 系统缓存扫描与清理方法分析
|
13天前
|
算法 JavaScript Android开发
|
15天前
|
安全 搜索推荐 Android开发
揭秘安卓与iOS系统的差异:技术深度对比
【10月更文挑战第27天】 本文深入探讨了安卓(Android)与iOS两大移动操作系统的技术特点和用户体验差异。通过对比两者的系统架构、应用生态、用户界面、安全性等方面,揭示了为何这两种系统能够在市场中各占一席之地,并为用户提供不同的选择。文章旨在为读者提供一个全面的视角,理解两种系统的优势与局限,从而更好地根据自己的需求做出选择。
39 2
|
20天前
|
安全 搜索推荐 Android开发
Android vs. iOS:解锁智能手机操作系统的奥秘####
【10月更文挑战第21天】 在当今这个数字化时代,智能手机已成为我们生活中不可或缺的伙伴。本文旨在深入浅出地探讨两大主流操作系统——Android与iOS的核心差异、优势及未来趋势,帮助读者更好地理解这两个平台背后的技术哲学和用户体验设计。通过对比分析,揭示它们如何塑造了我们的数字生活方式,并展望未来可能的发展路径。无论您是技术爱好者还是普通用户,这篇文章都将带您走进一个充满创新与可能性的移动世界。 ####
38 3
|
14天前
|
安全 搜索推荐 程序员
深入探索Android系统的碎片化问题及其解决方案
在移动操作系统的世界中,Android以其开放性和灵活性赢得了广泛的市场份额。然而,这种开放性也带来了一个众所周知的问题——系统碎片化。本文旨在探讨Android系统碎片化的现状、成因以及可能的解决方案,为开发者和用户提供一种全新的视角来理解这一现象。通过分析不同版本的Android系统分布、硬件多样性以及更新机制的影响,我们提出了一系列针对性的策略,旨在减少碎片化带来的影响,提升用户体验。
|
14天前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统的差异性及优化策略
在当今数字化时代,移动操作系统的竞争尤为激烈,其中iOS和Android作为市场上的两大巨头,各自拥有庞大的用户基础和独特的技术特点。本文旨在通过对比分析iOS与Android的核心差异,探讨各自的优势与局限,并提出针对性的优化策略,以期为用户提供更优质的使用体验和为开发者提供有价值的参考。
|
16天前
|
安全 Android开发 iOS开发
安卓系统与iOS系统的比较####
【10月更文挑战第26天】 本文将深入探讨安卓(Android)和iOS这两大主流移动操作系统的各自特点、优势与不足。通过对比分析,帮助读者更好地理解两者在用户体验、应用生态、系统安全等方面的差异,从而为消费者在选择智能手机时提供参考依据。无论你是技术爱好者还是普通用户,这篇文章都将为你揭示两大系统背后的故事和技术细节。 ####
37 0
|
Java 调度 Android开发
android体系课-系统启动流程-之zygote进程启动过程源码分析
笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己
|
Java 调度 Android开发
android体系课-系统启动流程-之SystemServer启动过程源码分析
笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己

热门文章

最新文章