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

 

   数据库方面采用的是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分。

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