用于Android手机的小型库存管理程序设计

2022-03-22 09:06:02 | 浏览次数:

摘 要: 介绍一个针对Android手机的小型库存管理程序设计过程,并重点描述该程序的数据库设计、数据库操作、数据导入模块设计和手机程序的界面设计。该程序可以帮助智能手机用户完成更多的任务。

关键词: Android;手机;库存管理;程序设计

中图分类号:G6 文献标识码:A 文章编号:1671-7597(2012)0210096-02

随着计算机技术的快速发展,智能手机、平板电脑等智能便携式设备在生活当中拥有量不断扩大,用途也不断被扩展,这些设备的功能已经逐步向传统的个人计算机领域进行渗透,部分替代了个人计算机的工作。因为方便快捷,受地点、环境等因素的制约少,越来越多的人在无法使用台式机、笔记本这样的个人电脑的场合,比如在飞机、车、船等交通工具中,在外出或陌生的环境中没有携带个人电脑的时候,他们会选择使用智能手机、平板电脑来办公。下面我们来设计一个适用于Android平台智能手机的库存管理程序,使智能手机的用户工作更加便利。

1 为什么选择Android

随着Android系统在手机、平板电脑等智能便携式设备当中的广泛使用,Android成为全球智能手机当中占有率最高的操作系统。并且基于Android的应用程序也非常丰富,包罗万象。庞大的用户群体是我们选择Android的第一个因素。

传统的手机处理能力弱,只能运行象“通讯录”这类的小程序,另外屏幕小,输入内容麻烦,不适合运行事务管理程序。Android系统对硬件是有一定要求的,以Android作为系统的智能设备,处理器性能比较强,存贮器容量比较大,还有各种感应器件,其强大硬件的不仅可以运行更复杂的程序,而且可以使用户得到更好的使用体验,这是我们选择Android的第二个因素。

在Android系统中提供了数据库支持,因此可以运行较为复杂的事务管理程序。我们设计的这个程序也是依赖数据库才能运行的。这是我们选择Android的第三个因素。

2 程序的适用范围

虽然随着计算机硬件的发展,智能便携式设备的处理能力和存贮器容量已经远远超过了早期的个人计算机,但是和个人计算机相比,智能便携式设备当中使用事务管理软件存在一些劣势,由于使用的场合不一样,智能便携式设备屏幕较小,电力的供应也是有限的,键盘不能快速录入,使用的舒适性大打折扣,因此在智能便携式设备当中使用和个人计算机一样的软件还是不行的,需要根据智能便携式设备的特点来专门设计。

我们在设计这个库存管理程序时就考虑到了智能手机的这种特殊性。企业的库存取决于生产(或进货)和销售。因此在个人计算机当中用到的是进销存程序。而在智能便携式设备中由于数据录入很麻烦,所以我们在设计程序时弱化了“进”和“销”的工作。同时由于智能手机的屏幕相对较小,存储容量也相对较小,因此这样的程序不适合处理大量的数据,也就是说不适合大中型的企业使用。但是对于一个小型企业的库存可以用它轻松解决,而且设备还可以随身携带。

3 程序设计要点

该程序设计时,针对Android系统智能手机的特点,我们着重要注意这样几个方面:

3.1 数据库的设计

在Android中使用的是SQLite数据库系统。SQLite是一种轻型数据库系统,并以嵌入式为设计目标,占用资源低。SQLite采用的是动态数据类型,会根据存入值自动判断。虽然这样做可以提高程序的容错能力,但是如果我们不预先定义表中字段的数据类型,可能会造成程序设计中的混乱。我们在数据库中设计四个表,分别是goods(商品信息表),buy(入库表),sell(出库表),Storage(库存表),这些表分别用来记录商品信息、跟踪入库出库情况和记录库存量。这些表具体设计如下:

四个表的设计基于满足需要,简单实用的原则。虽然SQLite数据库可以接受日期型数据,但是对格式要求有限制,所以我们将入库日期和出库日期设计成八位的字符串,在使用时使用函数与日期型相互转换。

3.2 数据的录入与查询

程序运行的流程是:先建立商品信息表和库存的初始值。当有入库和出库的操作时,对入库表、出库表和库存表进行相应的数据追加和更新,并可以查询和维护商品的库存数据。这些操作是程序的关键部分。

Android对数据库的操作是通过两个类来实现的:

