반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- FFI
- 잡담
- 엑티브엑스
- QTcpServer
- 알람프로그램
- Qt4
- qt 설치
- Qt 소켓프로그래밍
- 오토바이
- QT
- 재귀함수
- Qt OpenGL
- 안드로이드
- 자바
- 스타2
- 양평역
- 이륜차
- 고속도로
- android SAF
- 스타크래프트2
- 마영전
- 자료구조
- c언어
- 바이크
- HTML
- 디자이어HD
- Java
- 정성하
- 윈도우7
- vuejs
Archives
- Today
- Total
프로그래밍과 잡담
[ 안드로이드]구글 드라이브 API를 통해서 파일 업로드 본문
구글 드라이브 API를 통해서 파일을 구글 드라이브에 업로드하는 방법이 있다.
폴더 만들고 등등하는건 샘플페이지보면 잘 나와있으니 그걸 참조..
구글 드라이브 샘플
https://github.com/googledrive/android-demos
public class EditContentsActivity extends BaseDemoActivity {
private static final String TAG = "EditContentsActivity";
@Override
public void onConnected(Bundle connectionHint) {
super.onConnected(connectionHint);
final ResultCallback idCallback = new ResultCallback() {
@Override
public void onResult(DriveIdResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Cannot find DriveId. Are you authorized to view this file?");
return;
}
DriveFile file = Drive.DriveApi.getFile(getGoogleApiClient(), result.getDriveId());
new EditContentsAsyncTask(EditContentsActivity.this).execute(file);
}
};
Drive.DriveApi.fetchDriveId(getGoogleApiClient(), EXISTING_FILE_ID)
.setResultCallback(idCallback);
}
public class EditContentsAsyncTask extends ApiClientAsyncTask {
public EditContentsAsyncTask(Context context) {
super(context);
}
@Override
protected Boolean doInBackgroundConnected(DriveFile... args) {
//이 부분 쪽을 잘 보면 파일을 업로드 하는 것을 알 수 있을 것이다.
DriveFile file = args[0];
try {
//여기 부분만 알면 될 듯함. 이걸 가지고 나머지 다른 곳에 응용하면 될듯
ContentsResult contentsResult = file.openContents(
getGoogleApiClient(), DriveFile.MODE_WRITE_ONLY, null).await();
if (!contentsResult.getStatus().isSuccess()) {
return false;
}
OutputStream outputStream = contentsResult.getContents().getOutputStream();
outputStream.write("Hello world".getBytes());
com.google.android.gms.common.api.Status status = file.commitAndCloseContents(
getGoogleApiClient(), contentsResult.getContents()).await();
return status.getStatus().isSuccess();
} catch (IOException e) {
Log.e(TAG, "IOException while appending to the output stream", e);
}
return false;
}
@Override
protected void onPostExecute(Boolean result) {
if (!result) {
showMessage("Error while editing contents");
return;
}
showMessage("Successfully edited contents");
}
}
}
반응형
'프로그래밍 > 안드로이드' 카테고리의 다른 글
| Android 5.0 Lollipop에서는 다시 SDCARD에 읽기와 쓰기가 가능한거 같네. (0) | 2014.11.07 |
|---|---|
| 아 진짜 안드로이드는 언어를 잘못 선택한거다. (2) | 2014.10.12 |
| [안드로이드] 최근 폰들이나 태블릿들이 메뉴버튼을 쓰지 않는 이유 (0) | 2014.05.05 |
| 노트프로 12.2가 왔는데.. 펜타일이 장난아니게 튄다. (0) | 2014.04.29 |
| API 17의 랜더스크립트 클래스 사용하기. (0) | 2014.04.19 |
Comments