'프로그래밍 > C언어' 카테고리의 다른 글
함수 포인터 (0) | 2015.11.24 |
---|---|
[visual studio 2013] scanf_s에서 s없애기와 freopen (0) | 2015.10.24 |
Visual Studio 설치시 설정 및 Hello world! (0) | 2015.09.11 |
구조체 포인터의 선언과 접근( -> ) (0) | 2015.09.07 |
구조체 선언에 typedef 사용하기 (0) | 2015.09.07 |
함수 포인터 (0) | 2015.11.24 |
---|---|
[visual studio 2013] scanf_s에서 s없애기와 freopen (0) | 2015.10.24 |
Visual Studio 설치시 설정 및 Hello world! (0) | 2015.09.11 |
구조체 포인터의 선언과 접근( -> ) (0) | 2015.09.07 |
구조체 선언에 typedef 사용하기 (0) | 2015.09.07 |
-클래스의 구조
class class_name {
//필드 정의
data_type field1;
...
//메소드 정의
return_type method1(parameter) { ... }
...
}
클래스(class) : 자신만의 변수와 함수를 가지고 있는 자료형
객체(object) : 클래스를 통해 생성되는 인스턴스(instance)
필드(field) : 클래스 내의 멤버 변수. 필드는 메소드 밖에서 선언하며 같은 클래스 내부에서 모든 메소드가 직접 접근이 가능하다. 접근 지정자를 통해 외부 클래스로의 접근을 조절할 수 있다.
메소드(method) : 클래스 내의 멤버 함수. 필드가 아닌 일반 변수를 메소드 내부에 사용할 경우, 지역 변수가 되어 메소드 내에서만 유효하다. public 메소드의 경우 외부 클래스에서 호출이 가능하다. static이 지정된 메소드는 선언된 클래스의 객체를 생성하지 않고 호출할 수 있다.
-객체의 생성
class_name object; //참조 변수 선언
object = new class_name(); // 객체를 생성하고 참조값을 참조 변수에 저장
먼저 지정된 클래스는 객체의 주소를 저정할 객체 참조 변수를 생성한다.
new 예약어는 클래스 타입의 객체 메모리 공간을 할당하여 객체를 생성한다.
-메시지 전달
메시지(message) : 객체와 객체간의 상호 작용을 하기 위한 통신 메카니즘.
object.filed // 객체에 포함된 필드 참조
object.method(parameter) // 객체에 포함된 메소드
객체의 외부에서 객체에 포함된 속성과 메소드를 참조하려면 도트(.) 연산자를 사용한다.
//클래스의 구조
class Car{
String name;
String color;
int engine;
public void displayCar() {
System.out.println("차이름 : " + name);
System.out.println("차색깔 : " + color);
System.out.println("배기량 : " + engine + "CC");
}
}
public class Example303 {
public static void main(String[] args) {
//객체의 생성
Car myCar;
myCar = new Car();
//메세지 전달
myCar.name = "sonata";
myCar.color = "black";
myCar.engine = 2000;
myCar.displayCar();
}
}
Java Native Interface (0) | 2016.08.04 |
---|---|
변수 (0) | 2016.05.04 |
hello world (0) | 2016.05.04 |
리눅스에 자바 설치 및 실행 방법 (0) | 2016.02.13 |
-변수
데이터를 저장하는 공간
사용 전에 변수를 선언하여야 한다.
자료형 이름
-문자열 변수
문자열은 문자 상수가 하나 이상 모여서 연속된 형태를 구성하며 끝에는 널 문자('\0')가 포함되어 있다.
기본 자료형은 아니지만 String 타입을 이용하여 문자열 변수를 선언할 수 있다.
String 클래스는 문자열을 처리하기 위해 java.lang 패키지에서 제공하는 클래스이다. String 클래스로 생성된 문자열은 문자의 변경이 불가능한 문자열 상수이다.
public class Example202{
public static void main(String[] args){
int num1, num2, sum;
String sentence = "The calculate is completed.";
num1 = 10;
num2 = 20;
sum = num1 + num2;
System.out.printf("num1 = %d, num2 = %d \n sum = %d\n", num1, num2, sum);
System.out.println(sentence);
}
}
Java Native Interface (0) | 2016.08.04 |
---|---|
객체 (0) | 2016.05.04 |
hello world (0) | 2016.05.04 |
리눅스에 자바 설치 및 실행 방법 (0) | 2016.02.13 |
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!!");
}
}
- 메인 클래스
자바 프로그램에는 반드시 메인 클래스가 존재해야 함.
public class 프로그램의_파일_이름
- 메인 메소드
메인 클래스에는 메인 메소드가 반드시 존재함.
프로그램 실행 시 자바 가상머신에 의해 자동으로 실행
public static void main(String[] args)
- 표준 출력 방법
System.out.print()
System 클래스: 자바 라이브러리를 통해 표준 입출력의 기능을 제공함.
out 스트림: 표준 풀력을 위해 시스템과 연결된 콘솔 창으로 데이터를 내보내는 역할을 수행.
표준 출력 메소드: print(), println(), printf()
Java Native Interface (0) | 2016.08.04 |
---|---|
객체 (0) | 2016.05.04 |
변수 (0) | 2016.05.04 |
리눅스에 자바 설치 및 실행 방법 (0) | 2016.02.13 |
안드로이드 강의
https://www.youtube.com/watch?v=bLpXq2HM3kY&list=PLG7te9eYUi7vXZf7O6Fd2YCnJlx5YG9qq&index=5
1. 단순 버튼 이벤트
: 버튼을 만들고 눌렀을 때 "버튼을 눌렀어요"라는 표시하기
- xml 레이아웃 파일의 버튼 속성값 넣기
- java 파일에 이번트 처리 메소드 추가하기
error
http://stackoverflow.com/questions/23708451/error-cannot-find-symbol-class-view
또는 auto import(책 p.63)
2. 버튼에 여러 기능 추가하기
: 버튼을 눌렀을 때 인터넷 접속과 전화걸기 등의 기능 구현
- xml 레이아웃 파일의 버튼 속성값 넣기
- java 파일에 이번트 처리 메소드 추가하기
3. 새로운 화면 만들어 띄워주기
- 새로운 레이아웃 만들기
- 새로운 액티비티 만들기
- 매니페스트에 태그 추가하기
새로운 액티비티를 만들고 나면 매니페스트라는 파일 안에 그 정보를 추가해야 한다.
- 새로운 액티비티 시작 코드 넣기
activity_main.xml 파일을 열고 화면에 세번 째 버튼을 하나 더 추가한다.
메인 액티비티인 MainActivity.java 파일을 열고 세 번째 버튼을 눌렀을 때 실행되는 메소드를 추가한다.
안드로이드 스튜디오 설치하기 (0) | 2016.02.08 |
---|
설치 방법
http://ngee.tistory.com/276
실행 방법
http://gangsanilee.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90%EC%84%9C-JAVA-%EC%8B%A4%ED%96%89-%ED%95%98%EA%B8%B0
Java Native Interface (0) | 2016.08.04 |
---|---|
객체 (0) | 2016.05.04 |
변수 (0) | 2016.05.04 |
hello world (0) | 2016.05.04 |
우분투 14.04 한영 변환
http://ngee.tistory.com/326
크롬 다운 로드
https://www.google.co.kr/chrome/browser/desktop/
root 접근 방법
http://ngee.tistory.com/274
Foreground & Background (0) | 2016.07.10 |
---|---|
ps (0) | 2016.07.10 |
부트로고 변경하기 (0) | 2016.02.12 |
api 천국 (0) | 2016.02.12 |
system() 함수 (0) | 2016.02.11 |
http://www.rasplay.org/?p=6371
ps (0) | 2016.07.10 |
---|---|
우분투 설치 및 초기 기본 설정 (0) | 2016.02.12 |
api 천국 (0) | 2016.02.12 |
system() 함수 (0) | 2016.02.11 |
파일 및 폴더 이동 명령어 - cp , mv (0) | 2016.02.09 |
https://market.mashape.com/explore?sort=developers
사전
https://en.glosbe.com/a-api
http://bakyeono.net/post/2015-08-27-glosbe-api-client.html
https://developers.naver.com/products/search
우분투 설치 및 초기 기본 설정 (0) | 2016.02.12 |
---|---|
부트로고 변경하기 (0) | 2016.02.12 |
system() 함수 (0) | 2016.02.11 |
파일 및 폴더 이동 명령어 - cp , mv (0) | 2016.02.09 |
vi 에디터 꾸미기 (0) | 2016.02.09 |
초기 소스
다시 만든 소스
listening (sox program) -> stt(google speech api) -> reply (simimi api) -> tts (voicerss api) -> speak (mpg123 program)
**사용 방법
1. 다운 받는다.
2. (루트 계정으로) gcc -o main main.c
3. ./main
아무 폴더에 넣어도 됨.
실행하려면 녹음 프로그램인 sox랑 mp3파일 재생 프로그램인 mpg123을 설치해야 된다.
$ apt-get install sox mpg123
실행하면 txt파일이랑 wav, mp3파일들이 생긴다.
여기서 생성되는 txt파일에 사용자의 문장과 로봇이 대답하는 문징이 있고 이걸 이용해서 화면에 나타내면 될 것 같다.
지금 실행하면 대답이 안나오는데, 그 이유가 simsimi 무료 버전은 하루에 100번 사용 가능한데 내가 다 써버렸어 ㅠㅜ...
대답해주는 프로그램으로 simimi 말고 다른걸 찾아봐야겠다.
stt랑 simimi api 받아오는데 너무 오래걸려서 전체적으로 느리기때문에 시리우스 해보고 있다 ㅋㅋㅋㅋ
http://sirius.clarity-lab.org/sirius/
녹음 (0) | 2016.07.01 |
---|---|
마이크 녹음 하기 (0) | 2016.02.12 |
test to speech (0) | 2016.02.12 |
google speech to text (0) | 2016.02.10 |
링크 (0) | 2016.02.08 |