목록분류 전체보기 (303)
군침이 싹 도는 코딩

# res 우클릭 > New > Vector Asset # 클립 아트를 누르고 필요한 아이콘을 검색하거나 스크롤을 내려 찾은다음 OK 를 누르고 원하는 색깔과 사이즈로 편집한다 # 이미지뷰를 넣을때보면 추가되있는것을 확인할 수 있다

# SQLiteOpenHelper 를 상속받으면 메소드를 구현하라고 뜬다 즉 이 클래스는 추상 클래스임을 알 수 있다 # 임플리먼트 메소드를 눌러 두개의 메소드를 받아온다 # 두개의 메소드를 받아왔음에도 에러가 뜬다 이유는 생성자가 또 있기때문이다 # 생성자 또한 3가지중에 하나를 받아온다 package com.mugoori.contactapp.model; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; public class sss extends SQLiteO..

String email= editEmail.getText().toString().trim(); Pattern pattern = android.util.Patterns.EMAIL_ADDRESS; if (pattern.matcher(email).matches() == false){ Toast.makeText(MainActivity.this, "이메일을 바르게 입력하세요", Toast.LENGTH_SHORT).show(); return; } # 패턴을 이용해서 이메일 형식을 체크할 수 있다 pattern EMAIL_ADDRESS 는 값을 boolean으로 리턴하기때문에 조건문을 사용해서 true / false 로 구분해주면 된다

SharedPreferences sp = getSharedPreferences(SP_NAME,MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("sentence",sentence); editor.putInt("hello",100); editor.apply(); # 쉐어드 프리페어런스를 사용해서 임시저장을 할수 있다 이것으로 저장을하면 앱을 삭제하면 삭제되기때문에 임시저장이다 사용법은 쉐어드 프리페어런스를 만든다 파라미터는 첫번째 파라미터에 저장소 이름 두번째 파라미터에는 이 앱에서만 쓸수 있도록 프라이빗으로 설정한다 그 뒤 에디터를 만들어준다 만들어준 에디터로 put데이터타입( 키값, 저장될데이터) 를 쓴다 마지막으로..

public class MainActivity extends AppCompatActivity { Button button; EditText editName; EditText editAge; TextView txtAge; // 내가 실행한 액티비티로부터 데이터를 다시 받아오는 경우에 작성하는 코드 ActivityResultLauncher launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() { @Override public void onActivityResult(ActivityResult result) { if (result.getResultCod..

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("LifeCycleApp","onCreate 함수 실행"); button = findViewById(R.id.button); editName = findViewById(R.id.editName); editAge = findViewById(R.id.editAge); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String name = edi..

# 액티비티를 생성하는 법은 java > lifecycle 디렉토리 우클릭 > new > Activity > 원하는 액티비티를 선택하고 만들면 된다 public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("LifeCycleApp","onCreate 함수 실행"); button = findViewById(R.id.button); button.setOnClickListener(new V..

# 안드로이드 앱을 실행하면 이러한 순서대로 라이프 사이클이 실행된다 # lifeCycle 을 알아보기 쉽게 로그를 찍어보자 최초 앱을 실행하면 onCreate가 1번만 실행된다 그 뒤 onStart 와 onResume이 실행된다 # 버튼을 눌러 두번째 액티비티를 실행하면 빨간줄 밑으로 실행이된다 onPause 가 실행되고 두번째 액티비티의 onCreate가 1번 실행된다 그 뒤 onStart와 onResume 이 실행된다 그 다음 첫번째 액티비티의 onStop이 실행된다 # 뒤로가기버튼을 눌러 첫번째 액티비티로 돌아오면 두번째 액티비티의 onPause 가 실행되고 첫번째 액티비티의 onStart, onResume이 실행되며 두번째 액티비티의 onStop, onDestroy가 실행된다 # 앱을 종료하면 ..