陈力
2023-05-29 9580ef19966b4381216ec863c8c1c333d489f33a
sqllite 和 点击隐藏键盘
9个文件已修改
209 ■■■■■ 已修改文件
app/build.gradle 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/MainActivity.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/SelectFragment.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/SettingFragment.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/sqllitedb/DaoMaster.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/sqllitedb/Order.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDetail.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -31,7 +31,7 @@
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
greendao {
    schemaVersion 1 //数据库版本号
    schemaVersion 4//数据库版本号
    daoPackage 'com.lotaai.canguiayw.sqllitedb'// 设置DaoMaster、DaoSession、Dao 包名
    targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录,请注意,这里路径用/不要用.
    generateTests false //设置为true以自动生成单元测试。
app/src/main/AndroidManifest.xml
@@ -23,7 +23,7 @@
            </intent-filter>
        </activity>
        <activity android:name=".TakeActivity"/>
        <activity android:name="ManageActivity"/>
        <activity android:name="ManageActivity" android:windowSoftInputMode="adjustPan"/>
        <activity android:name=".AdminLoginActivity"/>
        <service
app/src/main/java/com/lotaai/canguiayw/MainActivity.java
@@ -1,6 +1,7 @@
package com.lotaai.canguiayw;
import androidx.appcompat.app.AppCompatActivity;
import androidx.arch.core.executor.DefaultTaskExecutor;
import android.content.Context;
import android.content.Intent;
@@ -12,13 +13,21 @@
import android.widget.ImageView;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.lotaai.canguiayw.device.CanGuiCommand;
import com.lotaai.canguiayw.device.CanguiStatus;
import com.lotaai.canguiayw.device.DeviceMessage;
import com.lotaai.canguiayw.device.DeviceType;
import com.lotaai.canguiayw.device.MessageType;
import com.lotaai.canguiayw.device.service.CanGuiService;
import com.lotaai.canguiayw.sqllitedb.Order;
import com.lotaai.canguiayw.sqllitedb.OrderDetail;
import com.lotaai.canguiayw.sqllitedb.SqlliteDbManage;
import org.greenrobot.eventbus.EventBus;
import java.util.Date;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
    private Context context;
@@ -41,6 +50,28 @@
                return true;
            }
        });
        testData();
    }
    public void  testData(){
        Random random = new Random();
        int rt= random.nextInt(10000-1000+1)  + 1000;
        Order order = new Order();
        order.setOrderNo("GB"+ rt);
        order.setGridNo("1");
        order.setTakeCode("526895");
        order.setState(0);
        Date time = new Date();
        order.setPutInDate(TimeUtils.date2String(time,"yyyy-MM-dd HH:mm:ss"));
        SqlliteDbManage.getInstance().insertOrderInfo(order);
        for (int p = 0; p < 3;p ++){
            OrderDetail detail = new OrderDetail();
            detail.setItemName("项目"+p);
            detail.setNum(p);
            detail.setOrderNo(order.getOrderNo());
            SqlliteDbManage.getInstance().insertOrUpdateOrderDetailInfo(detail);
        }
        LogUtils.i("插入订单数据:" + order.getOrderNo());
    }
    public void gotoSetting(View view){
app/src/main/java/com/lotaai/canguiayw/SelectFragment.java
@@ -16,14 +16,20 @@
import androidx.fragment.app.Fragment;
import com.bin.david.form.core.SmartTable;
import com.bin.david.form.core.TableConfig;
import com.bin.david.form.data.CellInfo;
import com.bin.david.form.data.column.Column;
import com.bin.david.form.data.format.IFormat;
import com.bin.david.form.data.format.bg.IBackgroundFormat;
import com.bin.david.form.data.format.bg.ICellBackgroundFormat;
import com.bin.david.form.data.format.selected.ISelectFormat;
import com.bin.david.form.data.style.FontStyle;
import com.bin.david.form.data.table.TableData;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ScreenUtils;
import com.lotaai.canguiayw.common.SettingConfig;
import com.lotaai.canguiayw.sqllitedb.Order;
import com.lotaai.canguiayw.sqllitedb.SqlliteDbManage;
import org.greenrobot.eventbus.EventBus;
@@ -62,19 +68,9 @@
        Column<String> gridNo = new Column<>("格子", "gridNo");
        Column<String> orderNo = new Column<>("订单号", "orderNo");
        Column<String> putIntime = new Column<>("放入时间", "putInDate");
        Column<String> takeCode = new Column<>("操作", "takeCode");
        Column<String> takeCode = new Column<>("取餐码", "takeCode");
        List<Order> lists = new ArrayList<>();
        for (int i = 0;i < 3; i++) {
            Order order = new Order();
            order.setGridNo(Integer.toString(i));
            order.setOrderNo("G202305016001-"+Integer.toString(i));
            Date dd = new Date();
            order.setPutInDate(dd.getTime());
            order.setState(0);
            order.setTakeCode("56897");
            lists.add(order);
        }
        List<Order> lists = SqlliteDbManage.getInstance().selectOrtdersByState(0);
        TableData<Order> tableData = new TableData<Order>("测试表格名字",lists,gridNo, orderNo, putIntime, takeCode);
        //设置数据
@@ -101,25 +97,35 @@
        // 设置表格主标题
        setTable.setTableData(tableData);
        //addHandler.sendEmptyMessageDelayed(0,10*1000);
        clickDetail();
    }
    private Handler addHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            List<Order> lists = new ArrayList<>();
            for (int i = 9;i < 13; i++) {
                Order order = new Order();
                order.setGridNo(Integer.toString(i));
                order.setOrderNo("G202305016001-"+Integer.toString(i));
                Date dd = new Date();
                order.setPutInDate(dd.getTime());
                order.setState(0);
                order.setTakeCode("56897");
                lists.add(order);
            }
            setTable.addData(lists,true);
    public void clickDetail(){
        if (setTable!=null){
            setTable.getTableData().setOnRowClickListener(new TableData.OnRowClickListener() {
                @Override
                public void onClick(Column column, Object o, int col, int row) {
                 LogUtils.i("click row "  + row);
                 final int rr = row;
                    setTable.getConfig().setContentCellBackgroundFormat(new ICellBackgroundFormat<CellInfo>() {
                        @Override
                        public void drawBackground(Canvas canvas, Rect rect, CellInfo cellInfo, Paint paint) {
                            if(cellInfo.row!=rr){
                                paint.setColor(Color.GRAY);
                            }
                            else{
                                paint.setColor(Color.BLUE);
                            }
                            canvas.drawRect(rect,paint);
                        }
                        @Override
                        public int getTextColor(CellInfo cellInfo) {
                            return 0;
                        }
                    });
                }
            });
        }
    };
    }
}
app/src/main/java/com/lotaai/canguiayw/SettingFragment.java
@@ -21,6 +21,7 @@
import androidx.fragment.app.Fragment;
import com.bin.david.form.core.SmartTable;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.LogUtils;
import org.angmarch.views.NiceSpinner;
@@ -47,27 +48,24 @@
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                             Bundle savedInstanceState) {
        if (root == null) {
            root = inflater.inflate(R.layout.framgment_setting, container, false);
        }
        context = container.getContext();
        initSpinner();
        /* Fragment中,注册
                * 接收MainActivity的Touch回调的对象
                * 重写其中的onTouchEvent函数,并进行该Fragment的逻辑处理
                */
        ManageActivity.MyTouchListener myTouchListener = new ManageActivity.MyTouchListener() {
            @Override
            public void onTouchEvent(MotionEvent event) {
                System.out.println("23333333333333333");
                HideKeyboard(container.getChildAt(0));
            }
        };
        // 将myTouchListener注册到分发列表
        ((ManageActivity)this.getActivity()).registerMyTouchListener(myTouchListener);
        return root;
    }
