마리아 DB + 안드로이드 연동에 대한 질문입니다.

마리아 DB + 안드로이드 연동에 대한 질문입니다.

작성일 2019.06.25댓글 1건
    게시물 수정 , 삭제는 로그인 필요

현재 프로젝트 진행중에 있는 고등학생입니다.

마리아 DB와 안드로이드, 서버를 연동하여

CCTV를 만드려는 시도 중에 있습니다.

아마 CCTV같은 경우 라즈베리 파이를 이용하여 서버쪽으로 데이터를 전송할 것 같고

서버에서 저장한 데이터를 안드로이드에서 불러오는 식으로 사용될 것 같습니다.

다만 제가 맡은 분야가 안드로이드 쪽이다 보니 서버에 대한 이해도가 부족하여

조원들간 소통이 굉장히 어려운 상황입니다 ㅠㅠ


안드로이드와 마리아DB는 어떻게 연동하는지,

데이터베이스에서 받은 값을 각각의 버튼으로 만들 수 있는지에 대해 고수님들께 질문드립니다.

가능하다면 어떻게 하는지에 대해 나와있는 링크자료도 첨부해주신다면 더없이 감사할 것 같습니다 ㅠ


-------------------만들고자 하는 어플은 이런식입니다---------------

데이터베이스
 버튼 이름  난이도 파워
버튼1   10  200
 버튼2  8  300
 버튼3  4  500


이런식으로 데이터베이스표를 만들어 저장한 뒤 이것들을 순서대로 받아와 버튼의 형태로 나열하려 합니다. 어떻게 코딩하면 이것이 가능할까요??


액션1) 버튼을 누르면 버튼 값에 따라 난이도 이펙트가 들어갑니다.
난이도 10이면 10에 해당하는 json 이펙트가 재생됩니다. 8이라면 8에 해당하는 이펙트가 재생됩니다.
이건 스위치문으로 제어하려고 합니다.

액션2)버튼1을 3번 누르면 누른 숫자대로 카운팅하여 200을 3번 더해 파워가 총 600인채로 저장할 수 있어야 합니다. 저장을 누르면 데이터베이스 값은 변하지않고, 누른값을 temp 변수에 더해 600이 된 값을 다른 액티비티 두 곳에서 텍스트뷰로 넘겨주어야 합니다. 이부분을 어떻게 해야 할 지 감이 오지 않습니다 ㅠㅠ

액션3) 텍스트 뷰를 넘겨받는 다른 액티비티 두 개중 하나는 받아온 텍스트뷰을 영구 저장 및 삭제가 가능하여야 하고, 텍스트뷰를 삭제시킬 경우 두 액티비티 모두에서 완전히 삭제되어야 합니다.
이거는 또 어떻게 해야 할까요.,


이정도만 해도 어플에 대한 고민이 좀 사라질 것 같습니다..,., 똑똑한 프로그래머분들 도와주셔요!!
 








#마리아 db #마리아 db 설치 #마리아 db 버전 확인 #마리아 유디나 #마리아 유튜브 #마리아 db 사용법 #마리아 db 접속 #마리아 db 다운로드 #마리아 db 테이블 생성 #마리아 db mysql 차이

profile_image 익명 작성일 -

마리아 DB와 안드로이드, 서버를 연동하여 CCTV 제작 관련 문의를 주셨습니다

헌데 질문을 쭉 읽어보다보니 하단에는 CCTV 와는 전혀 다른 내용을 질문하셨는데요

일단 질문 주신 내용을 기반으로 답변 드립니다

마리아DB 를 사용하기로 하셨으니 로컬 DB 는 아닌것 같습니다

즉, DB 는 서버에 두고 그 값을 서버와 클라이언트(안드로이드) 간 통신으로 주고 받는 구조를 생각하고 계신것 같습니다

영상을 서버 클라이언트간 전송하는 방식에는 스트리밍 방식이 있고 다운로드 방식이 있습니다

초급 단계에서 구현하기에는 난이도가 좀 있어 보입니다

스트리밍 방식으로 하시려면 스트리밍 서버를 우선 구축해야 합니다. 물론 서버측 담당자는 따로 있다고 하셨지만, 어떤 식으로 통신을 하려고 하는지 서버 파트 담당에게 물어본 후 거기에 맞추는것이 좋습니다

즉, 한가지 방법에 얽매이지 말고 해결할 수 있는 방법을 같이 결정해야 합니다

