diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index b1415f4..415e582 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -1,6 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/render.experimental.xml b/.idea/render.experimental.xml
new file mode 100644
index 0000000..8ec256a
--- /dev/null
+++ b/.idea/render.experimental.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 35eb1dd..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index d10330c..0be1ebe 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -11,18 +11,31 @@ android {
minSdkVersion 8
targetSdkVersion 15
versionCode 1
- versionName "V1.077"
+ versionName "V1.079"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
- buildTypes {
+ signingConfigs {
release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ storeFile file(RELEASE_STOREFILE);
+ storePassword RELEASE_STORE_PASSWORD;
+ keyAlias RELEASE_KEY_ALIAS
+ keyPassword RELEASE_KEY_PASSWORD
}
}
+ buildTypes {
+ release {
+ minifyEnabled false //是否代码混淆
+ multiDexEnabled true //防止方法数量超过65536导致错误
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ //配置签名
+ signingConfig signingConfigs.release
+ }
+ }
+
+ //关闭代码格式检查
lintOptions {
abortOnError false
}
@@ -33,8 +46,8 @@ android {
}
//加载动态库
- sourceSets{
- main{
+ sourceSets {
+ main {
jniLibs.srcDir(['libs'])
}
}
@@ -42,5 +55,5 @@ android {
dependencies {
//加载jar包
- compile fileTree(dir: 'libs', include: ['*.jar'])
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
}
\ No newline at end of file
diff --git a/app/jni/Android.mk b/app/jni/Android.mk
index 1fd95e8..f4ce1c3 100644
--- a/app/jni/Android.mk
+++ b/app/jni/Android.mk
@@ -18,7 +18,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-TARGET_PLATFORM := android-8
+TARGET_PLATFORM := android-3
LOCAL_MODULE := serial_port
LOCAL_SRC_FILES := SerialPort.c
LOCAL_LDLIBS := -llog
diff --git a/app/jni/Application.mk b/app/jni/Application.mk
new file mode 100644
index 0000000..7866257
--- /dev/null
+++ b/app/jni/Application.mk
@@ -0,0 +1 @@
+APP_ABI := armeabi armeabi-v7a x86
diff --git a/app/jni/SerialPort.c b/app/jni/SerialPort.c
index b4926b3..84748a7 100644
--- a/app/jni/SerialPort.c
+++ b/app/jni/SerialPort.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Cedric Priscal
+ * Copyright 2009-2011 Cedric Priscal
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,52 +22,14 @@
#include
#include
+#include "SerialPort.h"
+
#include "android/log.h"
static const char *TAG="serial_port";
#define LOGI(fmt, args...) __android_log_print(ANDROID_LOG_INFO, TAG, fmt, ##args)
#define LOGD(fmt, args...) __android_log_print(ANDROID_LOG_DEBUG, TAG, fmt, ##args)
#define LOGE(fmt, args...) __android_log_print(ANDROID_LOG_ERROR, TAG, fmt, ##args)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: com_android_barcode_SerialPort
- * Method: open
- * Signature: (Ljava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_open
- (JNIEnv *, jclass, jstring, jint);
-
-/*
- * Class: com_android_barcode_SerialPort
- * Method: write
- * Signature: (ILjava/lang/String;I)I
- */
-JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_write
- (JNIEnv *, jobject, jint, jstring, jint);
-
-/*
- * Class: com_android_barcode_SerialPort
- * Method: read
- * Signature: (II)[B
- */
-JNIEXPORT jbyteArray JNICALL Java_com_android_barcode_SerialPort_read
- (JNIEnv *, jobject, jint, jint);
-
-/*
- * Class: com_android_barcode_SerialPort
- * Method: close
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_com_android_barcode_SerialPort_close
- (JNIEnv *, jobject, jint);
-
-#ifdef __cplusplus
-}
-#endif
-
static speed_t getBaudrate(jint baudrate)
{
switch(baudrate) {
@@ -107,15 +69,16 @@ static speed_t getBaudrate(jint baudrate)
}
/*
- * Class: cedric_serial_SerialPort
+ * Class: android_serialport_SerialPort
* Method: open
- * Signature: (Ljava/lang/String;)V
+ * Signature: (Ljava/lang/String;II)Ljava/io/FileDescriptor;
*/
-JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_open
- (JNIEnv *env, jobject thiz, jstring path, jint baudrate)
+JNIEXPORT jobject JNICALL Java_android_1serialport_1api_SerialPort_open
+ (JNIEnv *env, jclass thiz, jstring path, jint baudrate, jint flags)
{
int fd;
speed_t speed;
+ jobject mFileDescriptor;
/* Check arguments */
{
@@ -123,6 +86,7 @@ JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_open
if (speed == -1) {
/* TODO: throw an exception */
LOGE("Invalid baudrate");
+ return NULL;
}
}
@@ -130,8 +94,8 @@ JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_open
{
jboolean iscopy;
const char *path_utf = (*env)->GetStringUTFChars(env, path, &iscopy);
- LOGD("Opening serial port %s", path_utf);
- fd = open(path_utf, O_RDWR | O_SYNC);
+ LOGD("Opening serial port %s with flags 0x%x", path_utf, O_RDWR | flags);
+ fd = open(path_utf, O_RDWR | flags);
LOGD("open() fd = %d", fd);
(*env)->ReleaseStringUTFChars(env, path, path_utf);
if (fd == -1)
@@ -139,6 +103,7 @@ JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_open
/* Throw an exception */
LOGE("Cannot open port");
/* TODO: throw an exception */
+ return NULL;
}
}
@@ -151,136 +116,52 @@ JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_open
LOGE("tcgetattr() failed");
close(fd);
/* TODO: throw an exception */
+ return NULL;
}
cfmakeraw(&cfg);
cfsetispeed(&cfg, speed);
cfsetospeed(&cfg, speed);
- /*******************************/
- cfg.c_cflag &= ~CSIZE;
- cfg.c_lflag &= ~(ICANON|ECHO|ECHOE|ISIG);
- cfg.c_oflag &= ~OPOST;
- //'8' bit
- cfg.c_cflag |= CS8;
- //'N' PARENB
- cfg.c_cflag &= ~PARENB;
- cfg.c_iflag &= ~INPCK;
- //'1' STOP
- cfg.c_cflag &= ~CSTOPB;
-
- cfg.c_cc[VTIME] = 15;
- cfg.c_cc[VMIN] = 0;
- tcflush(fd, TCIFLUSH);
- /*********************************/
if (tcsetattr(fd, TCSANOW, &cfg))
{
LOGE("tcsetattr() failed");
close(fd);
/* TODO: throw an exception */
- }
- }
-
-
- return fd;
-}
-/*
- * Class: cedric_serial_SerialPort
- * Method: write
- * Signature: ()V
- */
-
-JNIEXPORT jint JNICALL Java_com_android_barcode_SerialPort_write
- (JNIEnv *env, jobject obj, jint fd, jstring str, jint len)
-{
- jboolean iscopy;
- const char *buff_utf = (*env)->GetStringUTFChars(env, str, &iscopy);
- int wlen = 0;
- wlen = write(fd, buff_utf, len);
- if(wlen > 0)
- {
- LOGD("Write serial port %s\n", buff_utf);
- }
- else
- {
- LOGE("Write failed\n");
- }
- (*env)->ReleaseStringUTFChars(env, str, buff_utf);
- LOGD("Write finish!\n");
- return wlen;
-}
-/*
- * Class: cedric_serial_SerialPort
- * Method: read
- * Signature: ()V
- */
-
-JNIEXPORT jbyteArray JNICALL Java_com_android_barcode_SerialPort_read
- (JNIEnv *env, jobject obj, jint fd, jint len)
-{
- int reval;
- int nread = 0;
- char buff[len];
- char result[len];
- struct timeval tv;
- jbyteArray jba;
- fd_set rfds;
-
- while(1)
- {
- FD_ZERO(&rfds);
- FD_SET(fd, &rfds);
- tv.tv_sec = 0;
- tv.tv_usec = 100000;
- if ((reval = select(1 + fd, &rfds, NULL, NULL, &tv)) > 0)
- {
- if(FD_ISSET(fd, &rfds))
- {
- int temp = read(fd, buff + nread, len);
- nread += temp;
- LOGD("%i us is used", 100000 - tv.tv_usec);
- LOGD("wo have data %d\n", temp);
- }
- }
- else if(reval == 0 && nread != 0) //timeout means
- {
-// int ffd;
- buff[nread]=0;
-// ffd = open("/data/ndk", O_WRONLY | O_TRUNC);
-// write(ffd, buff, nread);
-// close(ffd);
- int i, j;
- for(i = 0, j = 0; i < nread; i++)
- {
- if(buff[i] != 0)
- {
- result[j] = buff[i];
- j++;
- }
- // LOGD("0x%2x ", buff[i]);
- }
- //LOGD("\n");
- //result[j] = 0;
- jba = (*env)->NewByteArray(env, j);
- (*env)->SetByteArrayRegion(env, jba, 0, j, result);
-/* jba = (*env)->NewByteArray(env, nread);
- (*env)->SetByteArrayRegion(env, jba, 0, nread, buff);*/
- LOGD("readlength=%d\n, reallength=%d\n, all data received!\n", nread, j);
- return jba;
- }
- else
- {
return NULL;
}
}
+
+ /* Create a corresponding file descriptor */
+ {
+ jclass cFileDescriptor = (*env)->FindClass(env, "java/io/FileDescriptor");
+ jmethodID iFileDescriptor = (*env)->GetMethodID(env, cFileDescriptor, "", "()V");
+ jfieldID descriptorID = (*env)->GetFieldID(env, cFileDescriptor, "descriptor", "I");
+ mFileDescriptor = (*env)->NewObject(env, cFileDescriptor, iFileDescriptor);
+ (*env)->SetIntField(env, mFileDescriptor, descriptorID, (jint)fd);
+ }
+
+ return mFileDescriptor;
}
+
/*
* Class: cedric_serial_SerialPort
* Method: close
* Signature: ()V
*/
-JNIEXPORT void JNICALL Java_com_android_barcode_SerialPort_close
- (JNIEnv *env, jobject obj, jint fd)
+JNIEXPORT void JNICALL Java_android_1serialport_1api_SerialPort_close
+ (JNIEnv *env, jobject thiz)
{
- close(fd);
+ jclass SerialPortClass = (*env)->GetObjectClass(env, thiz);
+ jclass FileDescriptorClass = (*env)->FindClass(env, "java/io/FileDescriptor");
+
+ jfieldID mFdID = (*env)->GetFieldID(env, SerialPortClass, "mFd", "Ljava/io/FileDescriptor;");
+ jfieldID descriptorID = (*env)->GetFieldID(env, FileDescriptorClass, "descriptor", "I");
+
+ jobject mFd = (*env)->GetObjectField(env, thiz, mFdID);
+ jint descriptor = (*env)->GetIntField(env, mFd, descriptorID);
+
+ LOGD("close(fd = %d)", descriptor);
+ close(descriptor);
}
+
diff --git a/app/jni/SerialPort.h b/app/jni/SerialPort.h
new file mode 100644
index 0000000..61f1fb2
--- /dev/null
+++ b/app/jni/SerialPort.h
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include
+/* Header for class android_serialport_api_SerialPort */
+
+#ifndef _Included_android_serialport_api_SerialPort
+#define _Included_android_serialport_api_SerialPort
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: android_serialport_api_SerialPort
+ * Method: open
+ * Signature: (Ljava/lang/String;II)Ljava/io/FileDescriptor;
+ */
+JNIEXPORT jobject JNICALL Java_android_1serialport_1api_SerialPort_open
+ (JNIEnv *, jclass, jstring, jint, jint);
+
+/*
+ * Class: android_serialport_api_SerialPort
+ * Method: close
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_android_1serialport_1api_SerialPort_close
+ (JNIEnv *, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/app/jni/gen_SerialPort_h.sh b/app/jni/gen_SerialPort_h.sh
new file mode 100644
index 0000000..1998186
--- /dev/null
+++ b/app/jni/gen_SerialPort_h.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+javah -o SerialPort.h -jni -classpath ../src android_serialport_api.SerialPort
+
diff --git a/app/libs/armeabi/libmsc.so b/app/libs/armeabi/libmsc.so
new file mode 100644
index 0000000..e02fc91
Binary files /dev/null and b/app/libs/armeabi/libmsc.so differ
diff --git a/app/libs/armeabi/libserial_port.so b/app/libs/armeabi/libserial_port.so
index 3ea9b56..d1c3622 100644
Binary files a/app/libs/armeabi/libserial_port.so and b/app/libs/armeabi/libserial_port.so differ
diff --git a/app/libs/flytek.jar b/app/libs/flytek.jar
new file mode 100644
index 0000000..e4ed582
Binary files /dev/null and b/app/libs/flytek.jar differ
diff --git a/app/libs/honeywell.jar b/app/libs/honeywell.jar
new file mode 100644
index 0000000..ee4553d
Binary files /dev/null and b/app/libs/honeywell.jar differ
diff --git a/app/libs/urobo.jar b/app/libs/urobo.jar
new file mode 100644
index 0000000..eef7d29
Binary files /dev/null and b/app/libs/urobo.jar differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3051141..0dff9d3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,8 @@
+ package="com.example.chaoran"
+ android:versionCode="1"
+ android:versionName="V1.079">
@@ -14,131 +16,113 @@
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+ android:name="map.baidu.com.BMapManagerUtil"
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name"
+ android:persistent="true"
+ android:theme="@style/AppTheme"
+ tools:ignore="HardcodedDebugMode">
+
+ android:name="com.example.chaoran.MainActivity"
+ android:label="@string/title_activity_main"
+ android:screenOrientation="behind"
+ android:configChanges="orientation|screenSize|keyboardHidden">
-
-
+
+
+
-
+ android:name="com.example.chaoran.NetWorkSet"
+ android:label="@string/title_activity_net_work_set"
+ android:screenOrientation="behind" />
-
+ android:name="com.example.chaoran.MenuActivity"
+ android:label="@string/title_activity_menu"
+ android:screenOrientation="behind" />
-
+ android:name="com.example.chaoran.DjActivity"
+ android:label="@string/title_activity_dj"
+ android:screenOrientation="behind"
+ android:launchMode="singleTask" />
-
+ android:name="com.example.chaoran.ParamActivity"
+ android:label="@string/title_activity_param"
+ android:screenOrientation="behind" />
-
+ android:name="com.example.chaoran.DjtqActivity"
+ android:label="@string/djtq_activity"
+ android:screenOrientation="behind" />
-
+ android:name="com.example.chaoran.UpdatePwdActivity"
+ android:label="@string/title_activity_update_pwd"
+ android:screenOrientation="behind" />
+ android:name="map.baidu.com.BDMapActivity"
+ android:hardwareAccelerated="false"
+ android:label="@string/title_activity_bdmap"
+ android:screenOrientation="behind">
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value="com.baidu.mapapi.MapActivity" />
-
+ android:name="com.baidu.location.f"
+ android:enabled="true"
+ android:process=":remote" />
-
+ android:name="com.chaoran.lx.activity.DownDataActivity"
+ android:label="@string/title_activity_down_data"
+ android:screenOrientation="behind" />
-
+ android:name="com.chaoran.lx.activity.Lx_Param_Activity"
+ android:label="@string/title_activity_lx__param_"
+ android:screenOrientation="behind" />
-
+ android:name="com.example.chaoran.MipcaActivityCapture"
+ android:label="@string/title_activity_camera_scan"
+ android:screenOrientation="behind"
+ android:windowSoftInputMode="stateAlwaysHidden" />
-
+ android:name="com.example.chaoran.PdaRegActivity"
+ android:label="@string/title_activity_pda_reg" />
+
+
+
+
-
\ No newline at end of file
diff --git a/app/src/main/assets/tts/common.jet b/app/src/main/assets/tts/common.jet
new file mode 100644
index 0000000..a2fdf73
Binary files /dev/null and b/app/src/main/assets/tts/common.jet differ
diff --git a/app/src/main/assets/tts/xiaofeng.jet b/app/src/main/assets/tts/xiaofeng.jet
new file mode 100644
index 0000000..b3e2066
Binary files /dev/null and b/app/src/main/assets/tts/xiaofeng.jet differ
diff --git a/app/src/main/assets/tts/xiaoyan.jet b/app/src/main/assets/tts/xiaoyan.jet
new file mode 100644
index 0000000..2d266f5
Binary files /dev/null and b/app/src/main/assets/tts/xiaoyan.jet differ
diff --git a/app/src/main/java/android_serialport_api/SerialPort.java b/app/src/main/java/android_serialport_api/SerialPort.java
index 2274fa7..7cafe72 100644
--- a/app/src/main/java/android_serialport_api/SerialPort.java
+++ b/app/src/main/java/android_serialport_api/SerialPort.java
@@ -1,17 +1,19 @@
package android_serialport_api;
import android.util.Log;
+import com.util.DialogUtil;
+import map.baidu.com.BMapManagerUtil;
import java.io.*;
-public class SerialPort {
+public class SerialPort{
private static final String TAG = "SerialPort";
private FileDescriptor mFd;
private FileInputStream mFileInputStream;
private FileOutputStream mFileOutputStream;
- public SerialPort(File device, int baudrate, int bits, char event, int stop, int flags) throws SecurityException,
+ public SerialPort(File device, int baudrate, int flags) throws SecurityException,
IOException {
if (!device.canRead() || !device.canWrite()) {
@@ -22,17 +24,20 @@ public class SerialPort {
su.getOutputStream().write(cmd.getBytes());
if ((su.waitFor() != 0) || !device.canRead() || !device.canWrite()) {
+ DialogUtil.builder(BMapManagerUtil.getGlobalApplicationContext(),"获取su命令权限失败","系统或许未root",15);
throw new SecurityException();
}
} catch (Exception e) {
e.printStackTrace();
+ DialogUtil.builder(BMapManagerUtil.getGlobalApplicationContext(),"获取root权限失败",e.toString(),15);
throw new SecurityException();
}
}
- mFd = open(device.getAbsolutePath(), baudrate, bits, event, stop, flags);
+ mFd = open(device.getAbsolutePath(), baudrate, flags);
Log.i("info", "open device!!");
if (mFd == null) {
Log.e(TAG, "native open returns null");
+ DialogUtil.builder(BMapManagerUtil.getGlobalApplicationContext(),"获取文件描述符失败","native open returns null",15);
throw new IOException();
}
mFileInputStream = new FileInputStream(mFd);
@@ -50,12 +55,12 @@ public class SerialPort {
return mFileOutputStream;
}
- private native static FileDescriptor open(String path, int baudrate, int bits, char event, int stop, int flags);
+ private native static FileDescriptor open(String path, int baudrate, int flags);
public native void close();
static {
- System.loadLibrary("serialport");
+ System.loadLibrary("serial_port");
}
}
diff --git a/app/src/main/java/com/chaoran/component/ButAdapter.java b/app/src/main/java/com/chaoran/component/ButAdapter.java
index c2ce15c..ed94ee0 100644
--- a/app/src/main/java/com/chaoran/component/ButAdapter.java
+++ b/app/src/main/java/com/chaoran/component/ButAdapter.java
@@ -5,10 +5,13 @@ import java.util.HashMap;
import com.chaoran.db.DBManager;
import com.chaoran.lx.activity.DownDataActivity;
-import com.activity.chaoran.R;
+import com.example.chaoran.DjActivity;
+import com.example.chaoran.R;
import android.app.ProgressDialog;
import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/com/chaoran/component/ImageAdpter.java b/app/src/main/java/com/chaoran/component/ImageAdpter.java
index f8fa663..84c6ddc 100644
--- a/app/src/main/java/com/chaoran/component/ImageAdpter.java
+++ b/app/src/main/java/com/chaoran/component/ImageAdpter.java
@@ -1,17 +1,23 @@
package com.chaoran.component;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import com.example.chaoran.R;
+
import android.app.Activity;
+import android.content.Context;
+import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
+import android.widget.GridView;
import android.widget.ImageView;
+import android.widget.RelativeLayout;
import android.widget.TextView;
-import com.activity.chaoran.R;
-
-import java.util.List;
-import java.util.Map;
public class ImageAdpter extends BaseAdapter {
private List list;
diff --git a/app/src/main/java/com/chaoran/component/MyAdapter.java b/app/src/main/java/com/chaoran/component/MyAdapter.java
index 22b92bf..923f40c 100644
--- a/app/src/main/java/com/chaoran/component/MyAdapter.java
+++ b/app/src/main/java/com/chaoran/component/MyAdapter.java
@@ -4,7 +4,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import com.chaoran.entiry.Zujian;
-import com.activity.chaoran.R;
+import com.example.chaoran.DjActivity;
+import com.example.chaoran.R;
import com.util.DialogUtil;
import com.util.SysUtil;
diff --git a/app/src/main/java/com/chaoran/db/DBManager.java b/app/src/main/java/com/chaoran/db/DBManager.java
index df05b0c..855c70e 100644
--- a/app/src/main/java/com/chaoran/db/DBManager.java
+++ b/app/src/main/java/com/chaoran/db/DBManager.java
@@ -1,11 +1,20 @@
package com.chaoran.db;
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.chaoran.entiry.DanJuEntity;
+
+import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
-import java.util.*;
-
public class DBManager {
private SqlHelpUtil helper;
private SQLiteDatabase db;
diff --git a/app/src/main/java/com/chaoran/entiry/PhotographUi.java b/app/src/main/java/com/chaoran/entiry/PhotographUi.java
index feb8e37..90e2feb 100644
--- a/app/src/main/java/com/chaoran/entiry/PhotographUi.java
+++ b/app/src/main/java/com/chaoran/entiry/PhotographUi.java
@@ -1,9 +1,21 @@
package com.chaoran.entiry;
+import com.example.chaoran.MainActivity;
+import com.util.DialogUtil;
+import com.util.SysUtil;
+
import android.content.Context;
+import android.content.Intent;
import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
import android.view.Gravity;
+import android.view.View;
import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.ImageView;
import android.widget.LinearLayout;
public class PhotographUi extends LinearLayout {
diff --git a/app/src/main/java/com/chaoran/entiry/SelfCheckBox.java b/app/src/main/java/com/chaoran/entiry/SelfCheckBox.java
index 9c7630d..f831005 100644
--- a/app/src/main/java/com/chaoran/entiry/SelfCheckBox.java
+++ b/app/src/main/java/com/chaoran/entiry/SelfCheckBox.java
@@ -1,6 +1,6 @@
package com.chaoran.entiry;
-import com.activity.chaoran.R;
+import com.example.chaoran.R;
import android.content.Context;
import android.util.TypedValue;
diff --git a/app/src/main/java/com/chaoran/entiry/SelfDateField.java b/app/src/main/java/com/chaoran/entiry/SelfDateField.java
index aec0e38..ac448a2 100644
--- a/app/src/main/java/com/chaoran/entiry/SelfDateField.java
+++ b/app/src/main/java/com/chaoran/entiry/SelfDateField.java
@@ -16,7 +16,7 @@ import android.widget.ImageButton;
import android.widget.RelativeLayout;
import com.chaoran.imp.InputInterface;
-import com.activity.chaoran.R;
+import com.example.chaoran.R;
public class SelfDateField extends RelativeLayout implements InputInterface {
private SelfEditText et;
diff --git a/app/src/main/java/com/chaoran/entiry/SelfTextBut.java b/app/src/main/java/com/chaoran/entiry/SelfTextBut.java
index 9c6c8bc..4d8ce62 100644
--- a/app/src/main/java/com/chaoran/entiry/SelfTextBut.java
+++ b/app/src/main/java/com/chaoran/entiry/SelfTextBut.java
@@ -2,10 +2,16 @@ package com.chaoran.entiry;
import com.chaoran.imp.InputInterface;
+import com.example.chaoran.R;
import android.content.Context;
+import android.graphics.Color;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.GradientDrawable;
import android.text.Editable;
import android.util.TypedValue;
+import android.view.Gravity;
+import android.widget.Button;
+import android.widget.EditText;
import android.widget.RelativeLayout;
public class SelfTextBut extends RelativeLayout implements InputInterface {
diff --git a/app/src/main/java/com/chaoran/entiry/Test.java b/app/src/main/java/com/chaoran/entiry/Test.java
new file mode 100644
index 0000000..12dcbc6
--- /dev/null
+++ b/app/src/main/java/com/chaoran/entiry/Test.java
@@ -0,0 +1,25 @@
+package com.chaoran.entiry;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class Test {
+ public static void main(String[] args) {
+ Map m=new HashMap();
+ m.put("a","1");
+ m.put("b","2");
+ m.put("c","3");
+ Set set=m.keySet();
+ for(String a:set){
+ System.out.println(a+"---");
+ if(a.equals("a")){
+ //set.remove(a);
+ }
+ }
+ Set set1=m.keySet();
+ for(String b:set1){
+ System.out.println(b);
+ }
+ }
+}
diff --git a/app/src/main/java/com/chaoran/entiry/Zujian.java b/app/src/main/java/com/chaoran/entiry/Zujian.java
index 6162126..39f8ac3 100644
--- a/app/src/main/java/com/chaoran/entiry/Zujian.java
+++ b/app/src/main/java/com/chaoran/entiry/Zujian.java
@@ -1,5 +1,6 @@
package com.chaoran.entiry;
+import android.widget.ImageView;
import android.widget.TextView;
public class Zujian {
diff --git a/app/src/main/java/com/chaoran/listener/ImageClickListener.java b/app/src/main/java/com/chaoran/listener/ImageClickListener.java
index 18524a6..04a756a 100644
--- a/app/src/main/java/com/chaoran/listener/ImageClickListener.java
+++ b/app/src/main/java/com/chaoran/listener/ImageClickListener.java
@@ -1,19 +1,23 @@
package com.chaoran.listener;
import android.app.Activity;
+import android.graphics.Bitmap;
import android.graphics.Color;
+import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.view.Display;
import android.view.Gravity;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
+import android.view.View.OnKeyListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
import android.widget.PopupWindow;
import com.chaoran.entiry.SelfImage;
-import com.activity.chaoran.R;
+import com.example.chaoran.R;
public class ImageClickListener implements OnClickListener {
private Activity activity;
diff --git a/app/src/main/java/com/chaoran/listener/PzClickListener.java b/app/src/main/java/com/chaoran/listener/PzClickListener.java
index 14814f8..dfed85b 100644
--- a/app/src/main/java/com/chaoran/listener/PzClickListener.java
+++ b/app/src/main/java/com/chaoran/listener/PzClickListener.java
@@ -4,10 +4,11 @@ import java.io.File;
import java.io.IOException;
import com.chaoran.entiry.PhotographUi;
-import com.activity.chaoran.DjActivity;
+import com.example.chaoran.DjActivity;
import com.util.DialogUtil;
import com.util.SysUtil;
+import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.provider.MediaStore;
diff --git a/app/src/main/java/com/chaoran/lx/activity/DownDataActivity.java b/app/src/main/java/com/chaoran/lx/activity/DownDataActivity.java
index 3e80fdd..9fd7947 100644
--- a/app/src/main/java/com/chaoran/lx/activity/DownDataActivity.java
+++ b/app/src/main/java/com/chaoran/lx/activity/DownDataActivity.java
@@ -4,13 +4,19 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
+import org.kobjects.base64.Base64;
+
import com.chaoran.component.ButAdapter;
import com.chaoran.db.DBManager;
import com.chaoran.lx.thread.LxDataDownThread;
-import com.activity.chaoran.R;
-import com.activity.chaoran.RunYmupThread;
+import com.example.chaoran.R;
+import com.example.chaoran.RunYmupThread;
+import com.example.chaoran.R.id;
+import com.example.chaoran.R.layout;
import com.util.DialogUtil;
+import com.util.IoUtil;
+import android.R.integer;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
diff --git a/app/src/main/java/com/chaoran/lx/activity/Lx_Param_Activity.java b/app/src/main/java/com/chaoran/lx/activity/Lx_Param_Activity.java
index a355670..c6ebde4 100644
--- a/app/src/main/java/com/chaoran/lx/activity/Lx_Param_Activity.java
+++ b/app/src/main/java/com/chaoran/lx/activity/Lx_Param_Activity.java
@@ -10,7 +10,10 @@ import org.dom4j.DocumentException;
import com.chaoran.entiry.DanJuEntity;
import com.chaoran.entiry.Sys_DanJuFormsOptions;
import com.chaoran.thread.DownDJRun;
-import com.activity.chaoran.R;
+import com.example.chaoran.DjActivity;
+import com.example.chaoran.R;
+import com.example.chaoran.R.layout;
+import com.example.chaoran.R.menu;
import com.util.DialogUtil;
import com.util.IoUtil;
import com.util.LxParamPageCreate;
diff --git a/app/src/main/java/com/chaoran/lx/thread/LxDataDownThread.java b/app/src/main/java/com/chaoran/lx/thread/LxDataDownThread.java
index 1e0c5ca..854340e 100644
--- a/app/src/main/java/com/chaoran/lx/thread/LxDataDownThread.java
+++ b/app/src/main/java/com/chaoran/lx/thread/LxDataDownThread.java
@@ -1,21 +1,25 @@
package com.chaoran.lx.thread;
-import android.app.ProgressDialog;
-import android.os.Handler;
-import android.os.Message;
-import android.widget.TextView;
-import com.chaoran.db.DBManager;
-import com.sys.SysData;
-import com.util.IoUtil;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
import org.kobjects.base64.Base64;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
+import org.xmlpull.v1.XmlPullParserException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
+import com.chaoran.db.DBManager;
+import com.sys.SysData;
+import com.util.IoUtil;
+
+import android.app.ProgressDialog;
+import android.os.Handler;
+import android.os.Message;
+import android.widget.TextView;
public class LxDataDownThread implements Runnable {
private Handler handler;
diff --git a/app/src/main/java/com/chaoran/thread/UpdatePwdThread.java b/app/src/main/java/com/chaoran/thread/UpdatePwdThread.java
index d5db2c5..edc069a 100644
--- a/app/src/main/java/com/chaoran/thread/UpdatePwdThread.java
+++ b/app/src/main/java/com/chaoran/thread/UpdatePwdThread.java
@@ -1,12 +1,17 @@
package com.chaoran.thread;
-import android.os.Handler;
-import android.os.Message;
-import com.sys.SysData;
+import java.io.IOException;
+
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
+import org.xmlpull.v1.XmlPullParserException;
+
+import com.sys.SysData;
+
+import android.os.Handler;
+import android.os.Message;
public class UpdatePwdThread implements Runnable {
private Handler handler;
private String userid;
diff --git a/app/src/main/java/com/cr5w/scan/CR5WScanControl.java b/app/src/main/java/com/cr5w/scan/CR5WScanControl.java
index 7238646..70c0473 100644
--- a/app/src/main/java/com/cr5w/scan/CR5WScanControl.java
+++ b/app/src/main/java/com/cr5w/scan/CR5WScanControl.java
@@ -32,7 +32,9 @@ public class CR5WScanControl {
}
sleep(500);
}
+// init(context);
} catch (Exception e) {
+ e.printStackTrace();
}
}
diff --git a/app/src/main/java/com/cr5w/scan/ScanHelper.java b/app/src/main/java/com/cr5w/scan/ScanHelper.java
index 4440455..f67deb9 100644
--- a/app/src/main/java/com/cr5w/scan/ScanHelper.java
+++ b/app/src/main/java/com/cr5w/scan/ScanHelper.java
@@ -1,6 +1,10 @@
package com.cr5w.scan;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
import android.content.Context;
+import android.content.Intent;
import android.provider.Settings;
public class ScanHelper {
/** scan settings show 0 : no; 1 : yes*/
diff --git a/app/src/main/java/com/cr5w/scan/aht70/ScanHelper.java b/app/src/main/java/com/cr5w/scan/aht70/ScanHelper.java
index 02d7acb..c9d7bef 100644
--- a/app/src/main/java/com/cr5w/scan/aht70/ScanHelper.java
+++ b/app/src/main/java/com/cr5w/scan/aht70/ScanHelper.java
@@ -1,7 +1,11 @@
package com.cr5w.scan.aht70;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
import android.content.Context;
+import android.content.Intent;
import android.provider.Settings;
public class ScanHelper {
/** scan settings show 0 : no; 1 : yes*/
diff --git a/app/src/main/java/com/device/zk_r322a/ZKR322AControl.java b/app/src/main/java/com/device/zk_r322a/ZKR322AControl.java
index e2a1bb7..383f21d 100644
--- a/app/src/main/java/com/device/zk_r322a/ZKR322AControl.java
+++ b/app/src/main/java/com/device/zk_r322a/ZKR322AControl.java
@@ -1,24 +1,18 @@
package com.device.zk_r322a;
+import android_serialport_api.SerialPort;
+
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
-
-import android.gpio.GpioJNI;
-import android.util.Log;
-import android_serialport_api.SerialPort;
public class ZKR322AControl {
private SerialPort mSerialPort = null;
- private OutputStream mOutputStream = null;
private InputStream mInputStream = null;
- //private boolean readVal = false;
public ZKR322AControl() throws SecurityException, IOException {
- mSerialPort = new SerialPort(new File("/dev/ttyS4"), 115200, 8, 'N', 1,0);
- mOutputStream = mSerialPort.getOutputStream();
- mInputStream = mSerialPort.getInputStream();
+ mSerialPort = new SerialPort(new File("/dev/ttyS1"), 115200,0);
+ mInputStream = mSerialPort.getInputStream();
}
public String getData() {
@@ -37,19 +31,13 @@ public class ZKR322AControl {
}
public void start() {
- //readVal = true;
- // GpioJNI.gpio_switch_scan_trig(1);
+// GpioJNI.gpio_switch_scan_trig(1);
}
public void stop() {
- //readVal = false;
- // GpioJNI.gpio_switch_scan_trig(0);
+// GpioJNI.gpio_switch_scan_trig(0);
}
- //public boolean isRead() {
- // return readVal;
- //}
-
public void close() {
if (mSerialPort != null) {
mSerialPort.close();
@@ -58,7 +46,7 @@ public class ZKR322AControl {
public void initScan() {
- // GpioJNI.gpio_switch_scan_rf_ired(0);
- // GpioJNI.gpio_switch_scan_power(1);
+// GpioJNI.gpio_switch_scan_rf_ired(0);
+// GpioJNI.gpio_switch_scan_power(1);
}
}
diff --git a/app/src/main/java/com/example/chaoran/DjActivity.java b/app/src/main/java/com/example/chaoran/DjActivity.java
new file mode 100644
index 0000000..72914b6
--- /dev/null
+++ b/app/src/main/java/com/example/chaoran/DjActivity.java
@@ -0,0 +1,1981 @@
+package com.example.chaoran;
+
+import android.app.AlertDialog;
+import android.app.Instrumentation;
+import android.app.ProgressDialog;
+import android.app.TabActivity;
+import android.content.*;
+import android.content.DialogInterface.OnCancelListener;
+import android.device.ScanManager;
+import android.device.scanner.configuration.Triggering;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Color;
+import android.media.AudioManager;
+import android.media.MediaPlayer;
+import android.media.MediaPlayer.OnCompletionListener;
+import android.media.SoundPool;
+import android.net.wifi.WifiManager;
+import android.net.wifi.WifiManager.WifiLock;
+import android.os.*;
+import android.os.PowerManager.WakeLock;
+import android.speech.tts.TextToSpeech;
+import android.speech.tts.TextToSpeech.OnInitListener;
+import android.util.Log;
+import android.view.*;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup.LayoutParams;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.*;
+import android.widget.AdapterView.OnItemClickListener;
+import com.chaoran.component.ImageAdpter;
+import com.chaoran.component.MyAdapter;
+import com.chaoran.db.DBManager;
+import com.chaoran.entiry.*;
+import com.chaoran.listener.ImageClickListener;
+import com.chaoran.listener.PzClickListener;
+import com.chaoran.lx.thread.LxDJNrThread;
+import com.chaoran.lx.thread.LxMenuQueryThread;
+import com.chaoran.lx.thread.LxRunYmupThread;
+import com.chaoran.thread.DownDJRun;
+import com.cr5w.scan.CR5WScanControl;
+import com.cr5w.scan.aht70.ScanHelper;
+import com.device.zk_r322a.ZKR322AControl;
+import com.honeywell.aidc.*;
+import com.jiebao.h518.scan.BeepManager;
+import com.jiebao.h518.scan.NewScanControler;
+import com.lianxin.nr510.Engine;
+import com.seuic.scan.SeuicScanKeyEventRunnable;
+import com.seuic.scanner.DecodeInfo;
+import com.seuic.scanner.DecodeInfoCallBack;
+import com.seuic.scanner.ScannerFactory;
+import com.seuic.scanner.ScannerKey;
+import com.sys.SysData;
+import com.util.*;
+import com.vioce.TekVoiceEngine;
+import com.vioce.VoiceEngine;
+import org.kobjects.base64.Base64;
+import org.ksoap2.SoapEnvelope;
+import org.ksoap2.serialization.SoapObject;
+import org.ksoap2.serialization.SoapSerializationEnvelope;
+import org.ksoap2.transport.HttpTransportSE;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 单据窗口
+ */
+public class DjActivity extends TabActivity implements DecodeInfoCallBack,
+ BarcodeReader.BarcodeListener,
+ BarcodeReader.TriggerListener {
+ /* 振动 */
+ public Vibrator vibrator;
+ /* 拍照用的属性 */
+ public PhotographUi photographUi;// 当前拍照的组件
+ public String pzImgPath;// 照相的图片路径
+
+
+ public String phoneModel;// 电话类型
+ public Map djInitMap = null;
+ public HashMap pageMap = new HashMap();// 页面参数
+ public String mxTempTable;// 明细临时表
+ public String mxSql;// 明细数据插入sql
+ private String mxQuerySql;// 明细查询sql
+ private String defaultFocus;// 初始化进入单据时的默认焦点
+ private String defaultFocus2;// 初始化进入单据时的默认焦点
+ private String nextFocusTag;// 下一个需要获得焦点组件Tag
+ private WakeLock wakeLock = null;
+ private WakeLock linghtScreen = null;// 点亮屏幕
+ PowerManager pm = null;
+ private boolean isLinghtScreen = false;
+ private WifiLock wifiLock;
+
+
+ /* 菜单栏变量 */
+ private AbsListView menuList;
+ private List menuData;
+ private BaseAdapter menuAdapter;
+ private String formlx;
+ private int currentDjId;
+ public ProgressDialog pd;
+
+ public TabHost tabhost;
+ public TabHost hzTab;
+ public HashMap fangAMap = new HashMap();// 保存所有方案
+
+
+ /* 明细内容 */
+ private TextView mxTitle;
+ private ListView mxList;
+ public ArrayList mxData = new ArrayList();
+ private MyAdapter mxAdapter;
+ private Button mxRefreshBut;
+ private int cur_pos = -1;// 当前选中的行
+
+ //科大讯飞语音引擎
+ private VoiceEngine voiceEngine;
+
+
+ private MediaPlayer diPlayer = null;
+ private MediaPlayer duPlayer = null;
+
+ public static View m_view = null;
+
+ // 正在执行是否支持重复读取条形码
+ private boolean reReadCode = true;
+
+ /* 数据操作变量 */
+ private DBManager dbManager;
+ private String ttsNr;
+ private OnCompletionListener completionListener = new OnCompletionListener() {
+ // @Override
+ public void onCompletion(MediaPlayer mp) {
+ if (ttsNr != null) {
+ if (voiceEngine != null) {
+ voiceEngine.startSpeaking(ttsNr);
+ }
+ ttsNr = null;
+ }
+ }
+ };
+ /* 菜单栏查询 */
+ Runnable menuRun = new Runnable() {
+ public void run() {
+ purview();
+ }
+ };
+ /* 显示网络图片Handler */
+ public Handler imgHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ if (msg.what == -1) {
+ DialogUtil.builder(DjActivity.this, "错误信息", "图片地址不正确", 0);
+ } else {
+ Map map = (Map) msg.obj;
+ ((SelfImage) map.get("image")).setBitmap((Bitmap) map.get("bitMap"));
+ }
+ }
+
+ };
+ /* 单据内容查询后更新页面 */
+ private Handler handler = new Handler() {
+ @Override
+ // 当有消息发送出来的时候就执行Handler的这个方法
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ if (msg.what == -1) {
+ if (pd != null) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "初始化失败:" + msg.obj, 0);
+ }
+ } else {
+ Object initOb = msg.obj;
+ if (initOb instanceof Map) {
+ djInitMap = (Map) initOb;
+ createDj(1);
+ } else {
+ if (initOb.equals("0")) {
+ DialogUtil.builder(DjActivity.this, "提示信息", "PDA未注册!", 0);
+ } else if (initOb.equals("1")) {
+ DialogUtil.builder(DjActivity.this, "提示信息", "PDA还未授权使用!", 0);
+ } else if (initOb.equals("2")) {
+ DialogUtil.builder(DjActivity.this, "提示信息", "试用期已过!", 0);
+ } else if (initOb.equals("该模块未授权")) {
+ DialogUtil.builder(DjActivity.this, "提示信息", "该模块未授权!", 0);
+ }
+ pd.cancel();
+ }
+ }
+ }
+
+ };
+ /* 菜单查询后更新页面 */
+ private Handler menuHandler = new Handler() {
+ @Override
+ // 当有消息发送出来的时候就执行Handler的这个方法
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ if (msg.what == -1) {
+ DialogUtil.builder(DjActivity.this, "错误信息", "下载单据菜单失败!" + msg.obj, 0);
+ } else {
+ menuAdapter.notifyDataSetChanged();
+ }
+ pd.cancel();
+ }
+
+ };
+ private Handler sqlHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ if (msg.what == -1) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "提取方案SQL失败!" + msg.obj, 0);
+ } else {
+ if (msg.arg1 == 0) {
+ try {
+ HashMap faMap = (HashMap) IoUtil.byte_obj((byte[]) msg.obj);
+ Map map = SqlUtil.regSql(faMap.get("sql").toString(), hzTab, pageMap);
+ pd.setMessage("正在执行检索方案");
+ String audioFld = "";
+ if (faMap.get("audioFld") != null) {
+ audioFld = faMap.get("audioFld").toString().toUpperCase();
+ }
+ runSearch(map, faMap.get("return_one").toString(), audioFld);
+ } catch (Exception e) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "检索方案内容解析失败!", 0);
+ }
+ } else if (msg.arg1 == 1) {
+ String sql = null;
+ try {
+ sql = (String) IoUtil.byte_obj((byte[]) msg.obj);
+ } catch (Exception e) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "页面修改方案内容解析失败!", 0);
+ return;
+ }
+ Map map = SqlUtil.regSql(sql, hzTab, pageMap);
+ map.put("gzid", pageMap.get("GZID"));
+ map.put("mxTempTable", mxTempTable);
+ Map hzData = DjUtil.organizationHzData(hzTab, pageMap.get("GZID"));
+ hzData.putAll(pageMap);
+ map.put("hzData", hzData);
+ try {
+ byte[] b = IoUtil.getbyte(map);
+ String paramString = Base64.encode(b);
+ pd.setMessage("正在执行页面修改方案");
+ runYmup(paramString);
+ } catch (Exception e) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "页面修改方案组织数据失败!", 0);
+ }
+ } else if (msg.arg1 == 2) {// 页面提取方案
+ Djselefa djselefa = null;
+ try {
+ djselefa = (Djselefa) IoUtil.byte_obj((byte[]) msg.obj);
+ } catch (Exception e) {
+ e.printStackTrace();
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "提取方案内容解析失败!", 0);
+ return;
+ }
+ HashMap map = SqlUtil.regSql(djselefa.getT_sql(), hzTab, pageMap);
+ pd.cancel();
+ Intent intent = new Intent();
+ djselefa.setT_sql(map.get("sql").toString());
+ HashMap paramMap = new HashMap();
+ paramMap.put("djselefa", djselefa);
+ paramMap.put("t_sqlParam", (HashMap) map.get("param"));
+ paramMap.put("mxTempTable", mxTempTable);
+ paramMap.put("GZID", pageMap.get("GZID"));
+ intent.putExtra("paramMap", paramMap);
+ intent.setClass(getApplicationContext(), DjtqActivity.class);
+ startActivityForResult(intent, 2);
+ }
+ }
+ }
+ };
+ public Handler runHandler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ View rootview = DjActivity.this.getWindow().getDecorView();
+ View aaa = rootview.findFocus();
+ if (aaa instanceof SelfEditText) {
+ m_view = aaa;
+ SelfEditText set = (SelfEditText) aaa;
+ if (set.getText().length() > 0)
+ set.selectAll();
+ }
+ if (msg.what == -1) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "检索方案执行失败:" + msg.obj.toString(), 0);
+ } else if (msg.what == -2) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "页面修改方案执行失败:" + msg.obj.toString(), 0);
+ WifiManager wifiManager = (WifiManager) DjActivity.this.getSystemService(Context.WIFI_SERVICE);
+ wifiManager.disconnect();
+ wifiManager.reconnect();
+ } else if (msg.what == -3) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "单据保存失败:" + msg.obj.toString(), 0);
+ } else if (msg.what == -4) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "单据退出失败:" + msg.obj.toString(), 0);
+ } else if (msg.what == -5) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "查询明细失败:" + msg.obj.toString(), 0);
+ } else {
+ if (msg.obj == null) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "错误信息", "方案执行失败!", 0);
+ } else {
+ if (msg.arg1 == 1) {// 检索方案
+ Map map = (Map) msg.obj;
+ DataGrid dg = (DataGrid) map.get("dg");
+ int len = dg.getTableData().size();
+ if (len < 1) {
+ pd.cancel();
+ DialogUtil.builder(DjActivity.this, "提示信息", "当前查询没有记录!", 0);
+ return;
+ }
+ String speakFld = (map.get("audioFld")).toString();
+ if (map.get("return_one").equals("Y") && len < 2) {
+ Map paramValueMap = (Map) dg.getTableData().get(0);
+ play(paramValueMap, speakFld);
+ DjUtil.setUiValue(hzTab, paramValueMap, pageMap, imgHandler);
+ } else {
+ Intent intent = new Intent();
+ intent.setClass(getApplicationContext(), ParamActivity.class);
+ intent.putExtra("dg", dg);
+ intent.putExtra("audioFld", speakFld);
+ startActivityForResult(intent, 1);
+ }
+ if (defaultFocus != null) {
+ DjUtil.setFocus(hzTab, defaultFocus);
+ defaultFocus = null;
+ }
+ pd.cancel();
+ } else if (msg.arg1 == 2) {// 页面修改方案
+ Object ob = msg.obj;
+ if (ob instanceof Map) {
+ Map map = (Map) ob;
+ List