728x90
안녕하세요! 이번 포스팅에서는 버튼을 눌러 새로운 랜덤숫자를 뽑고, 현재 랜덤숫자를 공유하는 앱을 만들어보겠습니다.
앱은 안드로이드 28 버전에서 구현 및 테스트되었습니다.
먼저, 레이아웃입니다.
activity_share.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:gravity="center"
android:orientation="vertical"
tools:context=".ShareNumberActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="랜덤 숫자"
android:textColor="@color/black"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/black"
android:paddingHorizontal="10dp"
android:paddingVertical="5dp"
android:text="1234"
android:textColor="@color/white"
android:textSize="20sp" />
<Button
android:id="@+id/btn_new_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="새로운 랜덤숫자 만들기" />
<Button
android:id="@+id/btn_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="공유하기" />
</LinearLayout>
Math.random() 메소드를 사용해서 랜덤숫자를 새로 만드는 기능을 만들어보겠습니다.
int number = (int) (Math.random() * 10000);
tvNumber.setText(String.valueOf(number));
메세지를 공유하는 share() 메소드를 만들어보겠습니다.
스틱코드를 통해 빠르게 코드를 입력할 수 있습니다.
[AOS][Java] 인텐트 사용하기 - Stickode
void share(String content) {
Intent intent = new Intent(Intent.ACTION_SEND)
.setType("text/plain")
.putExtra(Intent.EXTRA_TEXT, content);
Intent chooser = Intent.createChooser(intent, "랜덤숫자 공유하기");
startActivity(chooser);
}
액티비티 전체 코드입니다.
ShareNumberActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import java.util.Locale;
import java.util.Random;
public class ShareNumberActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share);
findViewById(R.id.btn_share).setOnClickListener(this);
findViewById(R.id.btn_new_number).setOnClickListener(this);
}
void share(String content) {
Intent intent = new Intent(Intent.ACTION_SEND)
.setType("text/plain")
.putExtra(Intent.EXTRA_TEXT, content);
Intent chooser = Intent.createChooser(intent, "랜덤숫자 공유하기");
startActivity(chooser);
}
@SuppressLint("NonConstantResourceId")
@Override
public void onClick(View v) {
TextView tvNumber = findViewById(R.id.tv_number);
switch (v.getId()) {
case R.id.btn_share:
String message = "[랜덤숫자 생성기]\n랜덤숫자는 '" + tvNumber.getText().toString() + "'입니다.";
share(message);
break;
case R.id.btn_new_number:
int number = (int) (Math.random() * 10000);
tvNumber.setText(String.valueOf(number));
break;
}
}
}
이렇게 쉽게 랜덤숫자를 생성하고 공유하는 앱을 만들 수 있었습니다.
'안드로이드 자바' 카테고리의 다른 글
[Java][Android] 안드로이드 웹브라우저 화면 구성 (0) | 2021.11.15 |
---|---|
[JAVA][Android] 비트맵 string으로 변환하기 (0) | 2021.11.14 |
[JAVA][Android] Splash 화면 만들기 (0) | 2021.11.10 |
[Java][Android] retrofit + 리사이클러뷰 만들기 (0) | 2021.11.09 |
[JAVA][Android] 죽지않는 서비스(Immortal Service) (0) | 2021.10.31 |