반응형

분류 전체보기 210

[Android] 5주차 스터디 (Kotlin, CustomListView)

ListView - Kotlin View부분은 리스트뷰 하나를 넣어주는 것으로 간단하게 구성하였습니다! 코틀린으로 리스트뷰를 만들어보겠습니다 먼저 코틀린 문법을 간단히 보고 코드를 보겠습니다! 코틀린 문법 1. 변수 - val, var val : 초기에 값을 할당하면 변경할 수 없음, 초기화가 한 번만 되는 것이 맞다면 여러 값을 초기화 할 수 있음 var: 초기화 후 값을 변경할 수 있음, 단 정해진 타입의 값만 넣을 수 있음 2. :(콜론)은 상속관계를 나타내거나 해당 변수가 무슨 타입인지 선언할 때 쓰임 ex) MainActivity : AppCompatActivity() => 상속, val name : String => 변수타입 선언 3. $ = % $와 %은 같은 역할을 수행함 ex) print..

Android 2020.10.28

[Android] 4주차 스터디 (CustomListView)

이번주에는 CustomView에 대해서 살펴보았습니다. CustomView의 일부분만 다루어보았습니다. CustomView를 만들기 위해 한 단계씩 진행해보도록 하겠습니다. 1. 밑그림을 그려줍니다 - 가장 아래쪽에 리스트뷰를 까는 작업을 해줍니다 2. 껍데기를 개조합니다 - listview_item.xml 파일을 만들어 개조한 틀을 하나 만들어줍니다. 리스트의 아이템에 들어갈 틀을 만들어주었습니다. ImageView 하나와 TextView 3개로 구성하였습니다. RelativeLayout을 사용하여 여러 뷰를 배치했습니다. 3. 어댑터 객체를 만들어줍니다 - BaseApater를 이용하여 BaseAdapter는 모든 어댑터의 가장 근본이 되는 어댑터 객체입니다. class CustomAdapter ex..

Android 2020.09.24

[Android] ListView(리스트뷰)와 RecyclerView(리사이클러뷰)

ListView 리스트뷰는 목록을 구현하는 것입니다. 간단하게 리스트를 만들 수 있어서 편리합니다. 간단한 아이템으로 구성된 리스트뷰를 만드는 경우에는 ArrayAdapter가 제공되어서 빠르게 적용할 수 있습니다. 하지만 아이템의 애니메이션 처리가 쉽지 않습니다. ViewHolder패턴을 강제적으로 사용하지 않아서 findViewById를 매번 호출해야 합니다. 리스트뷰는 리스트 항목이 갱신될 때마다 매번 아이템뷰를 새로 구성해야하는 단점이 있습니다. 그래서 많은 데이터의 집합을 표시하는 것에서 성능 저하를 일으키는 원인이 됩니다. protected void onCreate(Bundle savedInstanceState) { //코드생략 ListView listview = (ListView)findVi..

Android 2020.09.21

자바 빌더 패턴(Builder Pattern)

빌더패턴 빌더패턴은 디자인 패턴 중 하나로써 생성과 표현을 분리한 것 입니다. 생성자에 들어갈 매개 변수를 받고 모든 매개 변수를 받은 뒤에 통합해서 한 번에 사용을 합니다. 빌더패턴을 사용하지 않는 경우를 먼저 살펴보겠습니다 public class PersonInfo { private String name; private int age; private String addr; //생성자 public PersonInfo(String name, int age, String addr){ this.name = name; this.age = age; this.addr = addr; } } 생성자를 보면 이름, 나이, 주소 매개변수를 받도록 하고 있습니다. 하지만 어떤 경우 이름과 나이만 데이터가 있을 수 도 있습..

그 외/Java 2020.09.21

Lombok , JUnit , log4j / slf4j

1. Lombok(롬복) Lombok은 Java 라이브러리로 반복되는 getter, setter, toString 등의 메소드 작성 코드를 줄여주는 라이브러리입니다. Java 기반에서 기계적으로 작성하는 VO, DTO, Entitiy 관련 작업을 쉽게 하도록 해주는 도구입니다. Lombok은 여러가지 어노테이션(ex. @Data)을 제공하고 이를 기반으로 코드를 컴파일 과정에서 생성해주는 방식으로 동작하는 라이브러리입니다. 코드에서는 어노테이션만 보이고 getter, setter 등의 메소드가 보이지 않지만 실제로 컴파일된 결과물에서는 코드가 생성되어 있습니다. Lombok은 복잡하고 반복되는 코드를 줄여주기 때문에 코드의 가독성을 높이고, 코딩 생산성을 높일 수 있습니다. @Getter @Setter ..

그 외/Java 2020.09.19

배열(Array)과 ArrayList

배열(Array)과 ArrayList 배열 - 배열의 크기를 한 번 정하면 크기를 바꿀 수 없습니다. - 배열 초기화 시 메모리에 할당되어 ArrayList 보다 속도가 빠릅니다 - 배열의 길이를 알고 싶을 때 length 변수를 씁니다 - 배열의 값을 가져올 때 "배열이름[위치]" 로 씁니다 //배열 정의 int[] num = new int[5]; //배열에 값 추가 num[0] = 10; num[1] = 20; num[2] = 30; num[3] = 40; num[4] = 50; //배열 길이 System.out.println(num.length); //결과: 5 //배열 조회 for(int i = 0; i < num.length, i++) { System.out.println(num[i]); } A..

그 외/Java 2020.09.18

[Android] Adapter객체를 생성하면서 만들 수 있는 Adapter 형태

리스트뷰의 레이아웃에는 여러가지가 있는데요! 그 중 대표적인 5개를 살펴보겠습니다 1. simple_list_item_1 - 텍스트뷰 하나로 구성된 레이아웃 protected void onCreate(Bundle savedInstanceState) { List list = new ArrayList(); list.add("빨강"); //~나머지 생략 ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list); listview.setAdapter(adapter); } list에 값을 추가하고 어댑터를 생성해서 리스트뷰와 연결해주면 됩니다. R.layout.simple_list_item_1에 simple_list_..

Android 2020.09.17

[Android] 3주차 스터디 (AlertDialog, ListView)

오늘은 AlertDialog와 ListView에 대해 공부하고 예제를 살펴보았습니다. AlertDialog 다음은 실행화면이고, 종료버튼을 눌렀을 때 AlertDialog가 나오는 것을 볼 수 있습니다! btn_quit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder msgBuilder = new AlertDialog.Builder(MainActivity.this) .setTitle("어플 끈다?") .setMessage("진짜 어플끈다?") .setPositiveButton("꺼라", new DialogInterface.OnClickListener() {..

Android 2020.09.17

[Android] 계산기 앱 만들기

윈도우 계산기를 기반으로 하여 계산기 앱을 만들어 보았습니다! Button.OnClickListener onClickListener = new Button.OnClickListener() { public void onClick(View view) { //버튼id로 케이스 나누기 switch (view.getId()) { //숫자버튼 case R.id.btn_0: if(tv_result.getText().toString().equals("0")) { tv_result.setText("0"); } else { tv_process.setText(tv_process.getText().toString() + "0"); tv_result.setText(tv_result.getText().toString() + "0..

Android 2020.09.14
반응형