안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요. 안드로이드 개발을 하던중 막히는 부분이 있어 질문 올립니다.
게임을 만드는 도중 데이터를 바이너리 파일로 뺐습니다.
예를 들어 주인공의 능력치가
hp = 1
mp = 2
이런식이고 이걸 heroData.dat요런식으로 정보를 담고있다고 치면
실제 코드에서 주인공의 데이터를 읽어와 코드에 적용해야 하는데
FILE *fp = fopen(filePath, "rb");
hp와 mp변수에 파일에서 읽은 데이터를 적용
.
.
.
요런식으로 해야합니다.
근데 문제는 폰에 담기는 어플은 apk의 압축 형태로 저장이 되기때문에
FILE *fp = fopen(filePath, "rb");
요부분에서 실제 파일에 접근을 못하는거 같습니다.
CCFileUtils::getWriteablePath(); 도 사용해보고
std::string pathKey = szFileName;
CCFileUtils::ccRemoveHDSuffixFromFile(pathKey);
pathKey = CCFileUtils::fullPathFromRelativePath(pathKey.c_str());
요렇게도 해보고
fullpath.insert(0, "assets/");
요런거도 해봐도 도통 파일을 열수가 없어요...
어떻게 해야 코드안에서 데이터 파일을 읽어들일수 있을까요...




잘만 되는데 뭐가 안된다고 하시는지 모르겠네요..
byte str_data[] = null;
try {
InputStream is = getAssets().open(filename);
int size = is.available();
str_data = new byte[size];
is.read(str_data);
is.close();
}
catch(Exception e){ e.printStackTrace(); }
이건 asset에 파일 넣고 읽는 것인데요.. txt파일 읽은 것인데.. 하여간
asset 폴더에 a.dat 이런식으로 넣었으면 filename에 "a.dat" 넣으시면 됩니다.