基于android的远程视频监控系统

基本过程是android作为socket客户端将采集到的每一帧图像数据发送出去,PC作为服务器接收并显示每一帧图像实现远程监控。图片如下(后来PC端加了个拍照功能)。。。

 

(PS。刚学android和java不久很多东西还不懂,高手若是知道哪些地方可以继续优化的话还请多多指点下啊)

系统代码如下:
一、android手机客户端
(1)AndroidManifest.xml文件。添加camera和socket权限,并设置了程序开始执行的activity、

<?xml version= "1.0"  encoding= "utf-8" ?>
<manifest xmlns:android= "http://schemas.android.com/apk/res/android"
     package = "org.wanghai.CameraTest"
     android:versionCode= "1"
     android:versionName= "1.0"  >
 
     <uses-sdk android:minSdkVersion= "15"  />
     
     <!-- 授予程序使用摄像头的权限 -->
         <uses-permission android:name= "android.permission.CAMERA"  />
         <uses-feature android:name= "android.hardware.camera"  />
         <uses-feature android:name= "android.hardware.camera.autofocus"  />
         <uses-permission android:name= "android.permission.INTERNET" />
     <uses-permission android:name= "android.permission.KILL_BACKGROUND_PROCESSES" />
     <uses-permission android:name= "android.permission.RESTART_PACKAGES" />
 
     <application
         android:icon= "@drawable/ic_launcher"
         android:label= "@string/app_name"  >
                 
         <activity
             android:name= ".GetIP"
             android:screenOrientation= "landscape"
             android:label= "@string/app_name"  >
             <intent-filter>
                 <action android:name= "android.intent.action.MAIN"  />
                 <category android:name= "android.intent.category.LAUNCHER"  />
             </intent-filter>
         </activity>
         <activity
             android:name= ".CameraTest"
             android:screenOrientation= "landscape"
             android:label= "@string/app_name"  >
 
         </activity>
         
     </application>
 
</manifest>

  (2)main.xml 设置surfaceview用于摄像头采集图像的预览

<?xml version= "1.0"  encoding= "utf-8" ?>
<LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
     android:layout_width= "fill_parent"
     android:layout_height= "fill_parent"
     android:orientation= "vertical"  >
 
    <SurfaceView
         android:id= "@+id/sView"
         android:layout_width= "fill_parent"
         android:layout_height= "fill_parent"
         android:scaleType= "fitCenter" />
 
</LinearLayout>

  (3)login.xml 登录界面,用于输入服务器IP

<?xml version= "1.0"  encoding= "utf-8" ?>
<TableLayout xmlns:android= "http://schemas.android.com/apk/res/android"
         android:id= "@+id/loginForm"
         android:orientation= "vertical"
         android:layout_width= "fill_parent"
         android:layout_height= "fill_parent"
         >
 
<TableRow>           
<TextView
         android:layout_width= "fill_parent"
         android:layout_height= "wrap_content"
         android:text= "IP:"
         android:textSize= "10pt"
         />
<!-- 输入用户名的文本框 -->
<EditText
     android:id= "@+id/ipedittext"
         android:layout_width= "fill_parent"
         android:layout_height= "wrap_content"
         android:digits= "0123456789."
         android:hint= "请填写服务器IP"
         android:selectAllOnFocus= "true"
         />
</TableRow>
 
</TableLayout>

  (4)GetIP.java 获得服务器IP后,通过Intent启动CameraTest的activity,ip信息通过Bundle传递

public  class  GetIP extends  Activity {
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值