天天看點

ANDROID 來電歸屬地資料解決方案

說到來電歸屬地,幾乎每個應用都提供了資料,然而這個資料的真實可靠程度是層次不齊的,具電信交換網的資料是23W之多,然而多這些資料處理是一個很費 腦子很頭疼的事情,怎麼處理呢? 肯定是去重,去重,再去重,合并、合并、在合并。這個就不說了,每個人有每個人的方式,不再描述 沒人人都覺得自己的資料是最權威的,不想被别人給竊取取了,然而的确有些行為不正之人,剽竊别人的勞動成果,是以我們要做的是怎麼加密這些資料。 加密資料有兩種方案: 1、檔案加密 應用啟動之後将其從加密檔案中解析出資料來,放在記憶體中,然後每次在使用的時候去取資料。23W多的資料,處理之後加載到記憶體大約占了記憶體的8~9M。 這讓在萬惡的360中排名居高不下,是以我們建議使用第二種方案,資料庫加密方案。 2、資料庫加密 1>實作将資料做一處理,然後按照規劃好的格式存儲在SQLite資料庫中(其實和存儲在檔案是一樣的),確定能查詢到資料,然後将資料庫導出成xxx.db 的檔案。 2>接下來對檔案做一加密處理,讓其變成二進制檔案。将其放在項目中的某個檔案目錄下,系統初次使用的時候利用解密算法将檔案拷貝到 context.getFilesDir() 目錄下,以後通路采用 File dbFile = new File(context.getFilesDir(), DBNAME); SQLiteDatabase db = SQLiteDatabase.openDatabase(dbFile.getAbsolutePath(), null, SQLiteDatabase.OPEN_READONLY); 的形式通路。 3>當然查詢方式與内部存儲方式的加密,可以随之擴充了。 怎麼樣,萬惡的記憶體就這麼給省出來了。