File Repository


File Repository 는 HSP 에서 기본으로 제공하는 API 로 별도의 설정 없이 사용 가능하며 미리 선언 해둔 특정 위치에 파일을 저장 / 삭제 / 검색의 기능을 가지고 있다.


save

save 는 로컬내 파일 이나 외부 (http link) 의 데이터를 HSP 에 지정된 경로에 저장할 때 사용할 수 있으며, 만약 저장하려는 파일이 zip 파일일때는 압축 해제까지 한번에 처리할 수 있으며, 올바르게 파일을 저장하였다면 FileData 클래스 형태로 파일에 대한 정보를 반환 하게 되며 FileData 클래스에 세부 내용은 하단의 표를 참고 한다. 

FileData Class

public static class FileData implements Serializable {
   public final String fileName;
   public final String filePath;
   public final long fileSize;
   public final String saveDate;
}

FileData

필드설명
fileName파일 이름
filePath파일 경로
fileSize파일 사이즈
saveData저장 시간
  

Example (3.10.18 이상)

val bizappId     = "main"
val saveFileName = "test.png"
val isCompress   = false

DAPFileRepository.save(activity, bizappId, "file:///sdcard/$saveFileName", saveFileName, isCompress, {
       // TODO
   }) {
       // TODO
   }
String bizappId     = "main";
String saveFileName = "test.png";
boolean isCompress  = false;

DAPFileRepository.save(activity, bizappId, "file:///sdcard/" + saveFileName, saveFileName, isCompress, result -> {
       // TODO
   }, e -> {
       // TODO
   });

Example (3.10.18 이하)

val saveFileName = "test.png"
val bizAppPath   = DAPFileRepository.getRepositoryDir(activity, "bizAppId")
val target       = File(bizAppPath, saveFileName)

DAPFileRepository.save(activity, "file:///sdcard/$saveFileName", target) { result, value ->
    when (result) {
        OnResultListener.TRUE -> {
           // TODO
       }
       else -> {
           // TODO
       }
   }
}
String saveFileName   = "test.png";
final File bizAppPath = DAPFileRepository.getRepositoryDir(activity, "bizAppId");
File target           = new File(bizAppPath, saveFileName);

DAPFileRepository.save(MainActivity.this, "file:///sdcard/" + saveFileName, target, (result, value) -> {
   if (result == OnResultListener.TRUE) {
       // TODO
   } else {
       // TODO
   }
});

find

find 는 지정 위치에 파일 이름을 검색해 관련 파일 정보를 List<FileData> 형태로 전달 받는다. 

Example (3.10.18 이상)

val bizappId = "main"
val fileName = "test.png"

DAPFileRepository.find(activity, bizappId, fileName, {
       // TODO
   }) {
       // TODO
   }
String bizappId = "main";
String fileName = "test.png";

DAPFileRepository.find(activity, bizappId, fileName, result -> {
   // TODO
}, e -> {
   // TODO
});

Example (3.10.18 이하)

val fileName = "test.png"
val bizAppPath = DAPFileRepository.getRepositoryDir(activity, "bizAppId")        
val fileList = DAPFileRepository.find(activity, bizAppPath, fileName)
String fileName = "test.png";
final File bizAppPath = DAPFileRepository.getRepositoryDir(activity, "bizAppId");
List<DAPFileRepository.FileData> fileList = DAPFileRepository.find(activity, bizAppPath, fileName);

remove

파일의 대한 경로를 전달하여 해당 파일을 삭제 요청 한다. 

Example (3.10.18 이상)

val path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png"
DAPFileRepository.remove(activity, path, {
       // TODO
   }) {
       // TODO
   }
String path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png";
DAPFileRepository.remove(activity, path, result -> {
       // TODO
   }, e -> {
       // TODO
   });

Example (3.10.18 이하)

val path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png"
DAPFileRepository.remove(path)
String path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png";
DAPFileRepository.remove(path);