구글 클라우드 API를 사용하기 위해 Credential 파일을 읽어들일때 Android 의 프로젝트 구조를 제대로 못따르는 경우가 있더군요.
임시방편으로라도 Assets 폴더에 Credential 파일을 넣어 놓고 해당 파일을 읽어 들여 API를 테스트해 볼 수 있는 방법입니다.
먼저 Assets 폴더를 하나 만드셔야겠죠?
그리고 해당 폴더에 Credential 파일을 하나 넣어 놓습니다.
AssetManager am = context.getAssets(); FileInputStream credentialsStream = null; try { //google-stt.json 파일을 읽어 옵니다 AssetFileDescriptor fileDescriptor = am.openFd("google-stt.json"); credentialsStream = fileDescriptor.createInputStream(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } GoogleCredentials credentials = null; try { credentials = GoogleCredentials.fromStream(credentialsStream); } catch (IOException e) { e.printStackTrace(); } FixedCredentialsProvider credentialsProvider = FixedCredentialsProvider.create(credentials); SpeechSettings speechSettings = null; speechClient = null; try { speechSettings = SpeechSettings.newBuilder() .setCredentialsProvider(credentialsProvider) .build(); speechClient = SpeechClient.create(speechSettings); } catch (IOException e) { e.printStackTrace(); }
그리고 app level의 gradle 설정에 아래와 같은 문장을 추가합니다.
android { : : aaptOptions { noCompress "json" } }
급할때... 임시 방편으로 클라우드 API를 사용하는 방법입니다.
테스트후에는 구글에서 추천하는 방법을 따라주세요.
이 게시물이 | |
AiRPAGE가 |