전체 글 48

안드로이드 - Firebase realtime database 이용하기 (쉬운예제)

FCM 관련 정보가 필요해서 이것저것 구글링 하다가 Firebase realtime database 라는 것을 알게되었다. 그래서 이번 글에서는 Firebase realtime database 에 대해서 내가 해 본 예제를 설명해 보겠다. 안드로이드에서 보낸 데이터를 Firebase Database를 이용해 저장해 볼 것이다. 우선 Android studio를 이용해 새로운 프로젝트를 만들어준다. 아래와 같이 코딩한다. package com.example.firebase_db_exam; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widg..

Android/활용 2020.04.10

안드로이드 FCM 활용하기! (푸시알림 보내기)

이번 글에서는 안드로이드에서 푸시알림 받는 방법에 대해서 간단하게 정리 해보겠습니다. 우선 안드로이드 스튜디오에서 하나의 프로젝트를 만듭니다. Empty Activity로 만들어 줍니다. 이름 설정해주시고 Finish 누릅니다. 이제 Firebase 콘솔 : https://console.firebase.google.com/ 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 우선 Firebase 홈페이지를 이용하기 위해서는 구글 계정이 필요하기에 로그인을 해주어야 합니다. 홈페이지에 들어가 [프로젝트 만들기] 버튼을 누릅니다. 버튼을 누르면 아래와 같은 화면이 뜰텐데 안드로이드스튜디오에서 만들었던 자신의 프로젝트 이름을 ..

Android/활용 2020.03.14

라즈베리파이 C - Android

라즈베리파이에서 서버를 열어 android에게 메시지를 받는것을 해보았다. #include #include #include #include #include #include #include #include #include #include #include #include #define MAXLINE 511 #define MAX_SOCK 1024 // 솔라리스의 경우 64 char *EXIT_STRING = "exit";// 클라이언트의 종료요청 문자열 char *START_STRING = "Connected to chat_server \n"; // 클라이언트 환영 메시지 int maxfdp1;// 최대 소켓번호 +1 int num_user = 0;// 채팅 참가자 수 int num_c..

Socket 2020.03.02

C (win) - Android

소켓통신 이용하여 "hello world" 문자열 보내보기 기존 C언어로 구성했던 window 환경에서 C-C 간의 채팅 소켓통신을 했던 C서버를 이용하고, python - android 에서 이용했던 android 클라이언를 이용하여 문자열, 문자, 숫자 이러한 것들을 클라이언트에서 window 에게 간단히 보낼 수 있는 (Client인 안드로이드에서는 서버가 보낸 메시지를 확인할 수 없음 코드변경 필요.) 것을 성공했다! 우선 C언어의 코드이다. 내 생각이지만 기본 C언어 서버로도 충분히 가능할 것 같다. recv하는 함수를 넣어주면 말이다. 하지만 기본에서는 recv 하는 함수 대신 send 하기 때문에 기본에서는 연결만 되고 끊기지 않나 생각이 든다. 그래서 recv 기능도 가능한 채팅 코드를 이..

Socket 2020.03.02

라즈베리파이 (python) - android

저번에 구성했던 android 와 같이 이번에는 라즈베리파이와 연결을 시도해 보았다. 코드는 저번 글에 있으므로 생략했다. 라즈베리파이에서는 python 코드에 있는 한글이 인코딩이 제대로 안되어 한글이 터미널에 안 떠 오류가 나는 듯 하여 영어로 바꾸어 주었다. 한글이 뜨게도 할 수 있겠지만 나중에 해볼 것이다. 아 그리고 서버의 주인이 라즈베리파이의 ip가 다른점을 고려하여 python 코드와 android 코드의 ip 주소 입력 부분을 일부 수정하였다. 우선 python 파일을 실행시켜주면 wating... 이라는 글과 함께 클라이언트의 접속을 기다린다. 그러면 이제 안드로이드에서 ip 입력을 하여 접속을 해보겠다. 접속을 하게되면 android studio 로그에서 확인을 할 수 있다. 아래와 같..

Socket 2020.02.24

라즈베리파이(리눅스) - win <C 언어>

아래의 코드를 사용하여 라즈베리파이에서 server.c 파일로 만들어 [ $ gcc server.c -o server ] 문구를 이용해 컴파일 해주면 실행파일이 만들어 진다. #include #include #include #include #include #include void error_handling(char *message); int main(int argc, char *argv[]) { int serv_sock; int clnt_sock; struct sockaddr_in serv_addr; struct sockaddr_in clnt_addr; socklen_t clnt_addr_size; char message[]="Hello World!"; if(argc!=2){ printf("Usage :..

Socket 2020.02.24

python 서버 android 클라이언트

https://blog.naver.com/rhrkdfus/221406909355 위의 블로그를 참고해 구현해 보았다. 간단하게 안드로이드에서 python서버에 접속해 데이터 값을 한번 받는 코드이다. activity_main.xml MainActivity.java package com.example.androidpython; import android.os.Handler; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import androidx.a..

Socket 2020.02.23

python 서버, python 클라이언트

python 으로 서버와 클라이언트 코드를 짠 후에 서로 메시지를 보내고 받는 것을 해보았다. from socket import * serverSock = socket(AF_INET, SOCK_STREAM) serverSock.bind(('', 8080)) serverSock.listen(1) connectionSock, addr = serverSock.accept() print(str(addr),'에서 접속이 확인되었습니다.') data = connectionSock.recv(1024) print('받은 데이터 : ', data.decode('utf-8')) connectionSock.send('I am a server.'.encode('utf-8')) print('메시지를 보..

Socket 2020.02.23

C server , C client 통신 기본예제

오렌지미디어 - 자료실의 예제를 참고 했다 #pragma comment(lib, "ws2_32.lib") #define _WINSOCK_DEPRECATED_NO_WARNINGS 갖갖이 오류들이 떠 위의 코드를 추가 - C Server - #pragma comment(lib, "ws2_32.lib") #define _WINSOCK_DEPRECATED_NO_WARNINGS #include #include #include void ErrorHandling(char* message); int main(int argc, char* argv[]) { WSADATA wsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr;..

Socket 2020.02.23

8. SharedPreferences

앱을 실행하고 text를 입력한 뒤에 뒤로가기를 통해 앱을 종료해도 그대로 저장이 되어있는 것을 구현 1. Linearlayout 을 설정, EditText 선언, id 부여 2. SharedPreferences sharedPreferences 함수 이용 키를 이용하여 생명주기를 하나 더 생성 onDestroy => activity를 벗어났을 때 호출 그리고 실행 onCreate : 앱 실행됐을 때 (불러오기) onDestroy : 앱 종료 됐을 때 (저장) 3. 실행 결과 "test"를 입력 후 종료 후 앱을 다시 실행해도 "test" 라고 저장이 되어 있음을 알 수 있다.

Android/Study 2020.02.12