์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- CS
- ์นด์นด์ค์ฝํ
- ์๋๋ก์ด๋
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ์ค๋ธ์
- ํผ๊ณตํ
- ํผ๊ณต์ฑ๋ฆฐ์ง
- ํ๋ก๊ทธ๋๋จธ์ค
- MySQL
- SQL
- ์ฝํ๋ฆฐ
- groupby
- Android
- Kotlin
- ์ ์ฒ๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- ๊ธฐ์ ๋ฉด์
- ์๋๋ก์ด๋์คํ๋์ค
- java
- ์๋ฃ๊ตฌ์กฐ
- Til
- ํผ๊ณต๋จ
- ์๋ฐ
- ์คํฐ๋
- join
- ์ฝํ
- select
- doitandroid
- ์ธํ๋ฐ
- Today
- Total
Welcome! Everything is fine.
[TIL] 220112 ๋ณธ๋ฌธ
๐ป Today I Leaned...
๐ ์๋๋ก์ด๋ ์ ๋ฌธ
์ด๋ฏธ์ง ๋ณด์ฌ์ฃผ๊ธฐ
Bitmap์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ ๊ฐ์ฒด์ด๋ค. ์๋ ์ฝ๋์์๋ ์๋ตํ์ง๋ง ์ด๋ ๊ฒ import๋ฅผ ํด์ผ ์ฌ์ฉํ ์ ์๋ค.
import android.graphics.Bitmap;
์ฌ์ฉํ ์ด๋ฏธ์ง๋ฅผ drawable ํด๋์ ๋ฃ์ผ๋ฉด R.drawable.์ ํ์ ๋ ํด๋น ํ์ผ์ด ๋ณด์ธ๋ค. ํ์ผ์ bitmap ๋ฆฌ์์ค๋ก ๊ฐ์ ธ์ค๋๋ก ํ ๊ฒ์ด๋ค. ๋ canvas.drawBitmap(bmp, x:0, y:0, paint:null)์ ์ ์ด์ค๋ค.
public class sampleView extends View{
private Paint paint = new Paint();
private Bitmap bmp;
public sampleView(Context context) {
super(context);
setBackgroundColor(Color.WHITE);
Resources res = context.getResources();
bmp = BitmapFactory.decodeResource(res, R.drawable.gom);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
paint.setTextSize(50);
canvas.drawText("Hello world!", 10, 100, paint);
canvas.drawBitmap(bmp, 0, 0, null);
}
}
์๋๋ Bitmap์ผ๋ก ๊ทธ๋ฆฐ ์ด๋ฏธ์ง๋ค.
xml์ ์ด์ฉํด์๋ ๊ฐ๋ฅํ๋ค. xml์ ์ ์๋ฅผ ํด์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค. layout - activity_main.xml ์ ๋ค์ด๊ฐ๋ค. ์๋ ์ฝ๋์ ๊ฐ์ด <ImageView>๋ก ํ์ผ ๋ถ๋ฌ์ค๋ ๊ฒ์ด๋ค. width์ height์ match_parent๋ก ํ ๊ฒ์ ์ ์ฒดํ๋ฉด์ ๊ฝ ์ฑ์ฐ๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/gom"/>
์๋๋ xml๋ก ๊ทธ๋ฆฐ ์ด๋ฏธ์ง๋ค.
MP3 ํ๋ ์ด์ด ๋ง๋ค๊ธฐ
- ์ค์ํ ๊ฒ → manifests / MainActivity / layout
- layout์ ํ๋ฉด์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๋์ง๋ฅผ ์๋ฏธํ๋ค.
- ๋ง์ฝ layout์์ ๋ฒํผ์ ๋ง๋ ๋ค๋ฉด, ๊ทธ ๋ฒํผ์ด ๋์๋๋ ํจ์๋ MainActivity์์ ๋ง๋ ๋ค.
์๋ ์ฝ๋๋ xml์ ์ฝ๋์ ์ผ๋ถ๋ถ์ด๋ค. ์ด๋ ๊ฒ TextVeiw๋ก ํ ์คํธ๋ฅผ ๋ง๋ค๊ณ , ํฌ๊ธฐ๋ฅผ ์ ํ๊ณ ์ ๋ ฌํ๋ค. ๋ํ id์ hellobutton์ด๋ผ๋ id๋ฅผ ๋ถ์ฌํ๋ค.
<TextView
android:id="@+id/hellobutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play"
android:textSize="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
layout์ activity_main.xml์์ ๋ฒํผ์ ๋ง๋ ํ, MainActivity์์ TextView tv๋ฅผ ๋ง๋ ๋ค. ๊ฒ์ํด๋ณด๋ findViewById()๋ฅผ ์ฌ์ฉํ๋ฉด xml์์ ์ ์ฉ์ํจ ๊ธ์๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์์ ๋ฐ๊พธ๊ฑฐ๋, ํฌ๊ธฐ๋ฅผ ์ ์ฉ์ํค๋ ๋ฑ์ ๋ฉ์๋๋ฅผ ์ง์๋ฐ์ ์ ์๋ค๊ณ ํ๋ค. ๋ tv.SetOnClickListener()๋ TextView๋ฅผ ํด๋ฆญํ์ ๋ ()์์ ์๋ ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ๋ค๋ ์๋ฏธ๋ก, ํ ์คํธ๋ฅผ ํด๋ฆญํ๋ฉด ํ ์คํธ๊ฐ 'Stop'์ผ๋ก ๋ฐ๋๋ฉฐ ์์ ์ด ๋์ค๊ณ , ๋ค์ ํด๋ฆญํ๋ฉด ํ ์คํธ๊ฐ 'Start'๋ก ๋ฐ๋๋ฉฐ ์์ ์ด ๋ฉ์ถ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ค.
package com.example.mp3player;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView tv;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mp = MediaPlayer.create(this, R.raw.bomber);
mp.setLooping(false);
tv = (TextView) this.findViewById(R.id.hellobutton);
tv.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
if(!mp.isPlaying()){
mp.start();
tv.setText("Stop");
} else{
mp.pause();
tv.setText("Start");
}
}
});
}
}
๐ ์ํ์ฝ๋ฉ - DATABASE2 - MySQL
SQL์ INSERT ๊ตฌ๋ฌธ
๋ฐ์ดํฐ ์ถ๊ฐํ๊ธฐ & ์ถ๊ฐํ ๋ฐ์ดํฐ ๋ณด๊ธฐ
USE opentutorials๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๊ณ , SHOW TABLES๋ฅผ ์ด์ฉํ์ฌ ์ง๋๋ฒ์ ๋ง๋ 'topic' ํ ์ด๋ธ์ ํ์ธํ๋ค. ๋ํ DESC ํค์๋๋ฅผ ์ด์ฉํ์ฌ topic ํ ์ด๋ธ์ ๊ตฌ์กฐ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ณผ ์ ์๋ค.
๋ณต์กํด๋ณด์ด์ง๋ง ํ ์ด๋ธ ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ ๊ณผ์ ์ด๋ค. INSERT๋ฌธ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ , SELECT๋ฌธ์ ์ด์ฉํ์ฌ ์ถ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์๋ค. ์๋ ๊ฐ๋จํ INSERT๋ฌธ์ ๋ณด๋ฉด topic ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ INSERT ํ๊ฒ ๋ค๋ ๋ป์ด๋ฉฐ, ์ฒซ๋ฒ ์งธ ๊ดํธ ์์ ๋ค์ด์ค๋ column์ ์ด๋ฆ์ ๋๋ฒ์งธ ๊ดํธ ์์ ๋ค์ด์ค๋ values๊ฐ ๋ฌด์์ธ์ง ์๋ ค์ค๋ค. ๋ฐ๋ผ์ ๊ทธ ์์๊ฐ ์๋ก ๊ฐ์์ผํ๋ค.
INSERT INTO topic (title,description,created,author,profile) VALUES('MySQL','MySQL is...',
NOW(),'gom','developer');
์๋ SELECT๋ฌธ์ topic ํ ์ด๋ธ์ ์ถ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ค๋ค. ๋ด๊ฐ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋ฐ์ดํฐ๋ฅผ topic ํ ์ด๋ธ๋ก๋ถํฐ ์ ํํ์ฌ ๊ฐ์ ธ์ค๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.
SELECT * FROM topic;
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 220117 (0) | 2022.01.17 |
---|---|
[TIL] 220113 (0) | 2022.01.13 |
[TIL] 220111 (0) | 2022.01.11 |
[TIL] 220110 (0) | 2022.01.10 |
[TIL] 220109 (0) | 2022.01.09 |