大家好,今晚给大家分享的是病毒查杀功能,原理是本机应用根据已备好的病毒数据库,进行扫描检查判断,若有病毒则会显示那个应用含有病毒。简单的分析三大步骤,
第一步骤:导入病毒数据库,写入在应用私有文件,第二步骤:创建病毒查询封装方法,第三步骤:病毒查杀,显示扫描信息。
步骤一:将antivirus.db导入assest目录,再拷贝到本应用的私有目录下
在oncreate方法里,创建copyDB(antivirus.db)方法。
public void copyDB(String name) {
try {
//读取assest目录下的数据库db
InputStream is = getAssets().open(name);
// 开始拷贝数据库,参数一:文件的路径,参数二:文件命名
File file = new File(getFilesDir(), name);
// 如果文件存在就返回
if (file.exists()) {
return;
}
//文件输出流写入文件
FileOutputStream fos = new FileOutputStream(file);
//将流转换为字符节数组
int len = -1;
byte[] buff = new byte[2014];
while ((len = is.read(buff)) != -1) {
fos.write(buff, 0, len);
}
//关闭流
is.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
步骤二:创建病毒数据库查询业务类,AntivirusDao
public class AntivirusDao {
//参数一:传入的md5值
public static String checkAntivirus(String md5, Context context) {
String desc = null;
//数据库保存的路径
String PATH = context.getFilesDir() + "/antivirus.db";
//打开数据库,SqliteDatabase类,参数三:数据库的打开方式
SQLiteDatabase db = SQLiteDatabase.openDatabase(PATH, null,
SQLiteDatabase.OPEN_READONLY);
//sql语句,查询病毒描述
String sql = "select desc from datable where md5 = ?";