Codingjr2010
2022.02.23
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : 입력한 메모를 공유하기
MemoActivity.kt package com.example.secretmemo import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.EditText import com.google.android.material.floatingactionbutton.FloatingActionButton class MemoActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_memo) val sharingButton = findViewById<FloatingActionButton>(R.id.floatingActionButton) val memo = findViewById<EditText>(R.id.memoline) sharingButton.setOnClickListener{ val send = Intent().apply{ action = Intent.ACTION_SEND putExtra(Intent.EXTRA_TEXT,memo.text.toString()) type="text/plain" } val share = Intent.createChooser(send,null) startActivity(share) } } }
Codingjr2010
2022.02.23
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : Activity 전환하기
AndroidManifest <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.secretmemo"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.SecretMemo"> <activity android:name=".MemoActivity" android:exported="true" android:windowSoftInputMode="adjustResize"/> <activity android:name=".MainActivity" android:exported="true" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> MainActivity package com.example.secretmemo import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.Button import android.widget.EditText import android.widget.TextView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val intent = Intent(this,MemoActivity::class.java) val msg = findViewById<TextView>(R.id.textView) val email = findViewById<TextView>(R.id.email) val password = findViewById<EditText>(R.id.pw) findViewById<Button>(R.id.button1).setOnClickListener{ val emailText=email.text.toString() val passwordText = password.text.toString() if(emailText=="hi@naver.com"){ if(passwordText=="12345678"){ Log.d("secret memo","통과") startActivity(intent) this.finish() }else{ Log.d("secret memo","비밀번호가 틀렸습니다") msg.text="비밀번호가 틀렸습니다. 다시 입력 하세요." } }else{ Log.d("secret memo","이메일이 틀렸습니다.") msg.text="이메일이 틀렸습니다. 다시 입력 하세요." } } } }
Codingjr2010
2022.02.22
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : 메모 화면 레이아웃 완성하기
👉 여러분의 XML 코드와 실행결과(앱)를 올려주세요. activity_memo.xml <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MemoActivity"> <EditText android:id="@+id/editTextTextMultiLine2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="24dp" android:layout_marginEnd="16dp" android:ems="10" android:gravity="start|top" android:inputType="textMultiLine" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/floatingActionButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="32dp" android:layout_marginBottom="24dp" android:clickable="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:srcCompat="@android:drawable/ic_menu_share" tools:ignore="SpeakableTextPresentCheck" /> </androidx.constraintlayout.widget.ConstraintLayout> AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.secretmemo"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.SecretMemo"> <activity android:name=".MemoActivity" android:exported="true" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Codingjr2010
2022.02.22
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : 비밀번호 체크하기
✅ 사용자가 입력한 비밀번호를 passwordText 변수에 저장하세요. ✅ passwordText 를 체크하여 원하는 비밀번호가 맞을 경우 Logcat에 통과를 출력하고, 아닐 경우 틀렸어요."를 출력하세요. package com.example.secretmemo import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.Button import android.widget.EditText class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val email = findViewById<EditText>(R.id.email) val password = findViewById<EditText>(R.id.pw) findViewById<Button>(R.id.button1).setOnClickListener{ val emailText=email.text.toString() val passwordText = password.text.toString() if(emailText=="hi@naver.com"){ if(passwordText=="12345678"){ Log.d("secret memo","통과") }else{ Log.d("secret memo","비밀번호가 틀림") } }else{ Log.d("secret memo","이메일이 틀림") } } } }
Codingjr2010
2022.02.18
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : 비밀번호 입력 화면 레이아웃 구성하기
✅ Text > TextView 컴포넌트로 "비밀번호를 입력해주세요" 문구 추가 ✅ Text > Password(Numeric) 컴포넌트 추가 ✅ 버튼 추가 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="24dp" android:text="비밀번호를 입력하시오." app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/editTextNumberPassword" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:ems="10" android:inputType="numberPassword" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView" tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginTop="18dp" android:layout_marginEnd="16dp" android:text="확인" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/editTextNumberPassword" /> </androidx.constraintlayout.widget.ConstraintLayout>
12young29
2022.02.16
@12young29님이
✅ 오늘의 문제 : 로또번호추첨앱 기능 완성하기
포스트에 댓글을 남겼습니다.
12young29
2022.02.16
@12young29님이
✅ 오늘의 문제 : 로또번호추첨앱 기능 완성하기
포스트를 좋아합니다.
Codingjr2010
2022.02.16
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : 로또번호추첨앱 기능 완성하기
✅ 난이도를 선택해 과제를 수행해주세요. package com.example.myfirstproject import android.content.res.ColorStateList import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.PersistableBundle import android.util.Log import android.widget.Button import com.google.android.material.floatingactionbutton.FloatingActionButton import java.util.* class MainActivity : AppCompatActivity() { private val random = Random() private val numbers = arrayListOf<Int>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val num1 = findViewById<Button>(R.id.buttonNum1) val num2 = findViewById<Button>(R.id.buttonNum2) val num3 = findViewById<Button>(R.id.buttonNum3) val num4 = findViewById<Button>(R.id.buttonNum4) val num5 = findViewById<Button>(R.id.buttonNum5) val num6 = findViewById<Button>(R.id.buttonNum6) findViewById<FloatingActionButton>(R.id.floatingActionButton1).setOnClickListener{ numbers.clear() setLottoNum(num1) setLottoNum(num2) setLottoNum(num3) setLottoNum(num4) setLottoNum(num5) setLottoNum(num6) } } private fun setLottoNum(lottoNum:Button){ var num=0 while(true){ num=random.nextInt(45)+1 if(!numbers.contains(num)) numbers.add(num) break } lottoNum.text = "${num}" if (num <= 10) { lottoNum.backgroundTintList = ColorStateList.valueOf(Color.rgb(108, 44, 223)) } else if (num <= 20) { lottoNum.backgroundTintList = ColorStateList.valueOf(Color.rgb(6, 138, 243)) } else if (num <= 30) { lottoNum.backgroundTintList = ColorStateList.valueOf(Color.rgb(13, 236, 22)) } else if (num <= 40) { lottoNum.backgroundTintList = ColorStateList.valueOf(Color.rgb(237, 214, 12)) } else { lottoNum.backgroundTintList = ColorStateList.valueOf(Color.rgb(253, 9, 92)) } } }
12young29
2022.02.15
@12young29님이
✅ 오늘의 문제 : 6개 버튼 텍스트, 색깔 변경하기
포스트에 댓글을 남겼습니다.
12young29
2022.02.15
@12young29님이
✅ 오늘의 문제 : 6개 버튼 텍스트, 색깔 변경하기
포스트를 좋아합니다.
Codingjr2010
2022.02.15
@Codingjr2010님이 새 포스트를 작성했습니다.
✅ 오늘의 문제 : 6개 버튼 텍스트, 색깔 변경하기
여러분의 xml 코드와 실행 결과 캡쳐 이미지를 올려주세요. ✅ 6개의 버튼을 각각 변수 (val)로 만들어주세요. ✅ 우측 하단의 floatingActionButton(id는 runButton)을 클릭했을 때 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/floatingActionButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="32dp" android:layout_marginBottom="26dp" android:clickable="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:srcCompat="@android:drawable/ic_menu_rotate" tools:ignore="SpeakableTextPresentCheck" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <Button android:id="@+id/buttonNum2" android:layout_width="70dp" android:layout_height="80dp" android:backgroundTint="#F08F8B8B" app:cornerRadius="80dp" tools:ignore="SpeakableTextPresentCheck" /> <Button android:id="@+id/buttonNum4" android:layout_width="70dp" android:layout_height="80dp" android:backgroundTint="#F08F8B8B" app:cornerRadius="80dp" tools:ignore="SpeakableTextPresentCheck" /> <Button android:id="@+id/buttonNum6" android:layout_width="70dp" android:layout_height="80dp" android:backgroundTint="#F08F8B8B" app:cornerRadius="80dp" tools:ignore="SpeakableTextPresentCheck" /> <Button android:id="@+id/buttonNum5" android:layout_width="70dp" android:layout_height="80dp" android:backgroundTint="#F08F8B8B" app:cornerRadius="80dp" tools:ignore="SpeakableTextPresentCheck" /> <Button android:id="@+id/buttonNum3" android:layout_width="70dp" android:layout_height="80dp" android:backgroundTint="#F08F8B8B" app:cornerRadius="80dp" tools:ignore="SpeakableTextPresentCheck" /> <Button android:id="@+id/buttonNum1" android:layout_width="70dp" android:layout_height="80dp" android:backgroundTint="#F08F8B8B" app:cornerRadius="80dp" tools:ignore="SpeakableTextPresentCheck" /> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> package com.example.myfirstproject import android.content.res.ColorStateList import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.PersistableBundle import android.util.Log import android.widget.Button import com.google.android.material.floatingactionbutton.FloatingActionButton import kotlin.random.Random class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val num1 = findViewById<Button>(R.id.buttonNum1) val num2 = findViewById<Button>(R.id.buttonNum2) val num3 = findViewById<Button>(R.id.buttonNum3) val num4 = findViewById<Button>(R.id.buttonNum4) val num5 = findViewById<Button>(R.id.buttonNum5) val num6 = findViewById<Button>(R.id.buttonNum6) findViewById<FloatingActionButton>(R.id.floatingActionButton1).setOnClickListener{ num1.text="44" num1.backgroundTintList=ColorStateList.valueOf(Color.rgb(108,44,223)) num1.setTextColor(Color.BLACK) num2.text="23" num2.backgroundTintList=ColorStateList.valueOf(Color.rgb(6,138,243)) num2.setTextColor(Color.BLACK) num3.text="32" num3.backgroundTintList=ColorStateList.valueOf(Color.rgb(13,236,22)) num3.setTextColor(Color.BLACK) num4.text="34" num4.backgroundTintList=ColorStateList.valueOf(Color.rgb(237,214,12)) num4.setTextColor(Color.BLACK) num5.text="1" num5.backgroundTintList=ColorStateList.valueOf(Color.rgb(225,152,0)) num5.setTextColor(Color.BLACK) num6.text="11" num6.backgroundTintList=ColorStateList.valueOf(Color.rgb(255,9,92)) num6.setTextColor(Color.BLACK) } } } 에러 및 질문 attribute layout_constrainBotton_toEndOf ->라는 에러가 계속 나서 이 부분을 지우고 하니까 잘 돌아가기는 하는데..왜 에러가 나는 것인지 모르겠네요.. https://stackoverflow.com/questions/55403102/how-to-fix-this-attribute-appconstraintbottom-tobottomof-not-found 이 사이트를 참고해서 build.gradle(module.app) -파일에 코드를 넣어도 해결이 되지 않았어요. implementation 'com.android.support.constraint:constraint-layout:1.1.3'