@@ -90,4 +88,13 @@
        });
    }
    public static void HideKeyboard(View v)
    {
        InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
        if ( imm.isActive( ) ) {
            imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
        }
    }
}
app/src/main/java/com/lotaai/canguiayw/sqllitedb/DaoMaster.java
@@ -14,10 +14,10 @@
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
 * Master of DAO (schema version 1): knows all DAOs.
 * Master of DAO (schema version 4): knows all DAOs.
 */
public class DaoMaster extends AbstractDaoMaster {
    public static final int SCHEMA_VERSION = 1;
    public static final int SCHEMA_VERSION = 4;
    /** Creates underlying database table using DAOs. */
    public static void createAllTables(Database db, boolean ifNotExists) {
app/src/main/java/com/lotaai/canguiayw/sqllitedb/Order.java
@@ -4,21 +4,23 @@
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Unique;
@Entity
public class Order {
    @Id
    private long id;
    @Id(autoincrement = true)
    private Long id;
    @Unique
    private String orderNo;
    @NotNull
    private String gridNo;
    @NotNull
    private int state;//状态;0-未存餐 1-已存餐 2-已取餐 3-取消
    private long putInDate;
    private String putInDate;
    private String takeCode;
    @Generated(hash = 2118332125)
    public Order(long id, String orderNo, @NotNull String gridNo, int state,
            long putInDate, String takeCode) {
    @Generated(hash = 878135649)
    public Order(Long id, String orderNo, @NotNull String gridNo, int state,
            String putInDate, String takeCode) {
        this.id = id;
        this.orderNo = orderNo;
        this.gridNo = gridNo;
@@ -29,10 +31,10 @@
    @Generated(hash = 1105174599)
    public Order() {
    }
    public long getId() {
    public Long getId() {
        return this.id;
    }
    public void setId(long id) {
    public void setId(Long id) {
        this.id = id;
    }
    public String getOrderNo() {
@@ -53,10 +55,10 @@
    public void setState(int state) {
        this.state = state;
    }
    public long getPutInDate() {
    public String getPutInDate() {
        return this.putInDate;
    }
    public void setPutInDate(long putInDate) {
    public void setPutInDate(String putInDate) {
        this.putInDate = putInDate;
    }
    public String getTakeCode() {
@@ -65,4 +67,5 @@
    public void setTakeCode(String takeCode) {
        this.takeCode = takeCode;
    }
}
    }
app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDao.java
@@ -22,11 +22,11 @@
     * Can be used for QueryBuilder and for referencing column names.
     */
    public static class Properties {
        public final static Property Id = new Property(0, long.class, "id", true, "_id");
        public final static Property Id = new Property(0, Long.class, "id", true, "_id");
        public final static Property OrderNo = new Property(1, String.class, "orderNo", false, "ORDER_NO");
        public final static Property GridNo = new Property(2, String.class, "gridNo", false, "GRID_NO");
        public final static Property State = new Property(3, int.class, "state", false, "STATE");
        public final static Property PutInDate = new Property(4, long.class, "putInDate", false, "PUT_IN_DATE");
        public final static Property PutInDate = new Property(4, String.class, "putInDate", false, "PUT_IN_DATE");
        public final static Property TakeCode = new Property(5, String.class, "takeCode", false, "TAKE_CODE");
    }
@@ -43,11 +43,11 @@
    public static void createTable(Database db, boolean ifNotExists) {
        String constraint = ifNotExists? "IF NOT EXISTS ": "";
        db.execSQL("CREATE TABLE " + constraint + "\"ORDER\" (" + //
                "\"_id\" INTEGER PRIMARY KEY NOT NULL ," + // 0: id
                "\"ORDER_NO\" TEXT," + // 1: orderNo
                "\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
                "\"ORDER_NO\" TEXT UNIQUE ," + // 1: orderNo
                "\"GRID_NO\" TEXT NOT NULL ," + // 2: gridNo
                "\"STATE\" INTEGER NOT NULL ," + // 3: state
                "\"PUT_IN_DATE\" INTEGER NOT NULL ," + // 4: putInDate
                "\"PUT_IN_DATE\" TEXT," + // 4: putInDate
                "\"TAKE_CODE\" TEXT);"); // 5: takeCode
    }
@@ -60,7 +60,11 @@
    @Override
    protected final void bindValues(DatabaseStatement stmt, Order entity) {
        stmt.clearBindings();
        stmt.bindLong(1, entity.getId());
        Long id = entity.getId();
        if (id != null) {
            stmt.bindLong(1, id);
        }
 
        String orderNo = entity.getOrderNo();
        if (orderNo != null) {
@@ -68,7 +72,11 @@
        }
        stmt.bindString(3, entity.getGridNo());
        stmt.bindLong(4, entity.getState());
        stmt.bindLong(5, entity.getPutInDate());
        String putInDate = entity.getPutInDate();
        if (putInDate != null) {
            stmt.bindString(5, putInDate);
        }
 
        String takeCode = entity.getTakeCode();
        if (takeCode != null) {
@@ -79,7 +87,11 @@
    @Override
    protected final void bindValues(SQLiteStatement stmt, Order entity) {
        stmt.clearBindings();
        stmt.bindLong(1, entity.getId());
        Long id = entity.getId();
        if (id != null) {
            stmt.bindLong(1, id);
        }
 
        String orderNo = entity.getOrderNo();
        if (orderNo != null) {
@@ -87,7 +99,11 @@
        }
        stmt.bindString(3, entity.getGridNo());
        stmt.bindLong(4, entity.getState());
        stmt.bindLong(5, entity.getPutInDate());
        String putInDate = entity.getPutInDate();
        if (putInDate != null) {
            stmt.bindString(5, putInDate);
        }
 
        String takeCode = entity.getTakeCode();
        if (takeCode != null) {
@@ -97,17 +113,17 @@
    @Override
    public Long readKey(Cursor cursor, int offset) {
        return cursor.getLong(offset + 0);
        return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0);
    }    
    @Override
    public Order readEntity(Cursor cursor, int offset) {
        Order entity = new Order( //
            cursor.getLong(offset + 0), // id
            cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
            cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1), // orderNo
            cursor.getString(offset + 2), // gridNo
            cursor.getInt(offset + 3), // state
            cursor.getLong(offset + 4), // putInDate
            cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // putInDate
            cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5) // takeCode
        );
        return entity;
@@ -115,11 +131,11 @@
     
    @Override
    public void readEntity(Cursor cursor, Order entity, int offset) {
        entity.setId(cursor.getLong(offset + 0));
        entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
        entity.setOrderNo(cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1));
        entity.setGridNo(cursor.getString(offset + 2));
        entity.setState(cursor.getInt(offset + 3));
        entity.setPutInDate(cursor.getLong(offset + 4));
        entity.setPutInDate(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
        entity.setTakeCode(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5));
     }
    
@@ -140,7 +156,7 @@
    @Override
    public boolean hasKey(Order entity) {
        throw new UnsupportedOperationException("Unsupported for entities with a non-null key");
        return entity.getId() != null;
    }
    @Override
app/src/main/java/com/lotaai/canguiayw/sqllitedb/OrderDetail.java
@@ -7,14 +7,14 @@
@Entity
public class OrderDetail {
    @Id
    private long id;
    @Id(autoincrement = true)
    private Long id;
    @NotNull
    private String orderNo;
    private String itemName;
    private int num;
    @Generated(hash = 1442626585)
    public OrderDetail(long id, @NotNull String orderNo, String itemName, int num) {
    @Generated(hash = 547448086)
    public OrderDetail(Long id, @NotNull String orderNo, String itemName, int num) {
        this.id = id;
        this.orderNo = orderNo;
        this.itemName = itemName;
@@ -23,10 +23,10 @@
    @Generated(hash = 268085433)
    public OrderDetail() {
    }
    public long getId() {
    public Long getId() {
        return this.id;
    }
    public void setId(long id) {
    public void setId(Long id) {
        this.id = id;
    }
    public String getOrderNo() {