<aws>
ec2 인스턴스, rds 생성
<안드로이드>
build.gradle에 라이브러리 추가
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0'
manifest 파일에 인터넷 접속 권한 주기
<uses-permission android:name="android.permission.INTERNET"/>
RetrofitClient 클래스 작성
package com.example.dinostudy.repository;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofitClient{
private final static String BASE_URL = "http://퍼블릭 IPv4 DNS 주소:3000/";
private static Retrofit retrofit = null;
private RetrofitClient() {
}
// static OkHttpClient okHttpClient = new OkHttpClient.Builder()
// .connectTimeout(1, TimeUnit.MINUTES)
// .readTimeout(30, TimeUnit.SECONDS)
// .writeTimeout(15, TimeUnit.SECONDS)
// .build();
public static Retrofit getClient() {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
// .client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create()) // JSON 파싱을 위한 GsonConverterFactory를 추가
.build();
}
return retrofit;
}
}
처음엔 자꾸 타임아웃 에러가 떴는데 원인을 알 수가 없으니 타임아웃 시간도 설정해줬었는데
역시 문제는 서버 연결 문제였다. 서버 제대로 올리니까 에러 안 뜸 ㅎㅎ;
서버 연결이 제대로 안된다면 거의 서버주소 문제 / 보안그룹 문제임,,,,,,
⭐️⭐️⭐️⭐️⭐️ ec2 인스턴스 보안그룹 편집 ⭐️⭐️⭐️⭐️⭐️
사용자 지정 TCP - 포트번호 3000 !!!!!!!!!
내가 서버에 대한 지식이 제대로 없다 보니,,, 포트번호 잘못 설정해놓고 왜 자꾸 서버가 안 열리지? 하고 계속 삽질했다 ㅠ
** 처음에 그대로 http://~~~/ 이렇게 baseUrl을 설정하면
clearText 어쩌구 오류가 뜬다
해결방법은 1. https://~~~/ 로 주소 바꿔주기 2. manifest 파일에 android:usesCleartextTraffic="true" 속성 추가
그리고 대부분 elastic ip를 사용하지만...
나는 ec2 사용에 익숙치 않아서 예전에 요금이 계속 부과된 안 좋은 기억이 있어서... 일단 연결 안 해놨다
필요하면 나중에 하겠지 뭐.................
이제 안드로이드에서 API 인터페이스, 데이터, 통신 코드 등등 작성해주고
메인 코드에서 레트로핏 호출해서 사용해주면 된다!!
ServiceApi service = RetrofitClient.getClient().create(ServiceApi.class);
드디어 연결됐는데 신택스에러 뜸ㅎ.ㅎ
이제 다시 오류 수정하러 가야겠다
ㅠㅠ
'* > Android' 카테고리의 다른 글
[안드로이드] Activity, Fragment 간 데이터 주고받기 (0) | 2022.10.21 |
---|---|
[안드로이드] Cannot Resolve Symbol 'R' 해결 (0) | 2022.10.20 |
[안드로이드] ③ 주요 Layout (0) | 2022.09.28 |
[안드로이드] ② Palette (0) | 2022.09.28 |
[안드로이드] ① Manifest / 4대 컴포넌트 / Intent (0) | 2022.09.27 |