전체 글 175

Android - ActionBar

actionbar는 위 사진처럼 + , : 메뉴에 쓰인다. 먼저 menu 디렉토리를 만들고 xml 파일을 하나 생성한다. main.xml에 다음과 같이 추가한다. 여기서 icon은 + 모양 아이콘을 의미하며 drawable 파일에 이미지를 추가하였습니다. 이제 이 xml 파일을 내가 사용할 activity 에서 연결하면 된다. // MainActivity 에서 오버라이딩 ( onCreate 가 아님.!) @Override public boolean onCreateOptionsMenu(Menu menu) { // 액션바의 메뉴가 나오도록 설정한다. getMenuInflater().inflate(R.menu.main,menu); return true; } 이 연결한 메뉴들을 클릭할때마다 어떠한 작업을 하고싶..

Android - Network( Volley 라이브러리/ Manifest 수정)

안드로이드에서 네트워크 통신을 위한 Volley 라이브러리를 설치합니다. 1. Volley 라이브러리 설치 // app.gradle 에서 추가한다. implementation 'com.android.volley:volley:1.2.1' 2. Manifest 수정 2-1 . 인터넷 권한 추가 // manifest 부분에는 다음을 추가 2-2 . 안드로이드 보안규칙에 따른 network-security-config.xml 생성하기 // xml 폴더에 network_security_config 를 추가하고 다음과 같이 입력 // 믿을 수 있는 도메인만 추가 "도메인주소" // 전부다 허용 // 2-3. 만든 xml manifest의 적용 // manifest의 application의 추가 android:use..

Android - TextWatcher

EditText에 입력을 할때 마다 내 TextView 가 바뀌도록 하는 TextWatcher 를 이용해봅시다. UI code JAVA code EditText editText; TextView textView; editText = findViewById(R.id.editText); textView = findViewById(R.id.textView); editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence char..

Android - 객체 전달을 위한 Serializable

지금까지 Intent를 통한 데이터 전달은 기본 데이터 타입들로 보냈습니다. 객체를 보내고 싶을 때 사용하는 Serializable을 알아봅시다. Serializable 은 직렬화를 의미합니다. 직렬화는 자바에서 사용된 데이터 또는 클래스를 바이트코드로 변환시키는 작업을 의미하며 이 바이트코드를 다시 데이터 또는 클래스로 변경하는 방법을 역 직렬화라고 합니다. 따라서 Intent를 통한 데이터 전달은 이 직렬화를 통해 바이트코드로 변환되고 이 바이트 코드를 다시 역직렬화를 통해 객체로 전달하게 됩니다. JAVA code // Contact class // Serializable을 구현합니다. public class Contact implements Serializable { public String na..

Android - RecyclerView의 Intent

이전 RecyclerView 글과 같은 프로젝트에서 진행합니다. RecyclerView 에 각 item 별로 클릭을 하면 다른 액티비티로 넘어가도록 작성해보겠습니다. JAVA code // ViewHolder 클래스 에서 클릭 리스너를 추가합니다. // 카드뷰를 눌렀을 때 처리하기 위해 카드뷰와 연결합니다. public ViewHolder(@NonNull View itemView) { super(itemView); txtname = itemView.findViewById(R.id.txtname); txtphone = itemView.findViewById(R.id.txtphone); imgdelete = itemView.findViewById(R.id.imgdelete); // 카드뷰를 눌렀을 때 처리하..

Android - RecyclerView

RecyclerView 는 흔히 사용하는 카카오톡 채팅목록 같은 비슷한형식의 리스트를 만드는 방법입니다. 이전 sqlite3 글에서 사용했던 클래스를 그대로 이용하니 참고하시길 바랍니다. UI code JAVA code 1. RecyclerView 는 adapter 라는게 필요합니다. 이 adapter 는 RecyclerView 에 표시될 데이터를 연결합니다. 이 RecyclerView 에 하나의 리스트도 ui가 필요하기 때문에 새로운 xml 파일을 만들어보겠습니다. 이름은 Contact_row 로 하며 다음과 같이 구성되어있는 UI 입니다. 2. adapter를 작성하겠습니다. ContactAdapter 클래스를 만들어 여기에 필요한 코드를 작성하겠습니다. package com.rrc0777.conta..

Android - SQLite3

안드로이드에 설치되어있는 sqlite3 db를 통해 데이터를 저장해보자. JAVA code # MainActivity Button btnAdd; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnAdd = findViewById(R.id.btnadd); btnAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getApplicationContext(),Add..

Android - SharedPreferences

SharedPreferences 는 안드로이드 앱의 내부 저장소에 데이터를 저장하는 방법입니다. DB의 저장할 필요가 없는 간단한 데이터를 저장하는데 용이합니다. JAVA code # 생성하는 방법 # 첫번째 파라미터는 저장소 이름을 적어준다. # 두번째 파라미터는 우리 앱에서만 사용할 수 있도록 한다. SharedPreferences sp = getSharedPreferences(SP_NAME,MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("sentence",Stringdata); editor.apply(); # 생성한 저장소 이용하는방법 SharedPreferences sp = getSharedPreferenc..

Android - Intent

Intent는 activity간의 이동에 사용하는 클래스입니다. 단방향 JAVA code MainActivity Intent intent = new Intent("현재클래스","이동할클래스"); #ex) 현재클래스 : MainActivity.this # 이동할클래스 : SecondActivity.class intent.putExtra("key","data"); # putExtra 키값과 data로 이동할 액티비티로 보낼 수 있다. startActivity(intent) SecondActivity String data = getIntent().getStringExtra("key"); # Intent intent = getIntent(); # String data = intent.getStringExtra(..