본문 바로가기

ALL260

Java email 체크 정규식 /** * Comment : 정상적인 이메일 인지 검증. */ public static boolean isValidEmail(String email) { boolean err = false; String regex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@(?:\\w+\\.)+\\w+$"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(email); if(m.matches()) { err = true; } return err; } 2023. 1. 31.
Android shared preference(앱 내에 토큰,자동로그인 등 데이터를 저장) 두가지 방법이 있다. shared preference -> 간단히 저장할때 sqlite -> DB => 앱을 삭제하면, 같이 삭제된다. Main 코드 package com.leopard4.saveapp; import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { EditText editSentence; Bu.. 2023. 1. 31.
Android 단방향 데이터 전달, 양방향 데이터 전달 단방향 데이터 전달(second 코드를 먼저보여줌)나이에 + 10을 해서 보여줌  Main 화면button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String strName = editName.getText().toString().trim(); String strAge = editAge.getText().toString().trim(); int age = Integer.parseInt(strAge); // SecondActivity로 화면 전환 // 인텐트를 만든다! // 인텐트란, 어떤 액티비티가.. 2023. 1. 30.
Android Activity간 화면전환(Life Cycle), intent 화면 전환시 실행되는 함수 Log 확인 Create [처음실행시] Start Resume Backpressed [백버튼눌럿을시] Pause Stop Destroy[완전히 사라질시] Restart[사용할일이 거의없음] 자동으로 XML도 만들어줌 첫번째 액티비티 전체코드 package com.leopard4.lifecycle; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; public class MainActivity ext.. 2023. 1. 30.
Android Studio CountDownTimer, Flag, (ABS,Interface)특성, 메소드안의 메소드를 다른메소드에서 호출, Log.i, setText(""+int) !! 기억할것 !! 기본 템플릿에서 멤버변수는 보라색 abs추상클래스, 인터페이스 는 내장된 멤버메소드를 반드시 사용해야만 한다. Flag 변수란 특정 동작을 수행할지 말지 결정하는 (보통 1비트인) 변수 ( 보통 is어쩌고 로 시작) 클래스의 메소드 안에 메소드는 스택 영역에 생성되므로 재사용이 안된다. setText()는 String 만 가능하기 때문에 "" + 숫자 한다 (가장쉽게 String 으로 변환하는 방법) 메인 코드 전체 package com.leopard4.timer; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.annotation.Suppre.. 2023. 1. 27.
Android Studio QuizApp, progressBar, Alert, strings.xml 다국어 처리, 반복되는 작업은 유지보수를 위해 메소드로 만들기, 객체들을 담은 리스트의 활용, IndexOutOfBounds를 방지하기, @string/txtQuiz (매핑변수 strings.xml 과 연결, 다국어 처리를 위한 소프트코딩) 이 파일을 번역본으로 여러개 만들어놓으면 다국어 처리가 가능하다. (업체에 맡길수도 있다) 디폴트 언어를 영어로 설정가능 예시) strings_en.xml (자세한 사항은 메뉴얼을 참조) Main 전체 코드 package com.leopard4.quizapp; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import and.. 2023. 1. 27.
Android Studio Double.valueOf(strPercent).doubleValue() / todo package com.leopard4.calculator; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { TextView txtResult; Button btnResult; EditText editPercent; EditText editNumber; @Overr.. 2023. 1. 26.
Android Studio EditText.getText().toString().trim() / 유효성체크 / 로그처리 / Toast, Snackbar package com.leopard4.uitest1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.textfield.TextInputEditText; p.. 2023. 1. 26.
Android studio vertical, horizontal , textView, imageView 안드로이드 법칙 파일명 소문자 하이픈, 공백 X ( _는 가능) png or 벡터image 사용한 속성 scale (이미지크기,정렬) layout_gravity 위치잡기 layout_margin 공간주기 color 사용한 palatte vertical, horizontal , textView, imageView 2023. 1. 26.
Android studio 주사위 굴리기, 파일구성 기본 구성 manifests 폴더의 activity 부분이 앱실행시 실행되는부분 res 리소스폴더 R이라고 씀 이미지 파일은 res폴더의 drawable 폴더에 넣어놓고 사운드 파일은 res폴더에 rew폴더를 만들어서 보관 MainActivity 기능구현 코드작성부분 build.gradle sdk 버전설정 앱버전설정 dependencies에 사용할 라이브러리 (pip와 비슷한것) 레이아웃디자인 id값으로 기능구현 연결함 기능부분 실행시 에뮬레이터의 모습 잘되던 앱이 갑자기 안된다면 build-tools 부분을 업데이트 하면됨 사용할 api 레벨 (전부하면 용량이 커져서 안됨) 테스트 환경에서는 sdk Platform 33 하나만 설정하였다. minsdk 21은 최소 21버전이상이면 된다는것. image .. 2023. 1. 26.
JAVA ArrayList, HashMap, for each, contains, isEmpty() import java.util.ArrayList; public class ArrayListMain { public static void main(String[] args) { // 이름을 저장할 array 를 만든다. // array 는 생성할때, 갯수를 꼭 정해놓고 생성해야 한다. String[] nameArray = new String[10]; int[] numArray = new int[7]; // 위의 array(배열)는, 정해진 갯수 이상으로는 // 데이터 추가가 불가!! // 따라서, 갯수 제한없이 데이터를 마음대로 // 추가할수도 있고 삭제할수도 있는것이 ArrayList 다! // 담고싶은 데이터를 안에 적어줘야 한다. ArrayList nameList = new ArrayList(.. 2023. 1. 25.
Arduino 기초 UNO 보드(정격 5V) 디지털 입출력 0 , 1 아날로그 입출력 == 볼륨조절기 같은것 보드의 ~ 표시가 아날로그 입출력 가능한 단자임. GND(접지 , 그라운드, -극) 전류의 흐름 양(+) => 음(-) 전위차로 전압이 결정됨. 예시 ) 전지의 높이 pinmode(1, out) // 1번핀을 출력으로 사용하겠다. for (int i = 0 ; i < 3 ; i++){} (아두이노는 C, C++ 문법을 사용 , 자바와 동일) 저항 색띠 계산 4색 ( 십의자리,일의자리, 배수,오차) 5색 (백의자리,십의자리,일의자리,배수,오차) led램프의 허용전류 2023. 1. 25.