package pers.hw.evtrack;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.app.Dialog;
import android.app.AlertDialog;
import android.os.StrictMode;
import android.os.Message;
import android.os.Bundle;
import android.os.Handler;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.WindowManager;
import android.view.ViewGroup;
import android.view.MenuItem;
import android.view.LayoutInflater;
import android.view.ViewGroupOverlay;
import android.view.View.OnClickListener;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.Color;
import android.widget.*;
import android.content.Context;
import java.net.InetSocketAddress;
import java.lang.reflect.Field;
import java.util.Timer;
import java.util.TimerTask;
import pers.hw.evtrack.net.Buffer;
import pers.hw.evtrack.net.TcpConnection;
import pers.hw.evtrack.view.DialogUtils;
public class MainActivity extends FragmentActivity {
public static final int FRAG_MAX = 4;
private FragmentComponent[] fc;
private Dialog loadDialog;
private TextView titleTv;
private Toast toast;
private Client client;
private int fragIndex = FRAG_MAX;
private PopupMenu popupMenu;
private MainHandler mHandler = new MainHandler();
private final InetSocketAddress DEFAULT_SERVER_ADDR = new InetSocketAddress("192.168.5.1",18825);
private InetSocketAddress serverAddr = DEFAULT_SERVER_ADDR;
private int userType;
private String userName;
private String password;
private Timer timer;
private class MainHandler extends Handler {
@Override
public void handleMessage(Message msg) {
// TODO: Implement this method
switch (msg.what) {
case 0:
refreshConnectView();
toast.setText("连接已关闭");
toast.show();
break;
case 1:
refreshConnectView();
toast.setText("连接中断");
toast.show();
break;
case 2:
refreshConnectView();
toast.setText("处理异常");
toast.show();
break;
case 7:
refreshConnectView();
if (msg.arg1 == 1) {
toast.setText("账号已在别处登录");
toast.show();
}
break;
case 10:
clearDim();
DialogUtils.closeDialog(loadDialog);
if (client.connection() != null) {
toast.setText("连接成功");
toast.show();
initMainView();
} else {
toast.setText("连接失败");
toast.show();
getWindow().getDecorView().setBackgroundColor(getResources().getColor(R.color.white));
getWindow().setStatusBarColor(getResources().getColor(R.color.primary));
getWindow().setNavigationBarColor(getResources().getColor(R.color.nav_bar));
setContentView(R.layout.activity_main);
titleTv = findViewById(R.id.title_text);
LinearLayout menuIcon = findViewById(R.id.menu_icon);
initPopupMenu(menuIcon);
menuIcon.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showPopupMenu();
}
});
initFragmentComponent();
setSelect(0);
}
break;
case 12:
timer.cancel();
clearDim();
DialogUtils.closeDialog(loadDialog);
switch (msg.arg1) {
case -1:
toast.setText("找不到服务器");
toast.show();
break;
case 0:
toast.setText("服务器连接成功");
toast.show();
initMainView();
break;
case 1:
toast.setText("密码错误,请重试");
toast.show();
try {
client.connection().shutdown();
} catch (Exception e) {}
break;
case 2:
toast.setText("用户名不存在");
toast.show();
try {
client.connection().shutdown();
} catch (Exception e) {}
break;
case 3:
toast.setText("用户ID未注册");
toast.show();
try {
client.connection().shutdown();
} catch (Exception e) {}
break;
default:
break;
}
break;
case 21:
toast.setText("摄像头复位成功");
toast.show();
break;
case 22:
if (msg.arg1 == client.userID) {
toast.setText("状态复位成功");
} else {
toast.setText("ID为" + msg.arg1 + "的用户复位了状态");
}
toast.show();
break;
case 50:
// toast.setText(client.noticeMsg);
// toast.show();
initNoticeDialog("消息", (String)msg.obj);
break;
case 80:
toast.setText("image");
toast.show();
break;
case 88:
setSelect(0);
break;
case 100:
toast.setText("用户权限不足");
toast.show();
break;
default:
break;
}
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.connect);
StrictMode.setThreadPolicy(
new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());
// requestPermission();
toast = Toast.makeText(this, "", Toast.LENGTH_SHORT);
fc = new FragmentComponent[FRAG_MAX];
initConnectView();
}
public Client getClient() {
return this.client;
}
public Handler getHandler() {
return this.mHandler;
}
public int dp2px(float dpValue) {
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
float density = dm.density;
return (int)(dpValue * d
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【此资源可私信博主有偿获取】 Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是Linux项目的一些主要特点和资料介绍: 开放源代码:Linux项目的所有源代码都是公开的,并允许任何人自由使用和修改。这为开发者提供了极大的灵活性和创新能力,同时也促进了全球范围内的协作和发展。 跨平台性:Linux操作系统可以在多种硬件架构和平台上运行,包括x86、ARM、MIPS等。这使得Linux成为了一种非常灵活的操作系统,适用于各种设备和应用场景。 可定制性:由于Linux的源代码是公开的,用户可以根据自己的需求进行定制和修改。这使得Linux成为了一种非常适合企业级应用的操作系统,可以根据企业的特定需求进行定制和优化。 安全性:Linux操作系统在安全性方面表现出色,具有强大的访问控制和安全机制。这使得Linux成为了一种非常适合用于服务器和安全敏感的应用场景的操作系统。
资源推荐
资源详情
资源评论
收起资源包目录
linux项目工程资料-基于ARM-Linux的嵌入式视觉移动追踪系统,并通过Android APP进行无线控制.zip (799个子文件)
libopencv_surface_matching.so.4.1 35B
libopencv_structured_light.so.4.1 35B
libopencv_phase_unwrapping.so.4.1 35B
libopencv_line_descriptor.so.4.1 34B
libopencv_dnn_objdetect.so.4.1 32B
libopencv_dnn_superres.so.4.1 31B
libopencv_xfeatures2d.so.4.1 30B
libopencv_bioinspired.so.4.1 30B
libopencv_features2d.so.4.1 29B
libopencv_xobjdetect.so.4.1 29B
libopencv_stitching.so.4.1 28B
libopencv_videostab.so.4.1 28B
libopencv_imgcodecs.so.4.1 28B
libopencv_objdetect.so.4.1 28B
libopencv_superres.so.4.1 27B
libopencv_img_hash.so.4.1 27B
libopencv_ximgproc.so.4.1 27B
libopencv_tracking.so.4.1 27B
libopencv_saliency.so.4.1 27B
libopencv_datasets.so.4.1 27B
libopencv_optflow.so.4.1 26B
libopencv_videoio.so.4.1 26B
libopencv_calib3d.so.4.1 26B
libopencv_highgui.so.4.1 26B
libopencv_quality.so.4.1 26B
libopencv_imgproc.so.4.1 26B
libopencv_xphoto.so.4.1 25B
libopencv_ccalib.so.4.1 25B
libopencv_bgsegm.so.4.1 25B
libopencv_stereo.so.4.1 25B
libopencv_flann.so.4.1 24B
libopencv_photo.so.4.1 24B
libopencv_fuzzy.so.4.1 24B
libopencv_shape.so.4.1 24B
libopencv_video.so.4.1 24B
libopencv_aruco.so.4.1 24B
libopencv_face.so.4.1 23B
libopencv_core.so.4.1 23B
libopencv_text.so.4.1 23B
libopencv_gapi.so.4.1 23B
libopencv_rgbd.so.4.1 23B
libopencv_plot.so.4.1 23B
libopencv_dpm.so.4.1 22B
libopencv_dnn.so.4.1 22B
libopencv_hfs.so.4.1 22B
libopencv_reg.so.4.1 22B
libopencv_ml.so.4.1 21B
libopencv_dnn.so.4.1.2 4.65MB
libopencv_imgproc.so.4.1.2 3.77MB
libopencv_core.so.4.1.2 3.64MB
libopencv_xfeatures2d.so.4.1.2 2.62MB
libopencv_gapi.so.4.1.2 2.44MB
libopencv_tracking.so.4.1.2 2.34MB
libopencv_imgcodecs.so.4.1.2 1.89MB
libopencv_calib3d.so.4.1.2 1.56MB
libopencv_ximgproc.so.4.1.2 1.35MB
libopencv_photo.so.4.1.2 848KB
libopencv_ml.so.4.1.2 799KB
libopencv_features2d.so.4.1.2 768KB
libopencv_stitching.so.4.1.2 740KB
libopencv_datasets.so.4.1.2 654KB
libopencv_rgbd.so.4.1.2 638KB
libopencv_face.so.4.1.2 603KB
libopencv_video.so.4.1.2 482KB
libopencv_optflow.so.4.1.2 468KB
libopencv_objdetect.so.4.1.2 456KB
libopencv_xphoto.so.4.1.2 444KB
libopencv_aruco.so.4.1.2 432KB
libopencv_flann.so.4.1.2 425KB
libopencv_text.so.4.1.2 393KB
libopencv_ccalib.so.4.1.2 367KB
libopencv_videostab.so.4.1.2 367KB
libopencv_videoio.so.4.1.2 367KB
libopencv_surface_matching.so.4.1.2 361KB
libopencv_bioinspired.so.4.1.2 276KB
libopencv_shape.so.4.1.2 213KB
libopencv_stereo.so.4.1.2 189KB
libopencv_line_descriptor.so.4.1.2 186KB
libopencv_saliency.so.4.1.2 185KB
libopencv_superres.so.4.1.2 175KB
libopencv_reg.so.4.1.2 167KB
libopencv_bgsegm.so.4.1.2 159KB
libopencv_img_hash.so.4.1.2 123KB
libopencv_dpm.so.4.1.2 116KB
libopencv_quality.so.4.1.2 102KB
libopencv_xobjdetect.so.4.1.2 99KB
libopencv_structured_light.so.4.1.2 97KB
libopencv_fuzzy.so.4.1.2 94KB
libopencv_hfs.so.4.1.2 77KB
libopencv_dnn_superres.so.4.1.2 66KB
libopencv_highgui.so.4.1.2 53KB
libopencv_plot.so.4.1.2 46KB
libopencv_phase_unwrapping.so.4.1.2 43KB
libopencv_dnn_objdetect.so.4.1.2 35KB
gradlew.bat 2KB
motor.c 7KB
pwm.c 4KB
servo.c 4KB
gpio.c 361B
var.conf 93B
共 799 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现车牌识别程序,和论文,自己做的,做毕业设计的可以看看 .rar
- Windows系统下安装与配置Neo4j的步骤
- 基于matlab实现潮流计算和最优潮流计算的程序1,对毕业设计有一定用处.rar
- 基于大数据学习资源推荐系统的设计与实现(部署视频)-kaic.mp4
- 哈工大形式语言和自动机2022期末含答案
- Windows系统下安装与配置Neo4j的步骤
- 哈希算法(Hash Algorithm)是一种将任意长度的二进制数据映射为较短的、固定长度的二进制值的函数.txt
- Windows系统下安装与配置Neo4j的步骤
- 在二叉树或更复杂的树形结构中,先序输出叶结点.txt
- 列出所有祖先结点的概念通常与树形结构或图论中的节点相关.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功