Java19 [Android] 리사이클러 뷰 (RecyclerView) + Vector Asset, 클래스 Intent: Serializable 리스트 형식의 데이터를 보여줄때 RecyclerView를 사용한다. RecyclerView에 넣어서 보여줄 하나의 행을 만들어야 한다. 이 행의 화면 개발을 위해 xml을 따로 만들어서 작업해야 한다. 이것을 위한 새로운 Layout Resource File을 만들자. # 만들때 ConstraintLayout이 아닌 LinearLayout을 적용시킨다. 아래 구성으로 화면을 만들자. 그 후 TextView를 필요한 만큼 넣고 오른쪽 위에 닫기 버튼을 만들자. Res를 우클릭하여 Vector Asset으로 닫기 아이콘을 만들수 있다. Clip Art로 원하는 아이콘을 찾고 조정하여 만든다. 그러면 이제 res의 drawable에 만들어준 닫기 아이콘이 만들어진것을 확인할수있다. 이 아이콘을 사용해서 레이아.. 2022. 7. 14. [Java] 해시맵(Hashmap) map은 파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐 import java.util.HashMap; import java.util.Iterator; public class MapTest { public static void main(String[] args) { // TODO Auto-generated method stub // map은 파이썬의 딕셔너이와 비슷한 데이터 스트럭쳐 // key, value 쌍을 저장 왼쪽이 key, 오른쪽이 value HashMap map = new HashMap(); map.put("model", "iPhone 12"); map.put("year", "2021"); map.put("color", "red"); // 키값으로 가져온다. //System.out.println(.. 2022. 7. 6. [Java] 리스트 배열은 생성시, 개수를 반드시 정해야 하며 또, 한번 개수를 정하면 그 수 이상으로 데이터를 추가하지 못한다. 개수 정하지않고 데이터를 마음대로 추가 또는 삭제할수있는 어레이리스트 자유롭게 사용하자. 먼저 리스트를 만들자. ArrayList nameList = new ArrayList(); # 담고싶은 데이터를 안에 적어줘야 한다. # 그 후 경고가 뜨면 임포트 해야 한다. 리스트에 데이터 추가하자. nameList.add("홍길동"); nameList.add("김나나"); nameList.add("Mike"); System.out.println(nameList.get(0)); // 리스트에 있는 데이터를 모두 출력 for(int i=0; i 2022. 7. 6. [Java] 문자열 처리 문자열을 생성해보자 String str1 = "Hello"; String str2 = new String("Java"); # str1을 생성하는 첫번째 코드가 더 빠르니 문자열을 만들때는 첫번째 방법을 사용하자 문자열에 정수를 더하면 정수끼리 더해진것처럼 나타나지 않는다. in: String str3 = "317"; System.out.println(str3+10); out: 31710 문자열로 들어있는 정수를 진짜 정수로 바꾸자. in: int a = Integer.valueOf(str3).intValue(); System.out.println(a+10); out: 327 문자열로 들어있는 실수를 double로도 바꿀수있다. in: double b = Double.valueOf(str4).doubleV.. 2022. 7. 6. [Java] 인터페이스(Interface) 인터페이스는 멤버변수가 없고 함수의 이름만 있는것이다. # 멤버변수를 만들면 안된다. # 단, 상수는 가능하다. # 상수란 변수인데 한번 값을 저장하면 값을 바꿀수 없는것이다. 인터페이스를 만들어보자. Finish를 눌러 인터페이스를 만들고 상수와 함수들을 만든다. public interface PlayingCard { // 클로버 1, 하트 2, 다이아몬드 3, 스페이드 4 (상수는 보통 대문자로 작성한다.) public static int CLOVER = 1; public static int HEART = 2; public static int DIAMOND = 3; public static int SPADE = 4; public String getCardNumber(); public void prin.. 2022. 7. 6. [Java] 추상(Abstract) 프로젝트를 다른 작업자들과 협엽할때 abstract를 사용하여 작업의 능률을 올릴수있다. 먼저 클래스를 abstract를 사용해서 만든다 그리고 함수도 abstract를 활용해서 만드는데 함수의 내용이 없이 함수 이름만 작성한다. public abstract class GrandParent { String name; int age; abstract void print(); abstract void test(); } # abstract는 클래스를 만들어놓고 상속받아서 쓰는 용도다. 이제 위의 클래스를 상속받는 클래스를 만든다. public class Parent extends GrandParent { @Override void print() { // TODO Auto-generated method stub.. 2022. 7. 6. [Java] 다운캐스팅(Downcasting) 다운캐스팅은 상속받은 자식클래스로 캐스팅하는것이다. # 자식 클래스로 캐스팅하는것은 실제 메모리의 객체로 바꾸는것이다. 먼저 부모클래스가 되는 Animal 클래스를 만든다. public class Animal { private String name; public void cry() { System.out.println(name+"(은)는 소리를 낸다."); } public String getName() { return name; } public void setName(String name) { this.name = name; } } 그 후 Animal 클래스를 상속받는 Dog 클래스를 만들어준다. public class Dog extends Animal { //String name; // Animal 클.. 2022. 7. 5. [Java] 업캐스팅(Upcasting) 업캐스팅은 상속관계인 상태에서 데이터타입을 부모클래스로 선언하는것이다. # 상속관계의 클래스에 대한 캐스팅 (Type 변환) UpCastingParent 클래스를 만들자. public class UpCastingParent { int x; int y; public UpCastingParent(){ x = 10; y = 20; } public void print(){ System.out.println("x : "+x); System.out.println("y : "+y); } public int add() { System.out.println("Parent의 add() 함수 호출"); return x + y; } } # UpCasting 클래스의 생성자 초기값 설정으로 x는 10, y는 20으로 정했다. .. 2022. 7. 5. 이전 1 2 3 다음