메신저봇R | 채팅로그를 불러올 수 있습니다.
[사용된 기능]
-
FileStream 파일스트림 -> 파일스트림이라는 내장 객체를 이용하여 핸드폰 내부에 문서를 만들고 저장한다. -> 봇을 컴파일해도 정보가 지워지지 않음. /* FileStream.write("/sdcard/{폴더이름}/{문서이름}", "{내용}") -> 내용을 다시 씀 FileStream.append("/sdcard/{폴더이름}/{문서이름}", "{내용}") -> 내용을 추가함 FileStream.read("/sdcard/{폴더이름}/{문서이름}") -> 문서의 내용을 불러옴 FileStream.remove("/sdcard/{폴더이름}/{문서이름}") -> 문서의 내용을 초기화 const Fs = FileStream; 으로 지정해두면 사용하기 편리하다. */
-
배열 [] -> 변수에 칸막이를 설치한 것이라 생가가면 편함. -> JavaStript에는 배열의 길이에 제한이 없다. (사용 시 위치를 알려줘야함) /* var arr = []; arr.push(2); // 배열의 가장 뒤에 4 추가 arr.unshift(2); // 배열의 가장 앞에 4 추가 arr.pop(); // 배열의 가장 뒤의 항목을 제거 arr.shift(); // 배열의 가장 앞의 항목을 제거 arr.split({A}); // 배열을 A를 기준으로 하여, A를 제외하고 나눔 var arr = "123456789"; arr.split("4"); // arr = ["123", "5678"] arr.reverse(); // 배열의 순서를 뒤집음 arr.join({A}); // 배열의 각 항목을 A로 연결하여 문자열로 출력 var arr = ["1", "2". "3"]; arr.join("a"); // arr = "1a2a3a"
arr.slice("A"); // 문자열을 A를 기준으로 자르고, 배열로 변환 (이 때 A는 사라짐) --> */
- isNaA(value) --> 숫자면 false, 숫자가 아니면 true
[작동과정]
- 문자를 받음
- [보낸사람 + 현재시각 + 문자내용]을 배열에 저장 -> 만약 배열의 길이가 일정길이를 넘으면 오래된 것부터 삭제
- 배열을 방 이름의 문서에 저장
- 반복
[목적] <.로그 {숫자}>의 형태로 원하는 만큼만 불러오고 싶음
[문제점] 20210107
- 배열을 파일스트림에 저장하는 과정에서 문제 발생
- 원하는 만큼을 불러옴과 동시에 파일스트림에 저장하는 법을 모름
[문제점] 20210110
- 파일스트림에 배열을 저장하는 방법을 모름
[완성] 20210111 -> 원하는만큼 로그를 불러오는 것을 성공함
[완성] 20210129 -> 원하는 방 로그 불러오기
=> 없는 방의 내용을 불러오려 할 때 오류내용 표시 기능 추가예정 오류 내용을 통합하지 말고 ~부분에 ~오류가 생기는지 판단
[원리]
- 메시지가 옴
- 해당 방을 이름으로 하는 문서에 내용 추가
- .로그 입력 시 문서의 내용을 임시 배열에 저장 (slice기능으로 특정 부분을 자름)
- 로그에 적은만큼만 가져옴
- 4번 내용을 내보냄
- 3번의 임시배열 초기화