그 아래 버튼과 난이도 파워를 작성해서 질문해주신 내용을 답변드립니다

버튼 3개를 레이아웃에 우선 구성합니다.

이 3개의 값을 서버로부터 받아오기로 했으니 3개의 값에 대한 정의를 우선 가져옵니다

서버로부터 받는 형식을 json 으로 정하면 사용하기 편합니다

예를 들면 아래와 같은 형태가 되겠죠..

{buttonData:[{name:"버튼1", level:10, power:200},{name:"버튼1", level:8, power:300},{name:"버튼1", level:4, power:500}]}

그럼 클라이언트에서 받아온 값을 가지고 버튼을 동적으로 할당하시면 됩니다

LinearLayout 의 구성요소로 버튼을 넣는다는 가정하에 아래와 같이 구성하시면 됩니다

layout = (LinearLayout) findViewById(R.id.id_of_layout);

Button aButton = new Button(this);

aButton.setText("ButtonText");

aButton.setLayoutParams(new LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

layout.addView(aButton);

버튼 갯수는 서버에서 내려주는대로 그려야하므로 for 문으로 갯수만큼 돌리시면 됩니다.

액션2)액션3) 에 대해서도 질문해주셨는데요

액션2) 의 내용대로 구현하시려면

3번 누르고 저장버튼을 누른다고 하셨으니

3번 누르는 동안의 임시 값을 저장할 변수가 하나 필요하고,

저장버튼도 필요합니다.

버튼을 누를때마다 값을 임시 변수에 + 하여 계속 담으시고

저장 버튼을 누르면 값을 Intent 에 담아 다음 Activity 를 실행할때 전달해주시면 됩니다

(텍스트뷰를 전달하는게 아니고 값을 전달하는겁니다)

아래와 같이 샘플 코드 붙여드립니다

Intent intent = new Intent(getApplicationContext(), NextActivity.class);

intent.putExtra("power", tempValue);

startActivity(intent);

마찬가지로 전달한 값을 받아서 처리해주는 코드도 필요한데요.

아래와 같이 샘플 코드 붙여드립니다.

Intent intent = getIntent();

int power = intent.getExtras().getInt("power");

// power 변수의 값 활용

액션3) 에서 질문하신 영구 저장 및 삭제 기능은 아래 샘플 코드를 참조하세요

값 저장하기

SharedPreferences prefs = getSharedPreferences("PrefName", MODE_PRIVATE);

SharedPreferences.Editor editor = prefs.edit();

editor.putInt(KEY_VALUE_POWER, value);

editor.commit();

저장된 값 가져오기

SharedPreferences prefs = getSharedPreferences("PrefName", MODE_PRIVATE);

String text = prefs.getInt(KEY_VALUE_POWER, 0);

KEY_VALUE_POWER 는 임의의 변수명이며, 삭제는 0 을 저장해서 삭제 합니다.

그럼 잘 해결하시길 바랍니다

만들기(firebase DB연동 관련 질문입니다.)

안드로이드 스튜디오 앱개발 완전 초보입니다. 현재 상황은... 대한 모범 사례는 질문자님이 직접 찾아볼 필요가 있겠네요. 2. 그게 가장 편리하겠죠. 음악 파일 자체가 DB에...

안드로이드와 서버 연동에 대한 질문

... 제 코드는 일단 sqlite를 이용하여 gps 정보가 DB 파일로... 제가 하려는 공부가 안드로이드 쪽이 주 목적이... 작업 하시다가 더 질문이 있으시면 카페 QnA 게시판에 질문...

안드로이드 앱 개발 질문

... 많아서 질문을 하는데요. 실제로 제작해서 올린 적도 있습니다. 하지만 자바에 대한 지식이 없어서 이제부터라도 정석으로 시작할려고 합니다. 1. 안드로이드 자바 짤때 꼭...

firebase에 관한 질문입니다.

... 그안에 DB도 있고 자동으로 되는건가요??? 안드로이드 백앤드에 대한 설명과 firebase는 그 중 어떤 역할을... 제공하는 DB를 사용하셔야 되구요.. 연동은 별도로...

어플 제작에 대한 질문드립니다

... 외근때 고객 DB안드로이드 어플로 살펴본다거나 회사 내부적으로 중요한 업무에 대한 시간별 알림과 공지... 독학에 대한 부분에 초점을 맞추어 질문해보았습니다. 웹...