Ⅰ. 화면 만들기
1. gradle 에 volley라이브러리 추가해주기 (전송 등을 담당하는 라이브러리)
2. textview를 constraintlayout에 추가해주고 ,스프링연결한뒤 마진값인 8을작성
맨위의 helloworld htextview탑 마진은 100
텍스트별로 크기, id, 네임 수정
다닥다닥 붙어있는게 싫으면, top margin값 변경해주면됨
3개이상으로해줘야 에러가 안남
회원가입 화면 만들기
registerActivity만들어주고,
xml에 design탭 이용해서 다음과 같이 만들어주면됨
위에서 마진값 설정하고 똑같다는 의미로 연결
로그인 화면 만들기
Loginactivity생성
text - plaintext사용함
순서상으로
1. loginactivity 띄우기
1-1 : 회원가입 registeractivity
1-2 : 로그인
manifest에 권한주기
<uses-permission android:name="android.permission.INTERNET"/>
intentfilter 를 loginactivity로 옮겨주기 : 처음 실행하는 액티비티로 만들기위해서
IntentFilter란?
Intent는 명시적 인텐트와 암시적 인텐트로 나뉩니다. 그중 암시적 인텐트를 통해 사용자로 하여금 어느 앱을 사용할지 선택하도록 하고자 할때 IntentFilter가 필요합니다.
- ACTION_MAIN 작업은 이것이 주요 진입 지점이며 어느 인텐트 데이터도 기대하지 않는다는 것을 나타냅니다.
- CATEGORY_LAUNCHER 카테고리는 이 액티비티의 아이콘이 시스템의 앱 시작 관리자에 배치되어야 한다는 것을 나타냅니다. <activity> 요소가 아이콘을 icon으로 지정하지 않은 경우, 시스템은 <application> 요소로부터 가져온 아이콘을 사용합니다.
이들 두 가지가 짝을 이루어야 액티비티가 앱 시작 관리자에 나타날 수 있습니다.
출처: https://www.charlezz.com/?p=859
manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.registerloginexample">
<!-- 인터넷권한선언-->
<uses-permission android:name="android.permission.INTERNET"/>
<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.RegisterLoginExample">
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".RegisterActivity" />
<activity android:name=".MainActivity">
</activity>
</application>
</manifest>
Ⅱ. 서버 연동
무료 호스팅 사이트 : 닷홈
FileZila설치
(이미 설치되어있어서 스킵)
- 연결하기 (예시)
사용자명에 ftp 아이디,비밀번호에 ftp비번 입력하면됨 (휴대폰노트에 적어둬써 확인혀)
php my admin 프로그램을 이용한mysql이 설치가 되어있으서 db연동가능
https://bit.ly/2XfDPYr - Login.php
https://bit.ly/2YrY4TS - Register.php
파일 다운로드해서 (아이디 비번 넣어주고 )html파일에 넣어주기 (php에 대한 수업은 안해서 그냥 파일다운로드 하라고함)
Login.php
<?php
$con = mysqli_connect("localhost", "hongdroid94", "password", "hongdroid94");
$표시 붙이면 변수선언임
mysqli_query($con,'SET NAMES utf8');
$userID = $_POST["userID"];
$userPassword = $_POST["userPassword"];
$statement = mysqli_prepare($con, "SELECT * FROM USER WHERE userID = ? AND userPassword = ?");
mysqli_stmt_bind_param($statement, "ss", $userID, $userPassword);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $userID, $userPassword, $userName, $userAge);
$response = array();
$response["success"] = false;
while(mysqli_stmt_fetch($statement)) {
$response["success"] = true;
$response["userID"] = $userID;
$response["userPassword"] = $userPassword;
$response["userName"] = $userName;
$response["userAge"] = $userAge;
}
echo json_encode($response);
?>
Register.php
<?php
$con = mysqli_connect("localhost", "hongdroid94", "password", "hongdroid94");
mysqli_query($con,'SET NAMES utf8');
$userID = $_POST["userID"];
$userPassword = $_POST["userPassword"];
$userName = $_POST["userName"];
$userAge = $_POST["userAge"];
$statement = mysqli_prepare($con, "INSERT INTO USER VALUES (?,?,?,?)");
mysqli_stmt_bind_param($statement, "sssi", $userID, $userPassword, $userName, $userAge);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;
echo json_encode($response);
?>
아이디와 비번 삽입
http://아이디.dothome.co.kr/myadmin/
접속!
아 개빡친다
이 오류 떠서 ... 진행이 안됨
도저히 해결방법 못찾겠음
일단 중단
31 : 17
'✍2021,2022 > app(android studio)' 카테고리의 다른 글
앱만들기 (캘린더) - 진행 中 (0) | 2021.08.03 |
---|---|
앱만들기.30(Broadcastreceiver) (0) | 2021.08.03 |
앱만들기29.(RelativeLayout) (0) | 2021.08.03 |
앱만들기.27(LinearLayout) (0) | 2021.08.02 |
앱만들기.26(Selector) (0) | 2021.07.30 |