본문 바로가기

Android Studio59

[Android Studio] 현재 내 위치(위도, 경도)값을 가지고 오는 방법 AndroidManifest.xml에서 와 태그 사이에 위 코드 작성한다. Activity.java 코드 public class MainActivity extends AppCompatActivity { // 위치 관련 클래스 LocationManager locationManager; // 위치 관련 이벤트리스너 LocationListener locationListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 위치를 가져오기 위해서는 시스템서비스로부터 로케이션 매니저를 받아온다. locati.. 2024. 1. 10.
[Android Studio] 구글 맵 API (Maps SDK for Android) 사용하기 먼저 구글 클라우드 플랫폼 접속 후 로그인한다. 메뉴 - API 및 서비스 - 라이브러리 들어간다. 검색창에 maps 검색 후 위 Maps SDK for Android 사용 클릭 후 API 키를 생성한다. 이후 https://developers.google.com/maps/documentation/android-sdk/config?hl=ko 의 설명서를 보면서 진행한다. pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } settings.gradle.kts에 위 코드가 있는지 확인 dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.F.. 2024. 1. 10.
[Android Studio] 안드로이드 에뮬레이터 GPS 설정하는 법 어플리케이션을 실행한 후에 에뮬레이터를 띄우고 ...을 누른다. 그 후 Location 탭에서 위치 검색 후 savepoint 등록 후 Set Location으로 내 위치를 변경하면 된다. 2024. 1. 10.
[Android Studio] TabBar Fragment 사용하기 MainActivity public class MainActivity extends AppCompatActivity { // 아래 아이콘 나오는 영역 BottomNavigationView bottomNavigationView; // 각 프레그먼트를 멤버변수로 만든다. Fragment firstFragment; Fragment secondFragment; Fragment thirdFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SharedPreferences sp = getSharedPref.. 2024. 1. 10.
[Android Studio] TabBar 만들기 implementation("androidx.navigation:navigation-fragment:2.7.6") implementation("androidx.navigation:navigation-ui:2.7.6") 탭바를 만들기 위해 위 코드를 build.gradle.kts에 작성한다. activity_main.xml의 Code로 가서 레이아웃을 RelativeLayout로 바꾼 후 bottomNavigationView를 넣는다. 그 후 Code로 가서 bottomNavigationView를 위와 같이 설정한다. 왼쪽 Resource Manager 클릭 - Navigation 탭 이동 후 + 버튼 클릭해서 Resource File 생성한다. (my_nav) 생성 완료화면 위와 같이 res 폴더에 na.. 2024. 1. 9.
[Android Studio] 글로벌 표준시(UTC)를 로컬의 시간으로 변경하기 DB에서 가져온 createdAt 컬럼의 데이터는 글로벌 표준시(UTC)로 되어 있기 때문에 아래 코드와 같이 로컬의 시간으로 변경해야 한다. SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); SimpleDateFormat df = new SimpleDateFormat("yyyy년MM월dd일 HH시mm분ss초"); sf.setTimeZone(TimeZone.getTimeZone("UTC")); df.setTimeZone(TimeZone.getDefault()); // 서버의 시간(글로벌 표준시)를 로컬의 시간으로 변환해야 한다. try { Date date = sf.parse(posting.createdAt); String loca.. 2024. 1. 8.
[Android Studio] Retrofit2 API 호출 중 form-data 처리 하는 방법 Retrofit2 라이브러리를 이용해 API를 호출할 때, Body에 json이 아닌 form-data로 데이터를 보내야 한다. 우선 api를 호출할 interface를 만들어준다. 위 포스트맨 캡쳐처럼 photo라는 파일 데이터와 content라는 텍스트를 보낼 것이다. // 포스팅 생성 API @Multipart // 용량이 크기 때문에 쪼개서 보낸다는 의미의 어노테이션 @POST("/posting") Call addPosting(@Header("Authorization") String token, @Part MultipartBody.Part photo, @Part("content")RequestBody content); @Multipart를 사용, 위 코드같이 세팅한다. 사용 코드 Retrofit .. 2024. 1. 8.
[Android Studio] 카메라, 앨범 사용하기 AndroidManifest에 manifest와 application 사이에 아래 권한들을 입력 xml 폴더 fileprovider 파일 생성 후 아래 코드 작성 다시 AndroidManifest에서 application과 activity 태그 사이에 아래 코드들 입력 bulid.gradle.kts의 dependencies 안에 필요 라이브러리인 아래 코드 입력 implementation("commons-io:commons-io:2.4") 메인액티비티 전체 코드 public class MainActivity extends AppCompatActivity { Button btnPhoto; ImageView imgPhoto; // 사진 파일 File photoFile; @Override protected v.. 2024. 1. 5.
[Android Studio] AlertDialog array로 사용하기 CameraApp 선택하세요. 카메라 실행 앨범에서 선택 values 폴더 - strings.xml 파일에 array를 만든 후에 private void showDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle(R.string.alert_title); builder.setItems(R.array.alert_photo, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (which == 0){ // 첫번째 항목 클릭 시 camera.. 2024. 1. 5.
[Android Studio] Retrofit2 라이브러리를 이용할 CRUD 기능 처리 API 인터페이스 예시 API를 처리할 인터페이스는 해당 API 레퍼런스를 확인하고 아래 코드처럼 만들어 주면 된다. + update와 delete처럼 해당 아이디값(숫자)를 가져오는 경우는 경로를 { } 처리한다. ex) /memo/3 -> /memo/{memoId} // 메모 생성 API @POST("/memo") Call addMemo(@Header("Authorization") String token, @Body Memo memo); // 내 메모리스트 가져오는 API @GET("/memo") Call getMemoList(@Header("Authorization") String token, @Query("offset") int offset, @Query("limit") int limit); // 메모 수정하는 API .. 2024. 1. 5.