CN103077065A - 一种食品安全追溯系统 - Google Patents

一种食品安全追溯系统 Download PDF

Info

Publication number
CN103077065A
CN103077065A CN2013100054007A CN201310005400A CN103077065A CN 103077065 A CN103077065 A CN 103077065A CN 2013100054007 A CN2013100054007 A CN 2013100054007A CN 201310005400 A CN201310005400 A CN 201310005400A CN 103077065 A CN103077065 A CN 103077065A
Authority
CN
China
Prior art keywords
module
human
computer interaction
wifi
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013100054007A
Other languages
English (en)
Inventor
贾良陈
梁华勇
周楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN2013100054007A priority Critical patent/CN103077065A/zh
Publication of CN103077065A publication Critical patent/CN103077065A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种食品安全追溯系统,该系统基于android操作系统设计,其结构包括串口数据传输模块、人机交互界面、本地数据存储模块以及WIFI数据传输模块,其中串口数据传输模块是指通过串口传输重力感应器传输的数据;人机交互模块用于录入交易双方的个人信息和交易信息,所述交易信息是指通过串口数据传输模块传输的数据;本地数据存储模块是指与人机交互模块相连接的本地数据库,所述本地数据库使用SQlite数据库;WIFI数据传输模块是指通过WIFI与人机交互模块相连接的信息中心。该一种食品安全追溯系统和现有技术相比,操作方便,节省开发成本,可全程追溯食品来源,易于推广使用。

Description

一种食品安全追溯系统
技术领域
本发明涉及一种计算机技术领域,具体的说是一种主要实现交易信息的采集以及台秤终端与后台信息中心之间数据传输的食品安全追溯系统。
背景技术
食品安全问题一直是人们十分关心的问题,为进一步规范食品来源,现在一般都设有来源追溯终端,现有技术的追溯系统大都是基于windows操作系统,研究人员在开发时需要支付昂贵的授权费用。相对应的,Android系统是一个完全开源的自由式系统,由于其开源性使得众厂商使用该平台时并不需要支付高昂的授权费用,因此在一定程度上解决了大家的开发成本,使其近年来迅速崛起,成为了最热门的嵌入式操作平台之一。因而,如何基于Android系统设计一款食品安全追溯系统成为一大难题。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种结构简单、可实现对交易信息的计算、显示、记录及传输的食品安全追溯系统。
本发明的技术方案是按以下方式实现的,该一种食品安全追溯系统,该系统基于android操作系统设计,其结构包括串口数据传输模块、人机交互界面、本地数据存储模块以及WIFI数据传输模块,其中
串口数据传输模块是指通过串口传输重力感应器传输的数据;
人机交互模块用于录入交易双方的个人信息和交易信息,所述交易信息是指通过串口数据传输模块传输的数据;
本地数据存储模块是指与人机交互模块相连接的本地数据库,所述本地数据库使用SQlite数据库;
WIFI数据传输模块是指通过WIFI与人机交互模块相连接的信息中心。
作为优选,所述人机交互模块包括交易模块、查询模块和设置模块,其中交易模块交易模块用于显示交易双方的个人信息及交易的商品信息;查询模块用于对所交易记录的查询;设置模块用于串口及WIFI参数的设置。
作为优选,所述串口数据传输模块的实现基于android系统的NDK和JNI技术设计。android DNK是一套工具,允许android应用开发者嵌入从C、C++源代码文件编译来的本地机器代码到各自的应用软件包中,并通过JNI进行访问。
本发明与现有技术相比所产生的有益效果是:
本发明的一种食品安全追溯系统基于android操作系统设计,整体界面美观,操作方便,节省开发成本,可全程追溯食品来源,易于推广使用。
附图说明
附图1是本发明的结构示意框图。
附图2是本发明的人机交互模块工作流程示意图。
附图中的标记分别表示:
1、串口数据传输模块,2、人机交互模块,3、本地数据存储模块,4、WIFI数据传输模块。
具体实施方式
下面结合附图对本发明的一种食品安全追溯系统作以下详细说明。
如附图1所示,该一种食品安全追溯系统,该系统基于android操作系统设计,其结构包括串口数据传输模块、人机交互模块、本地数据存储模块以及WIFI数据传输模块。
其中串口数据传输模块是指通过串口传输重力感应器传输的数据。
人机交互模块用于录入交易双方的个人信息和交易信息,所述交易信息是指通过串口数据传输模块传输的数据。
本地数据存储模块是指与人机交互模块相连接的本地数据库,所述本地数据库使用SQlite数据库,该模块中的SQlite数据库存储代码如下:
publicvoid onClick(View v) {
       // TODO Auto-generated method stub
       try{
           //实例数据库,只有调用这个函数时,而且是第一次时,才调用oncreate方法
           mysql = myOpenHelper.getWritableDatabase();
           if(v==check)
           {
              //在此添加响应事件
              String Onestr = danjuhao.getText().toString();
              String table = "himi";
              String[] columns = new String[]{"id","text"};
              String selection ="text=?";
              String[] selectionArgs = new String[]{Onestr};
              Cursor c= mysql.query(table, columns, selection, selectionArgs, nullnullnull);        
              while(c.moveToNext()){
                  String danju =c.getString(c.getColumnIndex("text"));
                  System.out .println(danju);
                  c.getString(c.getColumnIndex("text"));
                  String id_num =c.getString(c.getColumnIndex("id"+"" ));
                  System.out .println(id_num);
                  tv.setText("查询单号的ID为: \n"+id_num);
              }
              }
           if(v == btn_addone){
              ContentValues cv = new ContentValues();
              ii++;
           String j="jngxq1017000"+Integer.toString(ii);
           cv.put(MySQLiteOpenHelper.TEXT,j);
           mysql.insert(MySQLiteOpenHelper.TABLE_NAME,null, cv);
           tv.setText("添加数据成功!"); 
           }
           elseif(v==btn_newtable){
               String TABLE_NAME = "himi";
                  String ID = "id";
                  String TEXT = "text";
                  String str_sql2 = "CREATE TABLE " + TABLE_NAME + "(" + ID
                    + " INTEGER PRIMARY KEY AUTOINCREMENT," + TEXT
                    + " text );";
                  mysql.execSQL(str_sql2);
                  tv.setText("新建表成功!");
           }
           elseif(v==btn_deletetable){
              mysql.execSQL("DROP TABLE himi");
              tv.setText("删除表成功!!!");
           }
           elseif(v==btn_check)//遍历数据
           {
               Cursor cur = mysql.rawQuery("SELECT * FROM "
                        + MySQLiteOpenHelper.TABLE_NAMEnull);    
                      if (cur != null) {
                       String temp = "";
                       int i = 0;
                       while (cur.moveToNext()) {//直到返回false说明表中到了数据末尾
                        temp += cur.getString(0); 
                        // 参数0 指的是列的下标,这里的0指的是id列
                        temp += cur.getString(1);
                        i++;
                        temp += "  "; 
                      //  if (i % 3 == 0) 
                         temp += " ";
                     //  }
                       tv.setText(temp);
                      } 
                     }
           }}  
       catch(Exception e){
           //操作失败的输出信息
           tv.setText("创建失败!!!");
       }
       finally{
           //如果try中异常,要对数据库进行关闭
           mysql.close();
       }
    }
