본문 바로가기
728x90
반응형

분류 전체보기278

[AndroidStudio] SQLite 💡 SQLite MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 사용 방법! SQL Helper를 사용하여 데이터베이스 생성 - onCreate, onUpgrade 재정의 & 삽입, 삭제 메서드 정의 DatabaseOpenHelper 클래스 생성 public class DatabaseOpenHelper extends SQLiteOpenHelper { public static final String tableName = "Users"; public DatabaseOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int.. 2023. 8. 20.
[AndroidStudio] RecyclerView 💡 리사이클러뷰(RecyclerView) "사용자가 관리하는 많은 수의 데이터 집합(Data Set)을 개별 아이템 단위로 구성하여 화면에 출력하는 뷰그룹(ViewGroup)이며, 한 화면에 표시되기 힘든 많은 수의 데이터를 스크롤 가능한 리스트로 표시해주는 위젯"입니다. 기존에 리스트 형태의 화면 구성에 사용되던 리스트뷰(ListView)에 "유연함(Flexibility) "과 "성능(Performance)"을 더한, 리스트뷰의 확장판 또는 개선판이라고 볼 수 있습니다. 사용 예시! 나타낼 Activity(xml)에 RecyclerView등록 리스트 아이템(xml) 생성 - 아이템 하나의 구조 리스트 아이템 데이터 생성 - 각각의 아이템에 들어갈 데이터를 정의 (constructor, getter&se.. 2023. 8. 20.
[AndroidStudio] Fragment 프래그먼트(fragment) 란? [Fragment]()는 [FragmentActivity]()내의 어떤 동작 또는 사용자 인터페이스의 일부를 나타냅니다. 여러 개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러 개인 UI를 빌드할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다. 프래그먼트는 액티비티의 모듈식 섹션이라고 생각하면 됩니다. 이는 자체적인 수명 주기를 가지고, 자체 입력 이벤트를 수신하고, 액티비티 실행 중에 추가 및 삭제가 가능합니다(다른 액티비티에 재사용할 수 있는 "하위 액티비티"와 같은 개념). 💡 프래그먼트,, Activity만 사용하다 이번 프로젝트에서 Fragment로 메인 화면들을 구성하는 것이 적합할 것 같아서 ‘Activity랑 비슷하겠지~’ 라.. 2023. 8. 20.
[AndroidStudio] 에러 노트 Android 개발 중 발생한 에러를 정리하는 곳입니다. 서버 호스팅 에러에러 코드- E/Volley: [763] NetworkUtility.shouldRetryException: Unexpected response code 403 for http://inbeom2.ivyro.net/Register.php발생 원인- MiracleStep 프로젝트 리메이크 과정에서 ivyro.net의 DB이전 진행하였더니 발생함. DB와 Connection은 되는데 값을 넘겨주고, 받아오는 것이 불가능 함. DB서버 호스팅 문제인 것 같다. 해결 방법- DB서버 호스팅 새로 파서 작업!  json 형변환 에러에러 코드- org.json.JSONException: Value 발생 원인- 요청한 API의 응답에서 에러가 발생.. 2023. 8. 20.
[SpringBoot] @Annotation 정리 @Autowired 스프링 DI(Dependency Injection)에서 사용되며, Bean 인스턴스가 생성된 이후 @Autowired를 설정한 메서드가 자동으로 호출되고, 인스턴스가 자동으로 주입됩니다. 필요한 의존 객체의 “타입"에 해당하는 Bean을 찾아 주입한다. 생성자 / setter / 필드 기본값이 true이기 때문에 의존성 주입을 할 대상을 찾지 못한다면 애플리케이션 구동 실패. 💡 Constructor Dependency Injection 생성자 주입은 생성자에 의존성 주입을 받고자 하는 field를 나열하는 방법으로, 권고되는 방법의 하나 이다. 장점 필수적으로 사용해야 하는 레퍼런스 없이는 인스턴스를 만들지 못하도록 강제함 Spring 4.3 이상부터는 생성자가 하나인 경우 @Aut.. 2023. 8. 20.
[SpringBoot] 주요 개념 정리 💡 Optional 'null일 수도 있는 객체'를 감싸는 일종의 Wrapper 클래스이다. • optional 변수 내부에는 null이 아닌 T 객체가 있을 수도 있고 null이 있을 수도 있다. 따라서, Optional 클래스는 여러 가지 API를 제공하여 null일 수도 있는 객체를 다룰 때 사용한다. // 1) Optional 객체 생성 Optional result = userRepository.findById(userId); // 2) Optional 객체 접근 if(result.isPresent()) { return result.get(); }else{ return result.orElse(null); // Optional객체에 담긴 값이 있으면 객체 내부의 값을 반환. // 만약, null인.. 2023. 8. 20.
[SpringBoot] NaverAPI - RestaurantProject Naver 지역 API정보 검색 > 지역 - Search API 내 애플리케이션 (Id, Secret) 애플리케이션 - NAVER Developers NaverAPI 연동하기! application.properties 파일을 yaml파일로 변경하여 사용 (가독성이 좋아 최근 많이 사용) naver: url: search: local: image: client: id: ?????????? 0){ // 지역 검색 결과가 있다면 실행 var localItem = searchLocalRes.getItems().stream().findFirst().get(); var imageQuery = localItem.getTitle().replaceAll("]*>",""); // 괄호 제거 정규식 var searchIma.. 2023. 8. 20.
[SpringBoot] 07. Server to Server 💡 Client Controller @RestController @RequestMapping("/api/client") public class ApiController { private final RestTemplateService restTemplateService; public ApiController(RestTemplateService restTemplateService) { this.restTemplateService = restTemplateService; } @GetMapping("/hello") public Req getHello(){ return restTemplateService.genericExchange(); } } 사용자가 localhost:9090/api/client/hello를 .. 2023. 8. 20.
[SpringBoot] 06. Spring 기능 활용 💡 Validation Validation 이란 null값에 의한 null pointr exception등과 같은 에러 발생을 방지하기 위해 값을 미리 검증하는 과정이다. if(account == null || pw == null) { return; } if(age == 0) { return; } Validation의 사용 이유 검증해야 할 값이 많은 경우 코드의 길이가 길어진다. 구현에 따라 달라질 수 있지만 Service Logic과의 분리가 필요하다. 흩어져 있는 경우 어디에서 검증을 하는지 알기 어려우며, 재사용의 한계가 있다. 구현에 따라 달라질 수 있지만, 검증 Logic이 변경 되는 경우 테스트 코드 등 참조하는 클래스에서 Logic이 변경되어야 하는 부분이 발생할 수 있다. implemen.. 2023. 8. 20.
728x90
반응형