사이드 프로젝트 3일차

고성욱·2023년 3월 22일
1

안드로이드

목록 보기
24/26

회원가입 화면 만들기

<?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"
    android:background="#164A8A"
    tools:context=".MainActivity"
    android:layout_gravity="center"
    android:focusableInTouchMode="true">

    <RelativeLayout
        android:id="@+id/relativeLayout"
        android:layout_width="308dp"
        android:layout_height="482dp"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:layout_marginBottom="100dp"
        android:elevation="10dp"
        android:background="@drawable/edittext_background"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.49"
        app:layout_constraintStart_toStartOf="parent">

        <LinearLayout
            android:layout_width="298dp"
            android:layout_height="473dp"
            android:layout_marginStart="10dp"
            android:layout_marginTop="10dp"
            android:layout_marginEnd="10dp"
            android:layout_marginBottom="10dp"
            android:orientation="vertical">

            <TextView

                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:layout_marginStart="68dp"
                android:layout_marginTop="22dp"
                android:gravity="center_horizontal"
                android:lineSpacingExtra="10sp"
                android:text="Create an Account"
                android:textColor="#004648"
                android:textSize="20sp"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/edt_id"
                android:layout_width="match_parent"
                android:layout_height="70dp"
                android:layout_marginTop="20dp"
                android:hint="ID"></EditText>

            <EditText
                android:id="@+id/edt_pw"
                android:layout_width="match_parent"
                android:layout_height="70dp"
                android:layout_marginTop="20dp"
                android:hint="Password"></EditText>

            <EditText
                android:id="@+id/edt_major"
                android:layout_width="match_parent"
                android:layout_height="70dp"
                android:layout_marginTop="20dp"
                android:hint="전공"></EditText>

            <EditText
                android:id="@+id/edt_place"
                android:layout_width="match_parent"
                android:layout_height="70dp"
                android:layout_marginTop="20dp"
                android:hint="근무지"></EditText>

        </LinearLayout>

    </RelativeLayout>

    <androidx.appcompat.widget.AppCompatButton
        android:id="@+id/button"
        android:layout_width="300dp"
        android:layout_height="48dp"
        android:layout_marginTop="20dp"
        android:background="@drawable/button_white"
        android:text="Sign up"
        android:textColor="#004648"
        android:textSize="18sp"
        app:layout_constraintEnd_toEndOf="@+id/relativeLayout"
        app:layout_constraintStart_toStartOf="@+id/relativeLayout"
        app:layout_constraintTop_toBottomOf="@+id/relativeLayout" />

</androidx.constraintlayout.widget.ConstraintLayout>
  • XML 코드!
  • 아래는 코드의 결과!
    • 아래는 액티비티 코드! (각자의 기능 구현은 서버를 구성하고 연결해줄 예정이다)

AWS서버 구성

개발환경

  • mac os (13.0 Ventura)
  • AWS EC2 로 서버 생성

AWS - EC2 기본 사용법

  • 위의 영상을 참고 하여 생성

목표

  • Django 를 서버에 띄우기
  • Android App을 통해 서버 접속할 수 있게 한다.

AWS

간단한 설명 그림

사용하려는 이유

  1. 확장성이 좋다
  2. 탄력성이 좋다
  3. 높은 접근성
  4. 장애 허용성

인스턴스 생성

  • 인스턴스 시작버튼을 눌러서 생성한다.

Server 선택

20.04 버전 우분투 사용

인스턴스 유형은 t2.micro

Amazon Linux 와 Ubuntu의 차이점

  • 아마존은 돈만 낸다면 어떤 지원이든 편하게 받을수 있다
  • Ubuntu는 많은 개발자들이 전세계에 있기 때문에 Stack overflow나 여러 개발 커뮤니티에서 도움을 얻을수 있다

→ Ubuntu를 선택하게 되었다.

인스턴스는 1개로 정했다. ₩(인스턴스란 클라우딩 컴퓨터이며, 갯수를 늘리면 컴퓨터의 갯수도 늘어난다.)

인스턴스 생성 완료

인스턴스 생성이 완료 되었다.

중요!

키페어를 생성 했다면 키페어 파일이 다운로드 된다.

나중에 이 파일을 잃어버리게 되면 다시는 인스턴스에 접속 할수 없게 되니 잃어버리지 않도록 하자.

연결 하기

연결 버튼을 누른다.

연결 성공

  • 이 화면에서 인스턴스들을 운용, 사용할수 있다.
  • 사용하고 있는 컴퓨터에서 사용하려면 SSH 클라이언트 기능을 사용하면 된다.

누구나 접속 할수 있도록 설정하기

  • sudo apt update 명령어를 이용하여 최신버전으로 업데이트 시켜준다

  • sudo apt install apache2 를 통해 apache를 설치하면 내게 주어진 웹서버 주소를 통해 누구나 내가 만든 서버로 접속 할 수 있게 된다.
  • 이제 나에게 주어진 IP주소를 입력하면 접속 할수 있다.

접속방법

  • 바로 접속은 안된다. → 방화벽 설정을 끝내야 사용가능 (웹에서 사용하는 80번 포트를 안열었기 때문)

  • 인바운드 규칙
    • 최소한으로 열어야 한다
  • 아웃바운드 규칙
    • 전체 가 열려있어야 한다.

인바운드 규칙을 추가하고, HTTP로 설정한다음 0.0.0.0/0 까지 지정해주면 어떤 IP든지 접속할수 있도록 하게 된다.

다시 한번더 접속하게 되면 아래처럼 나오게 된다.

접속성공

가격

1년동안은 프리티어로 무료로 사용가능 하다.

무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어

이 페이지에서 1년이 지난후에 구매해야 한다. 서비스를 지속적으로 사용하려면 구매 필수…

profile
안드로이드, 파이썬 개발자

0개의 댓글