๋งˆ MaterialToolbar ์•ผ ๋‹ˆ ๋จธ์„  ๊ณ ๋ฏผ ์žˆ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ผ๋Š”๋ฐ ์™œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์•ˆ ๋Œ์•„๊ฐ€๋Š”๋ฐ

 

 

MainActivity.kt

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding
    private lateinit var toolbar: MaterialToolbar

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        toolbar = findViewById(R.id.toolbar)
        setToolbarListener()
    }
    
    ...
}

 

toolbar = findViewById(R.id.toolbar) ์ด ๋ผ์ธ๋งŒ ์“ฐ๋ฉด ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ๋จนํ†ต์ด ๋ผ์„œ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ถ„๋ช…ํžˆ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ดํ‹€์„ ์—ฌ๊ธฐ๋งŒ ๋œฏ์–ด๋ณด๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๊ณณ์— ์žˆ์—ˆ๋‹ค

 

์‹ค์ œ ์›์ธ์€ ํˆด๋ฐ”์™€ ํˆด๋ฐ”๋ฅผ includeํ•œ ๋ ˆ์ด์•„์›ƒ์—์„œ ๋˜‘๊ฐ™์€ id๋ฅผ ์ค‘๋ณต์œผ๋กœ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ์ด์—ˆ๋‹ค

toolbar ๋ผ๋Š” ์•„์ด๋””๋ฅผ ๊ฐ€์ง„ ๊ฐœ์ฒด๊ฐ€ ๋‘ ๊ฐœ๊ฐ€ ์žˆ์œผ๋‹ˆ ์–ด๋–ค ๊ฑธ ์ฐพ์•„์„œ ๋ฐ”์ธ๋”ฉํ•ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ์„œ cannot be cast ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค

 

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.google.android.material.appbar.MaterialToolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:menu="@menu/menu_toolbar"
        app:title="@string/app_name"
        style="@style/Widget.MaterialComponents.Toolbar.Primary"/>

</com.google.android.material.appbar.AppBarLayout>

 

activity_main.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=".MainActivity">

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar"/>

    ...

</androidx.constraintlayout.widget.ConstraintLayout>

 

๋ณ€๊ฒฝ ํ›„

activity_main.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=".MainActivity">

    <include
        android:id="@+id/included_toolbar"
        layout="@layout/toolbar"/>

    ...

</androidx.constraintlayout.widget.ConstraintLayout>

 

์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์•„์ด๋””๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  ์‹คํ–‰์‹œํ‚ค๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค

๋‚˜๋„ ๋ฉ‹์žˆ๊ฒŒ ์ปค๋งจ๋“œ๋ผ์ธ ์จ์„œ ์ž‘์—…ํ•˜๊ณ  ์‹ถ๋‹ค. ๊ทผ๋ฐ ๋‚œ ์›Œํฌ๋ฒค์น˜ ์“ด๋‹ค. ์ผ๋‹จ ํ•ด๋ณด์ž๊ณ ๐Ÿ˜‚๐Ÿ˜‚

 

Workbench์—์„œ User ์ƒ์„ฑํ•˜๊ณ  ๊ถŒํ•œ ๋ถ€์—ฌํ•˜๊ธฐ


 

1. Workbench ๋ฉ”์ธํ™”๋ฉด์—์„œ root ๊ถŒํ•œ์œผ๋กœ ์ ‘์†ํ•œ๋‹ค.

 

 

2. ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋นจ๊ฐ„ ํ…Œ๋‘๋ฆฌ๋กœ ํ‘œ์‹œํ•œ ์›ํ†ต ๋ชจ์–‘ ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ Schemas ํƒญ์—์„œ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•ด์„œ ์ƒˆ๋กœ์šด ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์Šคํ‚ค๋งˆ ์ด๋ฆ„์„ ์ž…๋ ฅํ•œ๋‹ค. Charset์€ utf-8์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, default๋กœ ์ƒ์„ฑํ•ด๋„ ๋˜‘๊ฐ™์€ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

3. ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•œ๋‹ค. Administration ํƒญ์˜ Users and Privileges ๋˜๋Š” ์ƒ๋‹จ์˜ Server - Users and Privileges๋ฅผ ํ†ตํ•ด ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Add Account๋ฅผ ํด๋ฆญํ•ด ์ƒˆ๋กœ์šด ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๊ณ , ๋กœ๊ทธ์ธ๋ช…๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 

 

4. ์‚ฌ์šฉ์ž ๊ณ„์ •์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด Schema Privileges ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. Add Entry... ๋ฅผ ํด๋ฆญํ•ด ๊ถŒํ•œ์„ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒํ•œ๋‹ค. 

 

 

 