WIFI数据传输模块是指通过WIFI与人机交互模块相连接的信息中心。
所述人机交互模块包括交易模块、查询模块和设置模块,其中交易模块交易模块用于显示交易双方的个人信息及交易的商品信息;查询模块用于对所交易记录的查询;设置模块用于串口及WIFI参数的设置。
所述串口数据传输模块的实现基于android系统的NDK和JNI技术设计。android DNK是一套工具,允许android应用开发者嵌入从C、C++源代码文件编译来的本地机器代码到各自的应用软件包中,并通过JNI进行访问。
上述串口数据的传输代码如下:
publicclass SerialPort {
    privatestaticfinal String TAG = "SerialPort";
    /*
     * Do not remove or rename the field mFd: it is used by native method close();
     */
    private FileDescriptor mFd;
    private FileInputStream mFileInputStream;
    private FileOutputStream mFileOutputStream;
    public SerialPort(File device, int baudrate, int flags) throws SecurityException, IOException {
       //判断存取权限
       /* Check access permission */
       if (!device.canRead() || !device.canWrite()) {
           try {
              /* Missing read/write permission, trying to chmod the file */
              Process su;
              su = Runtime.getRuntime().exec("/system/bin/su");
              String cmd = "chmod 666 " + device.getAbsolutePath() + "\n"
                     + "exit\n";
              su.getOutputStream().write(cmd.getBytes());
              if ((su.waitFor() != 0) || !device.canRead()
                     || !device.canWrite()) {
                  thrownew SecurityException();
              }
           } catch (Exception e) {
              e.printStackTrace();
              thrownew SecurityException();
           }
       }
       mFd = open(device.getAbsolutePath(), baudrate, flags);
       if (mFd == null) {
           Log.e(TAG, "native open returns null");
           thrownew IOException(); 
       }
       //创建一个文件输入流一个文件输出流
       mFileInputStream = new FileInputStream(mFd);
       mFileOutputStream = new FileOutputStream(mFd);
    }
    // Getters and setters
    //获得子进程的输入流
    public InputStream getInputStream() {
       return mFileInputStream;
    }
    //获得子进程的输出流
    public OutputStream getOutputStream() {
       return mFileOutputStream;
    }
    // JNI
    privatenativestatic FileDescriptor open(String path, int baudrate, int flags);
    publicnativevoid close();
    //表明程序开始运行的时候会加载serial_port,其实是加载libserial_port.so这个库
    static {
       System. loadLibrary ("serial_port");
    }
}
上述人机交互模块置于终端设备中,在给终端设备上电初始化后进入人机交互界面,首先设置串口和WIFI的参数,然后进入称量界面,由重力感应器称得商品的重量,通过串口把数据传输给软件处理,显示在人机交互界面中,一笔交易可以包含多件商品,整个操作流程如图2所示,交易结束时,打印交易信息,同时软件自动把数据通过WIFI上传给后台信息中心,并保存在本地SQLite数据库中。打印结束后,软件退回到称量界面,且清除上次交易信息。

