1. 程式人生 > 資料庫 >android資源ID資料庫儲存方案

android資源ID資料庫儲存方案

       自編遊戲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);
    }

存取成功!