From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001 From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 18 八月 2017 18:12:17 +0800 Subject: [PATCH] H264 NALU解析 并在RTSPServer判断 --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java | 396 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 384 insertions(+), 12 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java index ebdee8e..ef53c46 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java @@ -1,32 +1,238 @@ package cn.com.basic.face.fragment; +import android.content.SharedPreferences; +import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; -import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.FrameLayout; +import android.widget.LinearLayout; import android.widget.RadioButton; -import android.widget.RelativeLayout; -import android.widget.TextView; import android.widget.Toast; import com.bsk.zhangbo.demoforbsk.R; + +import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.LeftRightBaseFragment; import cn.com.basic.face.base.MainActivity; +import cn.com.basic.face.dialog.SelectDialog; +import cn.com.basic.face.discern.common.CommonVariables; +import cn.com.basic.face.discern.entity.Device; +import cn.com.basic.face.discern.query.item.DeviceQueryItem; +import cn.com.basic.face.service.DeviceMng; +import cn.com.basic.face.util.Constant; +import cn.com.basic.face.util.OkClickedListener; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; -import java.util.ArrayList; -import java.util.List; +import org.xutils.http.RequestParams; + +import java.util.HashMap; +import java.util.Map; public class DeviceFragment extends LeftRightBaseFragment { - - @ViewInject(R.id.fragment_device_left_wifi_check_box) - private RadioButton fragment_device_left_wifi_check_box; private static DeviceFragment instance = new DeviceFragment(); public static DeviceFragment getInstance() { return instance; + } + + @ViewInject(R.id.fragment_device_left_wifi_check_box) + private RadioButton fragment_device_left_wifi_check_box; + @ViewInject(R.id.fragment_device_left_search) + private EditText fragment_device_left_search; + @ViewInject(R.id.fragment_device_left_lan_check_box) + private RadioButton fragment_device_left_lan_check_box; + @ViewInject(R.id.fragment_device_left_school_check_box) + private RadioButton fragment_device_left_school_check_box; + @ViewInject(R.id.fragment_device_left_camera1_check_box) + private RadioButton fragment_device_left_camera1_check_box; + @ViewInject(R.id.fragment_device_left_camera2_check_box) + private RadioButton fragment_device_left_camera2_check_box; + @OnClick(R.id.fragment_device_left_wifi_relative_layout) + public void fragment_device_left_wifi_relative_layout_click(View view) { fragment_device_left_wifi_check_box_click(view); } + @OnClick(R.id.fragment_device_left_lan_relative_layout) + public void fragment_device_left_lan_relative_layout_click(View view) { fragment_device_left_lan_check_box_click(view); } + @OnClick(R.id.fragment_device_left_school_relative_layout) + public void fragment_device_left_school_relative_layout_click(View view) { fragment_device_left_school_check_box_click(view); } + @OnClick(R.id.fragment_device_left_camera1_relative_layout) + public void fragment_device_left_camera1_relative_layout_click(View view) { fragment_device_left_camera1_check_box_click(view); } + @OnClick(R.id.fragment_device_left_camera2_relative_layout) + public void fragment_device_left_camera2_relative_layout_click(View view) { fragment_device_left_camera2_check_box_click(view); } + @ViewInject(R.id.fragment_left_right_frame_layout_right) + private FrameLayout fragment_left_right_frame_layout_right; + + @ViewInject(R.id.fragment_device_right_camera1_brand) + private EditText fragment_device_right_camera1_brand; + @ViewInject(R.id.fragment_device_right_camera1_ip) + private EditText fragment_device_right_camera1_ip; + @ViewInject(R.id.fragment_device_right_camera1_port) + private EditText fragment_device_right_camera1_port; + @ViewInject(R.id.fragment_device_right_camera1_resolution) + private EditText fragment_device_right_camera1_resolution; + @ViewInject(R.id.fragment_device_right_camera1_username) + private EditText fragment_device_right_camera1_username; + @ViewInject(R.id.fragment_device_right_camera1_password) + private EditText fragment_device_right_camera1_password; + + @ViewInject(R.id.fragment_device_right_camera2_brand) + private EditText fragment_device_right_camera2_brand; + @ViewInject(R.id.fragment_device_right_camera2_ip) + private EditText fragment_device_right_camera2_ip; + @ViewInject(R.id.fragment_device_right_camera2_port) + private EditText fragment_device_right_camera2_port; + @ViewInject(R.id.fragment_device_right_camera2_resolution) + private EditText fragment_device_right_camera2_resolution; + @ViewInject(R.id.fragment_device_right_camera2_username) + private EditText fragment_device_right_camera2_username; + @ViewInject(R.id.fragment_device_right_camera2_password) + private EditText fragment_device_right_camera2_password; + + @ViewInject(R.id.fragment_device_right_lan_ip) + private EditText fragment_device_right_lan_ip; + @ViewInject(R.id.fragment_device_right_lan_port) + private EditText fragment_device_right_lan_port; + @ViewInject(R.id.fragment_device_right_lan_protocol) + private EditText fragment_device_right_lan_protocol; + + @ViewInject(R.id.fragment_device_right_device_info_sn) + private EditText fragment_device_right_device_info_sn; + @ViewInject(R.id.fragment_device_right_device_info_device_address) + private EditText fragment_device_right_device_info_device_address; + @ViewInject(R.id.fragment_device_right_device_info_school_name) + private EditText fragment_device_right_device_info_school_name; + @ViewInject(R.id.fragment_device_left_parent) + private LinearLayout fragment_device_left_parent; + @ViewInject(R.id.fragment_device_right_parent) + private LinearLayout fragment_device_right_parent; + + + private View wifiView; + private View lanView; + private View schoolView; + private View camera1View; + private View camera2View; + + private DeviceQueryItem camera1; + private DeviceQueryItem camera2; + private Device androidDevice; + + public DeviceQueryItem getCamera2() { + return camera2; + } + + public DeviceQueryItem getCamera1() { + return camera1; + } + + public void clearAll() { + fragment_device_left_wifi_check_box.setChecked(false); + fragment_device_left_lan_check_box.setChecked(false); + fragment_device_left_school_check_box.setChecked(false); + fragment_device_left_camera1_check_box.setChecked(false); + fragment_device_left_camera2_check_box.setChecked(false); + fragment_left_right_frame_layout_right.removeAllViews(); + } + + @Override + protected void initViews(View view, Bundle savedInstanceState) { + super.initViews(view, savedInstanceState); + wifiView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_wifi, null); + lanView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_lan, null); + schoolView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_device_info, null); + camera1View = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_camera1, null); + camera2View = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_camera2, null); + ViewUtils.inject(this, wifiView); + ViewUtils.inject(this, lanView); + ViewUtils.inject(this, schoolView); + ViewUtils.inject(this, camera1View); + ViewUtils.inject(this, camera2View); + fragment_device_left_wifi_check_box.setChecked(true); + loadSharedPreferenceValues(); + setupUI(fragment_device_left_parent); + setupUI(fragment_device_right_parent); + setupUI(wifiView); + setupUI(lanView); + setupUI(schoolView); + setupUI(camera1View); + setupUI(camera2View); + } + + @OnClick(R.id.fragment_device_left_parent) + public void fragment_device_left_parent_click(View view) { + System.out.println("aa"); + } + + @OnClick(R.id.fragment_device_right_parent) + public void fragment_device_right_parent_click(View view) { + System.out.println("aa"); + } + + private void loadSharedPreferenceValues() { + SharedPreferences wifiMap = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.WIFI); + + SharedPreferences lanMap = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.LAN); + fragment_device_right_lan_ip.setText(DeviceMng.getInstance().get(lanMap, "fragment_device_right_lan_ip")); + fragment_device_right_lan_port.setText(DeviceMng.getInstance().get(lanMap, "fragment_device_right_lan_port")); + fragment_device_right_lan_protocol.setText(DeviceMng.getInstance().get(lanMap, "fragment_device_right_lan_protocol")); + + SharedPreferences schoolMap = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.SCHOOL); + fragment_device_right_device_info_sn.setText(DeviceMng.getInstance().get(schoolMap, "fragment_device_right_device_info_sn")); + fragment_device_right_device_info_device_address.setText(DeviceMng.getInstance().get(schoolMap, "fragment_device_right_device_info_device_address")); + fragment_device_right_device_info_school_name.setText(DeviceMng.getInstance().get(schoolMap, "fragment_device_right_device_info_school_name")); + + SharedPreferences camera1Map = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.CAMERA1); + fragment_device_right_camera1_brand.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_brand")); + fragment_device_right_camera1_ip.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_ip")); + fragment_device_right_camera1_port.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_port")); + fragment_device_right_camera1_resolution.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_resolution")); + fragment_device_right_camera1_username.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_username")); + fragment_device_right_camera1_password.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_password")); + + SharedPreferences camera2Map = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.CAMERA2); + fragment_device_right_camera2_brand.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_brand")); + fragment_device_right_camera2_ip.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_ip")); + fragment_device_right_camera2_port.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_port")); + fragment_device_right_camera2_resolution.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_resolution")); + fragment_device_right_camera2_username.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_username")); + fragment_device_right_camera2_password.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_password")); + } + + @OnClick(R.id.fragment_device_left_wifi_check_box) + public void fragment_device_left_wifi_check_box_click(View view) { + clearAll(); + fragment_device_left_wifi_check_box.setChecked(true); + fragment_left_right_frame_layout_right.addView(wifiView); + } + + @OnClick(R.id.fragment_device_left_lan_check_box) + public void fragment_device_left_lan_check_box_click(View view) { + clearAll(); + fragment_device_left_lan_check_box.setChecked(true); + fragment_left_right_frame_layout_right.addView(lanView); + } + + @OnClick(R.id.fragment_device_left_school_check_box) + public void fragment_device_left_school_check_box_click(View view) { + clearAll(); + fragment_device_left_school_check_box.setChecked(true); + fragment_left_right_frame_layout_right.addView(schoolView); + } + + @OnClick(R.id.fragment_device_left_camera1_check_box) + public void fragment_device_left_camera1_check_box_click(View view) { + clearAll(); + fragment_device_left_camera1_check_box.setChecked(true); + fragment_left_right_frame_layout_right.addView(camera1View); + } + + @OnClick(R.id.fragment_device_left_camera2_check_box) + public void fragment_device_left_camera2_check_box_click(View view) { + clearAll(); + fragment_device_left_camera2_check_box.setChecked(true); + fragment_left_right_frame_layout_right.addView(camera2View); } public int[] getLeftRightLayoutIds() { @@ -38,10 +244,176 @@ MainActivity.selectPage(0); } - @OnClick(R.id.fragment_device_left_wifi_relative_layout) - public void fragment_device_left_wifi_relative_layout_click(View view) { - Toast.makeText(MainActivity.getInstance(), "eh", Toast.LENGTH_SHORT).show(); - fragment_device_left_wifi_check_box.setChecked(!fragment_device_left_wifi_check_box.isSelected()); + @OnClick(R.id.fragment_device_right_delete) + public void fragment_device_right_delete_click(View view) { + } + @OnClick(R.id.fragment_device_right_add) + public void fragment_device_right_add_click(View view) { + + } + + @OnClick(R.id.fragment_device_right_lan_save) + public void fragment_device_right_lan_save_click(View view) { + Map<String, String> fields = new HashMap<>(); + fields.put("fragment_device_right_lan_ip", fragment_device_right_lan_ip.getText().toString()); + fields.put("fragment_device_right_lan_port", fragment_device_right_lan_port.getText().toString()); + fields.put("fragment_device_right_lan_protocol", fragment_device_right_lan_protocol.getText().toString()); + DeviceMng.getInstance().saveLanSetting(fields); + Toast.makeText(MainActivity.getInstance(), "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show(); + } + + @OnClick(R.id.fragment_device_right_school_save) + public void fragment_device_right_school_save_click(View view) { +// Map<String, String> fields = new HashMap<>(); +// fields.put("fragment_device_right_device_info_sn", fragment_device_right_device_info_sn.getText().toString()); +// fields.put("fragment_device_right_device_info_device_address", fragment_device_right_device_info_device_address.getText().toString()); +// fields.put("fragment_device_right_device_info_school_name", fragment_device_right_device_info_school_name.getText().toString()); +// DeviceMng.getInstance().saveSchoolSetting(fields); +// Toast.makeText(MainActivity.getInstance(), "淇濆瓨鎴愬姛", Toast.LENGTH_SHORT).show(); + + RequestParams params = new RequestParams(); + Device androidDevice = new Device(); + if (BaseApplication.getInstance().networkAvailable()) { + params.addBodyParameter(Device.FieldNames.schoolName, fragment_device_right_device_info_school_name.getText().toString()); + params.addBodyParameter(Device.FieldNames.sn, fragment_device_right_device_info_sn.getText().toString()); + params.addBodyParameter(Device.FieldNames.installAddress, fragment_device_right_device_info_device_address.getText().toString()); + params.addBodyParameter(Device.FieldNames.deviceId, BaseApplication.getInstance().getAndroidDevice().getDeviceId()); + + } else { + androidDevice.setSchoolName(fragment_device_right_device_info_school_name.getText().toString()); + androidDevice.setSn(fragment_device_right_device_info_sn.getText().toString()); + androidDevice.setInstallAddress(fragment_device_right_device_info_device_address.getText().toString()); + androidDevice.setDeviceId(BaseApplication.getInstance().getAndroidDevice().getDeviceId()); + + } + DeviceMng.getInstance().updateAndroidDevice(params, androidDevice); + } + + @OnClick(R.id.fragment_device_right_camera1_save) + public void fragment_device_right_camera1_save_click(View view) { + RequestParams params = new RequestParams(); + Device camera1 = new Device(); + if (BaseApplication.getInstance().networkAvailable()) { + params.addBodyParameter("brand", fragment_device_right_camera1_brand.getText().toString()); + params.addBodyParameter(Device.FieldNames.ip, fragment_device_right_camera1_ip.getText().toString()); + params.addBodyParameter(Device.FieldNames.port, fragment_device_right_camera1_port.getText().toString()); + params.addBodyParameter("resolution", fragment_device_right_camera1_resolution.getText().toString()); + params.addBodyParameter(Device.FieldNames.username, fragment_device_right_camera1_username.getText().toString()); + params.addBodyParameter(Device.FieldNames.password, fragment_device_right_camera1_password.getText().toString()); + params.addBodyParameter(Device.FieldNames.deviceId, camera1.getDeviceId()); + params.addBodyParameter(Device.FieldNames.deviceCompanyId, BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + + } else { + camera1.setBrand(fragment_device_right_camera1_brand.getText().toString()); + camera1.setIp(fragment_device_right_camera1_ip.getText().toString()); + camera1.setPort(fragment_device_right_camera1_port.getText().toString()); + camera1.setResolution(fragment_device_right_camera1_resolution.getText().toString()); + camera1.setUsername(fragment_device_right_camera1_username.getText().toString()); + camera1.setPassword(fragment_device_right_camera1_password.getText().toString()); + camera1.setDeviceId(camera1.getDeviceId()); + } + DeviceMng.getInstance().updateCamera(params, camera1); + } + + @OnClick(R.id.fragment_device_right_camera2_save) + public void fragment_device_right_camera2_save_click(View view) { + RequestParams params = new RequestParams(); + Device camera2 = new Device(); + if (BaseApplication.getInstance().networkAvailable()) { + params.addBodyParameter("brand", fragment_device_right_camera2_brand.getText().toString()); + params.addBodyParameter(Device.FieldNames.ip, fragment_device_right_camera2_ip.getText().toString()); + params.addBodyParameter(Device.FieldNames.port, fragment_device_right_camera2_port.getText().toString()); + params.addBodyParameter("resolution", fragment_device_right_camera2_resolution.getText().toString()); + params.addBodyParameter(Device.FieldNames.username, fragment_device_right_camera2_username.getText().toString()); + params.addBodyParameter(Device.FieldNames.password, fragment_device_right_camera2_password.getText().toString()); + params.addBodyParameter(Device.FieldNames.deviceId, camera2.getDeviceId()); + params.addBodyParameter(Device.FieldNames.deviceCompanyId, BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + + } else { + camera2.setBrand(fragment_device_right_camera2_brand.getText().toString()); + camera2.setIp(fragment_device_right_camera2_ip.getText().toString()); + camera2.setPort(fragment_device_right_camera2_port.getText().toString()); + camera2.setResolution(fragment_device_right_camera2_resolution.getText().toString()); + camera2.setUsername(fragment_device_right_camera2_username.getText().toString()); + camera2.setPassword(fragment_device_right_camera2_password.getText().toString()); + camera2.setDeviceId(camera2.getDeviceId()); + } + DeviceMng.getInstance().updateCamera(params, camera2); + } + + @OnClick(R.id.fragment_device_right_camera1_brand_more) + public void fragment_device_right_camera1_brand_click(View view) { + new SelectDialog(getFrameView(), Constant.DialogSelectType.CAMERA_BRAND, new OkClickedListener() { + public void onSelected(String value) { + fragment_device_right_camera1_brand.setText(value); + } + },fragment_device_right_camera1_brand.getText().toString()); + } + + @OnClick(R.id.fragment_device_right_camera2_brand_more) + public void fragment_device_right_camera2_brand_click(View view) { + new SelectDialog(getFrameView(), Constant.DialogSelectType.CAMERA_BRAND, new OkClickedListener() { + public void onSelected(String value) { + fragment_device_right_camera2_brand.setText(value); + } + },fragment_device_right_camera2_brand.getText().toString()); + } + + @OnClick(R.id.fragment_device_right_camera1_resolution_more) + public void fragment_device_right_camera1_resolution_click(View view) { + new SelectDialog(getFrameView(), Constant.DialogSelectType.RESOLUTION, new OkClickedListener() { + public void onSelected(String value) { + fragment_device_right_camera1_resolution.setText(value); + } + },fragment_device_right_camera1_resolution.getText().toString()); + } + + @OnClick(R.id.fragment_device_right_camera2_resolution_more) + public void fragment_device_right_camera2_resolution_click(View view) { + new SelectDialog(getFrameView(), Constant.DialogSelectType.RESOLUTION, new OkClickedListener() { + public void onSelected(String value) { + fragment_device_right_camera2_resolution.setText(value); + } + },fragment_device_right_camera2_resolution.getText().toString()); + } + + @OnClick(R.id.fragment_device_right_lan_protocol_more) + public void fragment_device_right_lan_protocol_click(View view) { + new SelectDialog(getFrameView(), Constant.DialogSelectType.PROTOCOL, new OkClickedListener() { + public void onSelected(String value) { + fragment_device_right_lan_protocol.setText(value); + } + },fragment_device_right_lan_protocol.getText().toString()); + } + + public void setAndroidDevice(Device androidDevice) { + this.androidDevice = androidDevice; + fragment_device_right_device_info_school_name.setText(androidDevice.getSchoolName()); + fragment_device_right_device_info_sn.setText(androidDevice.getSn()); + fragment_device_right_device_info_device_address.setText(androidDevice.getInstallAddress()); + } + + public void setCamera1(DeviceQueryItem camera1) { + this.camera1 = camera1; + fragment_device_right_camera1_ip.setText(camera1.getIp()); + fragment_device_right_camera1_username.setText(camera1.getUsername()); + fragment_device_right_camera1_password.setText(camera1.getPassword()); + fragment_device_right_camera1_port.setText(camera1.getPort()); + fragment_device_right_camera1_brand.setText(camera1.getBrandName()); + fragment_device_right_camera1_resolution.setText(camera1.getResolution()); + } + + public void setCamera2(DeviceQueryItem camera2) { + this.camera2 = camera2; + fragment_device_right_camera2_ip.setText(camera2.getIp()); + fragment_device_right_camera2_username.setText(camera2.getUsername()); + fragment_device_right_camera2_password.setText(camera2.getPassword()); + fragment_device_right_camera2_port.setText(camera2.getPort()); + fragment_device_right_camera1_brand.setText(camera2.getBrandName()); + fragment_device_right_camera1_resolution.setText(camera2.getResolution()); + } + + } -- Gitblit v1.8.0