分享这近做的一款android软件-"妞妞驾考"

作者分享了自己开发一款针对驾照考试C级科目一的Android平台驾考软件‘妞妞驾考’的经验,该软件包含随机练习、顺序练习、章节练习、交通标志、模拟考试和错题练习等功能,采用MVC模式开发,数据库使用SQLite。文章详细介绍了如何在指定路径下创建或复制数据库文件,并提供了章节练习和数据库设计的具体实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   热爱分享,热爱编程。

   最近写完了一个android的APK,感觉小有成就感,好久没有做软件了,写篇博客纪念分享下。

   妞妞驾考是我这近为了应对驾照考试C级科目一而开发的一款android平台下的软件。最近我也在考驾照,很多小空闲时间,其实可以拿出来好好利用,但是带本书看,确实又不方便,于是就有为像我这样的人量身定做一款 驾考软件的想法,有了这款“妞妞驾考”软件,无论何时,无论何地,上班途中,排队闲时,你都可以拿出来复习下,加深记忆,哈哈,我这次的98分可就多亏这个软件了。

   妞妞驾考分为6个主要模块,1.随机练习 2.顺序练习 3.章节练习 4.交通标志 5.模拟考试 6.错题练习 具体功能大家可以去http://mobile.91.com/Soft/Android/com.yuejing.steerexam.activity-1-1.0.html上下载查看。

   数据库方面采用的是SQLite,数据表主要有题目表【用来记录驾考的题目】、交通标志表【记录交通标志识别的题目】、得分表【记录自己每次做题的得分情况】。

   程序设计方面采用了mvc的模式进行开发的。这里我将activity和service、view分开。这样有助于结构的清晰化,利用维护和扩展。

   在android数据库编程方面,大家有没有遇到过,我要从指定位置的已经存在的数据库来进行操作的问题。之前我尝试了很多方法都没有成功,后来找到了解决的方法,简要代码如下:

 String databaseFilename = DATABASE_PATH + "/" + DATABASE_NAME;
    File dir = new File(DATABASE_PATH);
    if (!dir.exists())
     dir.mkdir();
    if (!(new File(databaseFilename)).exists()) {
     InputStream is = context.getResources().openRawResource(R.raw.jobexam);
     FileOutputStream fos = new FileOutputStream(databaseFilename);
     byte[] buffer = new byte[8192];
     int count = 0;
     while ((count = is.read(buffer)) > 0) {
      fos.write(buffer, 0, count);
     }
     fos.close();
     is.close();
    }
    db = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);

这段代码的意思大家一看就明白,第一步先判断在指定的路劲是否存在,不存在就创建。第二步将android的资源下的数据库复制到指定路径下面。第三步就是根据指定路径打开或者创建数据库,然后得到操作数据库的对象。

   章节练习的实现,主要是在数据表中将这些题目给归类了。这样大家可以根据驾考的章节来进行查看。

   交通标志项,主要是用来教我们识别各种各样的交通图标的含义,从而加深我们对图标识别题目的理解,有助于练习图标题目。

   错题练习包括了你每次练习的得分和做错的题目。点击错题列表中的某一项,然后查看详情,你可以看到你这次练习或考试做错的题目。这个功能有助于我们复习错误的题目。

   模拟考试项,采用了生成随机数来解决的,在题目范围内随机生成100道题目。如果你做了10次模拟考试,每次模拟考试都在90分以上,那恭喜你,驾照考试你没有什么问题了。我在这款软件的熏陶下,成功的拿下了98分。

   就这样,这款软件的主要功能已经实现了,简单吧,大家都试试吧~软件有需要改进的地方不吝赐教,这是我初次写博客,多多包涵~

转载于:https://my.oschina.net/castusz/blog/64869

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值