์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‚˜๋ฉด ์›ํ•˜๋Š” ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. Select ALL ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํ•œ ๋ฒˆ์— ๋ชจ๋“  ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

 

5. ์Šคํ‚ค๋งˆ ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ์„ ๋งˆ์น˜๋ฉด ๋‹ค์‹œ ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™€ MySQL Connections ์˜†์˜ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์ƒˆ๋กœ์šด Connection์„ ์ƒ์„ฑํ•ด์ค€๋‹ค.

 

 

์ƒ์„ฑํ•œ ๊ณ„์ •์˜ ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Test Connection ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. ์ œ๋Œ€๋กœ ์ ‘์†์ด ๋œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์•Œ๋ฆผ์ฐฝ์ด ๋œจ๊ณ , ๋ฉ”์ธํ™”๋ฉด์— ์ƒˆ๋กœ์šด Connection์ด ์ƒ๊ธด๋‹ค.

 

 

 

 

๋‹ค์Œ์—๋Š” ๋ช…๋ น์–ด ์ด์šฉํ•˜๊ธฐ ๋„์ „!

OS ํ™˜๊ฒฝ Windows 10

 

ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ํ™˜๊ฒฝ์„ ์…‹ํŒ…ํ•˜๋ฉด์„œ ์—ญ์‹œ ์„ค์ •์ด ๊ฐ€์žฅ ์ง„์ด ๋น ์ง€๋Š”๊ตฌ๋‚˜ ์ƒ๊ฐํ•˜๋Š” ์ค‘์ด๋‹ค.

MySQL ์—ญ์‹œ MySQL ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ ์ดํ›„์— ํ•ด์•ผ ํ•  ์ผ์ด ๊ฝค ์žˆ๋‹ค. ๋งค๋ฒˆ ๊นŒ๋จน๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ๊ธฐ๋กํ•ด๋‘”๋‹ค.

 

 

1. Path ์„ค์ •

์„ค์น˜ ์ดํ›„ Path ์„ค์ •์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

์„ค์น˜ ๋‹ค ํ–ˆ๋‹ค๊ณ  ๋ฌด์ž‘์ • cmd์—์„œ mysql -u root -p ์ณ๋ด๋„ Path ์ถ”๊ฐ€๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์•˜์œผ๋ฉด ์ ‘์†์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.


Path ์„ค์ • ๋ฐฉ๋ฒ•์€ ์ด ํฌ์ŠคํŠธ์—์„œ ์„ค๋ช…ํ•ด๋‘์—ˆ๋‹ค.

 

 

[MySQL] MySQL ํ™˜๊ฒฝ๋ณ€์ˆ˜ Path ์„ค์ •ํ•˜๊ธฐ

MySQL์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. ์ด์ œ ์ ‘์†ํ•ด์„œ ์–ผ๋ฅธ ํ…Œ์ด๋ธ”๋„ ๋งŒ๋“ค๊ณ  ํ”„๋กœ์ ํŠธ๋Ÿ‰ ์—ฐ๊ฒฐํ•ด์•ผ์ง€ ! ! ! ! ! ๋‘๋‘ฅ 'mysql'์€(๋Š”) ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ ๋ช…๋ น, ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ, ๋˜๋Š” ๋ฐฐ์น˜ ํŒŒ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. MySQ

infdw.tistory.com

 

 

2. SQL_MODE ์„ค์ •

Windows OS์˜ ๊ฒฝ์šฐ SQL_MODE ๊ธฐ๋ณธ ์˜ต์…˜์ด ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

ํ˜‘์—… ์‹œ ๋˜๋Š” ์„œ๋ฒ„์— ์˜ฌ๋ฆฐ DB์™€ ์„ค์ •์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ์‚ฝ์งˆ์„ ํ”ผํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด์ฃผ๊ณ  ์‹œ์ž‘ํ•˜๋Š” ํŽธ์ด ํŽธํ•˜๋‹ค.

 

SQL_MODE ์„ค์ • ๋ฐฉ๋ฒ•์€ ์ด ํฌ์ŠคํŠธ์—์„œ ์„ค๋ช…ํ•ด๋‘์—ˆ๋‹ค.

 

 

[MySQL] ONLY_FULL_GROUP_BY ์—๋Ÿฌ

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ GROUP BY๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Query์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. "Expression #20 of SELECT list is not in GROUP BY clause and contains nonaggregated column '์ปฌ๋Ÿผ๋ช…' which is not..

infdw.tistory.com

 

+ Recent posts