android資源ID資料庫儲存方案
阿新 • • 發佈:2020-11-26
自編遊戲APP時,頭像資源要存入資料庫,碰到兩個問題,解決方案記錄如下:
1.資源ID在安卓系統中是整數,但資料庫得儲存字串,APP中使用SharedPreferences時仍然用int型。
存入時將資源ID轉化為字串:head_img為資源ID
String headName = getResources().getResourceName(head_img);
取出時轉化為整數存入SharedPreferences:
headID=getResources().getIdentifier(headName,"drawable",getBaseContext().getPackageName());
2資源ID轉化的字串帶符號用兩個引數接收。
.資源ID轉化的的字串類似com.xiao.app:drawable/f10,自帶"/"。restful風格的微服務會把它當成兩個引數,拒絕服務。最簡單的處理是在服務端用兩個引數接收,再拚成一個字串儲存。
/*儲存使用者頭像名*/ @GetMapping("saveHeadImg/{id}/{headName}/{park}") public void updateHeadImg(@PathVariable String id, @PathVariable String headName, @PathVariable String park) { user = userMapper.selectById(id); String complete_headName = headName + "/" + park; user.setHeadName(complete_headName); userMapper.updateById(user); }
存取成功!