Claims (3)

1.一种食品安全追溯系统,其特征在于:该系统基于android操作系统设计,其结构包括串口数据传输模块、人机交互界面、本地数据存储模块以及WIFI数据传输模块,其中
串口数据传输模块是指通过串口传输重力感应器传输的数据;
人机交互模块用于录入交易双方的个人信息和交易信息,所述交易信息是指通过串口数据传输模块传输的数据;
本地数据存储模块是指与人机交互模块相连接的本地数据库,所述本地数据库使用SQlite数据库;
WIFI数据传输模块是指通过WIFI与人机交互模块相连接的信息中心。
2.根据权利要求1所述的一种食品安全追溯系统,其特征在于:所述人机交互模块包括交易模块、查询模块和设置模块,其中交易模块交易模块用于显示交易双方的个人信息及交易的商品信息;查询模块用于对所交易记录的查询;设置模块用于串口及WIFI参数的设置。
3.根据权利要求1所述的一种食品安全追溯系统,其特征在于:所述串口数据传输模块的实现基于android系统的NDK和JNI技术设计。
CN2013100054007A 2013-01-08 2013-01-08 一种食品安全追溯系统 Pending CN103077065A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100054007A CN103077065A (zh) 2013-01-08 2013-01-08 一种食品安全追溯系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100054007A CN103077065A (zh) 2013-01-08 2013-01-08 一种食品安全追溯系统

Publications (1)

Publication Number Publication Date
CN103077065A true CN103077065A (zh) 2013-05-01

Family

ID=48153602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100054007A Pending CN103077065A (zh) 2013-01-08 2013-01-08 一种食品安全追溯系统

Country Status (1)

Country Link
CN (1) CN103077065A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101886946A (zh) * 2010-04-30 2010-11-17 福州欣创摩尔电子科技有限公司 智能追溯管理电子秤
CN101901524A (zh) * 2010-03-29 2010-12-01 深圳先进技术研究院 电子结算终端及方法
CN102663858A (zh) * 2012-04-20 2012-09-12 广东工业大学 一种多功能智能ic卡电子秤
CN102708630A (zh) * 2012-03-09 2012-10-03 深圳市深信信息技术有限公司 农产品批发市场电子交易一体机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901524A (zh) * 2010-03-29 2010-12-01 深圳先进技术研究院 电子结算终端及方法
CN101886946A (zh) * 2010-04-30 2010-11-17 福州欣创摩尔电子科技有限公司 智能追溯管理电子秤
CN102708630A (zh) * 2012-03-09 2012-10-03 深圳市深信信息技术有限公司 农产品批发市场电子交易一体机
CN102663858A (zh) * 2012-04-20 2012-09-12 广东工业大学 一种多功能智能ic卡电子秤

Similar Documents

Publication Publication Date Title
CN107886439A (zh) 保险产品开发方法、装置、设备及计算机可读存储介质
CN110765013B (zh) 一种流程自动化执行方法及系统
CN108519952A (zh) 一种分布式的web自动化测试系统及方法
CN102810057A (zh) 一种记录日志的方法
CN105354025A (zh) 基于移动应用的业务模型配置系统和方法
CN105095449A (zh) 一种将html网页转换为移动终端页面的方法
CN102752371B (zh) 在客户端上实现闪屏的方法和客户端
KR20160027419A (ko) 정보에 기반하여 부가기능을 제공하는 방법
CN102023869A (zh) 一种控件输入值校验方法及系统
CN106027633A (zh) 应用推送方法、应用推送系统及终端设备
CN108804484A (zh) 数据审批方法、设备和计算机可读存储介质
CN106843818B (zh) 一种业务模型生成方法及装置
CN107909375A (zh) 防伪与追溯二维码生成方法、终端及介质
CN100508516C (zh) 一种业务处理装置及业务处理方法
CN105550103B (zh) 一种基于自定义测试脚本的自动化测试方法
CN106033551A (zh) 数据解析方法、装置及系统
CN107734474A (zh) 绑定电话号码的应用统计方法及系统
CN102662962B (zh) 一种基于网页元素的动态展示方法
CN110222315A (zh) 一种数据统计方法、系统及电子设备和存储介质
CN109787944B (zh) 网络交互方法、电子设备、客户端及服务器
CN103077065A (zh) 一种食品安全追溯系统
CN101425120B (zh) 读卡器及其执行方法
CN102609253A (zh) 一种智能卡的应用实现方法及系统
KR102197650B1 (ko) 타깃 마케팅을 제공하는 서비스 제공 장치, 그를 포함하는 타깃 마케팅 시스템, 그 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN104731900A (zh) 一种Hive调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130501