1)SQLiteOpenHelper这个抽象类用来生成数据库和对数据库的版本进行管理。它的方法onCreate(SQLiteDatabase)是用来生成数据库的。方法getReadableDatabase()打开一个只用于查询的数据库,方法getWritableDatabase()打开一个可以增、删、改的数据库。

2)SQLiteDatabase这个类实现表的增、查、删、改。它是通过方法execSQL(sql)执行SQL语句来实现的。

下面是部分JAVA语句示例:

public class DatabaseHelper extends SQLiteOpenHelper //定义一个类DatabaseHelper来继承抽象类SQLiteOpenHelper

……

dbHelper = new DatabaseHelper(context,"goods_manage"); //以名为“goods_manage”的数据库实例化一个DatabaseHelper对象

SQLiteDatabase db=dbHelper.getReadableDatabase(); //以查询的方式打开数据库

cursor=db.query("Storage ",new String[]{"st_code "," st_quan

tity "},“st_code= "” +g_code+”"” ,null,null,null,null); //

在表Storage中查找商品编号为g_code的记录,并给出st_code和st_quantity两个字段的内容。

……

3.3 数据的批量录入

由于手机不适合大量数据的输入,因此在建立商品信息表和库存的初始值时,如果用手机来进行录入是很麻烦的一件事。我们可以用个人电脑批量录入这些表的初始值,并用Excel表保存,然后导入到手机当中去。这样可以大大提高工作的效率。

我们将导入个人电脑建立的Excel表设计成为程序的一个模块。设计该模块时要用到一个名为JXL(Java Excel API)的开源框架,它是一个用来动态读写Excel文件的。在JXL中有Workbook,Sheet,Cell这三个对象来实现Excel文件的读取。通过下面的例子我们看读取Excel文件的步骤:

// 1)通过Workbook对象的静态方法getWorkbook选取Excel文件

Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"))

// 2)通过Workbook对象的getSheet方法选择第一个工作簿(从0开始)

Sheet sheet = workbook.getSheet(0)

// 3)通过Sheet对象方法的getCell方法选择位置为C2的单元格(两个参数都从0开始)

Cell c2 = sheet.getCell(2,1)

// 4)通过Cell对象的getContents方法把单元格中的信息以字符的形式读取出来

String stringc2 = c2.getContents()

通过以上方法,我们就可以将一个在个人电脑当中编辑好的Excel文件进行读取并将数据导入到手机中的数据库了。

3.4 用户界面的设计

由于手机屏幕的尺寸要比个人电脑小的多,因此显示的内容不能太多。我们针对手机屏幕设计该程序的用户界面,如图1。

我们将菜单放到屏幕的下方,这样便于操作。并且菜单的项目尽可能简化,只有一级,不要子菜单。并且为了减少菜单所占面积,采用左右滑动的方式。

屏幕的上方放置一个搜索栏。屏幕的其余部分都用作数据显示区域。数据显示区域可以拖动,对于多点触控屏幕可以用手指动作放大或缩小。

程序中存在需要数据录入的情况,比如进行入库和出库操作时。我们设计了数据录入界面,在输入文本内容时,屏幕出现拼音键盘并可切换手写键盘,在输入数字时,屏幕上只出现0到9十个数字键和小数点。

通过以上设计可以使用户得到更好的使用体验,可以提高程序使用的便捷程度,更好地发挥程序的作用。

4 总结

通过以上设计,该程序基本做到了功能完备,操作简便,符合用户的需要。如果用户有更高的要求,该程序还有进一步提高的余地,比如数据库可以设计的更复杂一些,以实现更复杂的进销存管理,用户界面还可以更人性化,使用更简化。对于用于手机的程序,虽然它有和个人电脑当中的程序不一样的地方,但是设计的理念都是一样的,就是以用户的需求为本。相信今后随着计算机技术的发展,用于手机的程序也会更强大、更方便,使越来越多的人摆脱个人电脑的束缚,工作更加便利。

参考文献:

[1]杨丰盛,Android应用开发揭秘[M].北京:机械工业出版社,2010:165-172.

[2]张书锋,基于Java Excel API的excel文件的操纵技术及其应用[J].电脑知识与技术,2010(16):4565-4566.

作者简介:

曹郁辉(1967-),男,汉族,湖南省新化县人,高级程序员职称,湖北十堰职业技术学院党委工作部。

推荐访问: 程序设计 库存管理 用于 手机 Android