쓰레드는 프로세스 여러 개가 동시에 같이 동작하게 하는 방법입니다. 인터넷 온라인 게임을 생각해 보면 쉽습니다. 각 쓰레드가 준비 또는 동작하고 있다가 어떤 이벤트에 의해 동작하도록 하는 것입니다. 채팅 프로그램 같은 경우에는 멀티쓰레드를 사용합니다.
참고로 파일 I/O나 데이터베이스를 제어할 때는 반드시 try~catch문을 사용해야 합니다. 아래 예제는 멀티 쓰레드를 사용하는 예제입니다. 일반적으로 main()이 포함된 클래스는 맨 마지막에 작성하는 것이 편리합니다.

■ MultiThreadMain.java
package firstpackage;
public class MultiThreadMain { 
   public static void main(String[] args) {
      Thread thread1 = new DigitThread(); 
      //DigitThread가 Thread를 상속 받았기 때문에 가능
      Thread thread2 = new StringThread();
      thread1.start();
      thread2.start();
      System.out.println("끝~~~~~~");
   }



■ DigitThread.java
package firstpackage;
public class DigitThread extends Thread {
// Thread를 상속받는다.
// 멀티 상속은 안되며 멀티상속은 인터페이스를 사용하면 된다.
   public void run(){
      for(int i=1; i<101; i++){
      System.out.println(i);
      try {
    Thread.sleep(500);
    } catch (InterruptedException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
    }
      }
   }
}

메소드 run()은 처음에 다른 이름으로 주고 테스트를 진행한 후에 이상이 없을 때 바꾼다.


■ StringThread.java
package firstpackage;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class StringThread extends Thread{   
   public void run(){       
      try {
    FileReader reader = new FileReader("c:/test.txt");
        //파일 입출력,DB 읽을 때 try문 반드시 포함해야 함
    while(true){
       int data = 0;
       try {
          data=reader.read();
       } catch (IOException e){
          e.printStackTrace();
       }
       char ch=(char)data;
       if(data == -1) // 데이터가 없으면의 뜻.
           break;
               System.out.println(ch);
       try {
           Thread.sleep(500);
       } catch (InterruptedException e) {
       // TODO Auto-generated catch block
          e.printStackTrace();
       }
    }
      } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    //e.printStackTrace();
    System.out.println(e);
      }   
   }
}

C드라이브의 루트에 메모장으로 test.txt 파일을 생성한 후 몇 줄의 내용을 입력해 놓아야 한다.



저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
자바 프로그램 이해 - 1  (0) 2011.10.12
Posted by 천왕지짐
이제는 메소드에 protected와 변수에 private를 붙여 접근 제한자를 사용하는 방법을 익혀보도록 하겠습니다.

■ HelloJava.java
package firstpackage;
public class HelloJava {
    public static void main(String[] args) {   
        HelloCalled obj = new HelloCalled();
        int aaa = obj.returnMeth();
        System.out.println("Total = "+aaa);
        int num1 = 33;
        int num2 = 67;
        System.out.println(obj.moveMeth(num1, num2));
    }
}


■ HelloJava1.java
package secondpackage;
import firstpackage.HelloCalled;
public class HelloJava1 {
    public static void main(String[] args) {
        HelloCalled obj = new HelloCalled();
    // obj.moveMeth(300,500); protected이면 이렇게 사용 불가        System.out.println(obj.moveMeth(400, 500));
    }
}


■ HelloCalled.java
package firstpackage;
public class HelloCalled {
    private int num;
    private String str;
    public void helloCalled(){
        this.num = 10;       
        this.str = "안드로이드"; 
    }
    public int returnMeth(){
        int sum = 0;
        for(int i = 1; i <= 10; i++){
    sum += i;
        }
        return sum;
    }
//같은 패키지 안이므로 상관 없다.
//protected int moveMeth(int num1, int num2){
    public int moveMeth(int num1, int num2){
        int sum = 0;
        sum = num1 + num2;
        return sum;
    }
}

혹시 이해가 되시는지요? ㅎㅎ




저작자 표시 비영리 변경 금지
신고

'자바(JAVA)' 카테고리의 다른 글

자바 실행파일(exe) 만들기  (5) 2011.10.24
자바 프로그램 이해 - 5  (0) 2011.10.24
자바 프로그램 이해 - 4  (0) 2011.10.24
자바 프로그램 이해 - 3  (0) 2011.10.24
자바 프로그램 이해 - 2  (0) 2011.10.13
자바 프로그램 이해 - 1  (0) 2011.10.12
Posted by 천왕지짐
요즘 PDF 사용이 일반화 되어 있는 것 같습니다. 예전에는 별도의 PDF 변환 툴을 사용했는데 이젠 아래한글에서 쉽게 변환이 되는군요. 혹시 모르는 분이 있을까 하여 소개합니다. 방법은 간단한데요...

1) 아래한글 2007 실행

2) 아래한글 문서 불러오거나 작성

3) 아래 아이콘 클릭



4) 변환이 되었으니 저장할 곳을 선택하고 저장



저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐
구글링을 하게 되면 가끔 나타나기도 하지만 네이버에서 검색해 보면 본인의 tistory 글이 잘 검색되지 않는 것 같습니다. 알고보니 네이버에 요청을 해야 되더군요...

1) tistory의 환경설정 - 기타설정의 RSS 부분에서 항목을 발행글, 전체공개로 해주세요.

2) 글관리에서 발행할 글을 선택한 후 상태를 발행으로 변경합니다.

3) RSS 발행이 되었는지 확인하기 위해서는 예를들어,  http://keechanfa.tistory.com/rss  브라우징해 봅니다.

4) 이상이 없음을 확인한 후

5) 네이버에 접속하여 로그인 한 후 메일문의 - 통합검색 - 블로그검색  - RSS 피드등록요청에 여러분의 tistory 블로그 주소를 기재하고 요청을 하면 되겠습니다.



저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐
이클립스를 사용하면서 시스템의 성능에 따라 코드 어시스트 기능을 사용하면서 잠시 멈추는 답답한 경우가 발생할 수 있는데 이때 자동 엑티베이션 기능을 해제하는 방법으로 해결할 수 있습니다. 물론 이 기능을 해제해도 Ctrl+Spacebar를 누르면 어시스트 기능은 사용됩니다.

window - preferences 에서 java - editor - Content Assist 에서 Enable Auto Activation의 체크 해제
 
하지만 이것은 근본적으로 해결하지는 못합니다. 버전이 올라가면 혹시 해결되어 있지 않을까 생각합니다.


저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐
이클립스를 사용하면서 테스트한 앱들은 모두 에뮬레이터에 설치되어 있는데 의외로 설치했던 앱들을 삭제하는 방법에 대해 궁굼해 하는 것 같습니다. 사실 보통 스마트폰을 사용하면서 설정 - 응용프로그램 - 응용프로그램관리에서 삭제하는 것 같은 방법이 똑같습니다.

굳이 명령 프롬프트상에서 삭제하고 싶다면 다음과 같이 하면 됩니다.

1) android 에뮬레이터 실행

2) 시작 - cmd 창을 열어 android sdk가 설치된 폴더안의 tools 폴더로 이동
3) >adb shell을 입력하며 에뮬레이터가 실행되지 않은 경우 error 가 발생
4) >cd data\app로 이동
5) >ls를 통해 삭제할 어플리케이션 확인
6) >rm '삭제할 app'을 입력하여 삭제


저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐

안드로이드 개발시 다양한 형태의 에러가 발생합니다. 많은 에러들을 경험해 보고 에러를 어떻게 처리해야 할지 기술해 놓았습니다.

ERROR 1) main.xml에서 아래와 같은 메시지가 나올 때
   “No grammar constraints (DTD or XML schema) detected for the document.”
=> 붙여 넣기를 하면서 UTF-8 형태가 아닌 이상한 문자(Tab, 큰따옴표 등)들이 포함된 경우발생될 수 있므로 메모장으로 옮겼다가 붙여 넣기를 하거나 UTF-8형태로 저장하여 사용하면 됨

ERROR 2)  R.java: No such file or directory의 해결방법
Android Project 를 생성해도 R.java: No such file or directory 에러 때문에 Android 실행이 되지 않는 경우가 있다. 생성한 Project 를 마우스 우측 클릭하면 제일 하단에 Properties 있는데 Google APIs 를 가장 위로 옮겨주고 OK 버튼을 클릭한다.













저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐
왜 한맺힌 영어 앱을 제작하게 되었는지 배경 설명입니다.

배경 설명

 - 영어 말하기에 대한 관심 및 수요자(초, 중, 고, 대, 일반인)가 의외로 많음.

 - 유치원에서 일반인에 이르기까지 영어를 배우는데 많은 비용과 시간을 소비하고 있음.

 - 개인적으로도 영어를 잘 하고 싶은 욕심 있음.

 - 오래 배웠지만 간단한 문장도 만들거나 말하지 못하는 실정 한탄.
    나는 학생이다. : I am a student.(O)
    나는 학교에 간다. : I am ~? (X)
    너는 행복하니? : Are you happy?(O)
    너는 학교에 가니? (그는 학교에 갔니?) : Are you ~? (X)

 - 아래와 같은 평범한 일생 대화를 자유롭게 하고 싶어 방법을 찾아봄.
    너는 왜 카페에 갔니? (언제 카페에 갔었니?)
    너 내일 서울 갈꺼니?
    너 내일 서울 갈 수 있어?

 - 먼저, 간단한 원리를 통해 문장하나를 스스로 만들 수 있는 방법 익히고,

 - 한글에 대해 영어로 말할 수 있도록 쉬운 영어 문장을 단어를 바꿔가면서 학습하면,

 - 한글 문장을 즉각 영어로 말할 수 있을 것이라는 확신 갖음.

 - 그래서, 일단 혼자 사용할 목적으로 제작

 - 후에 주변에서 완성시켜 배포해달라는 부탁으로 일단 무료 앱으로 Tstore와 Android 마켓에 등록

 - Tstore 11만여명 조회, 3만여명 다운로드, Android 마켓 1~5만여명 다운로드

 - 추가 자료 포함하여 상용으로 등록

 - 계속 사용할 수 있도록 지속적으로 업데이트 예정


저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐
갑자기 왠 뜬구름 잡는 사이트를 써놨냐고요? 그냥 저런 사이트도 있구나 해보시라고요... ㅎㅎ

나라지표

  - http://www.index.go.kr/egams/index.jsp

  - 대학 재정지원 사업 현황 등

안드로이드

  - http://www.androidpub.com

  - http://www.androidside.com

  - http://www.kandroid.org

  - http://developer.android.com

  - 위 사이트와 더불어 SDK 디렉토리의 sample을 참고하면 좋다.

자바 설치

  - http://java.com/ko/download/

실시간 번역 사이트

  - 다른 사이트에 비해 번역이 매우 깔끔함.
  - http://www.toandto.com

내 연봉을 높이기 위해 배워야 할 6가지 IT 기술

  - http://blog.gookbi.com/194007471
  - 하둡, Node.js, 몽고 db, 스칼라, C/C++ 또는 어셈블리, 깃(git)

저작자 표시 비영리 변경 금지
신고

'기타' 카테고리의 다른 글

이런 사이트도 있네요.  (0) 2011.10.18
Posted by 천왕지짐

초보 개발자들에게 시행착오를 줄이기 위해 한맺힌 영어 앱의 제작 그 과정을 소개하고자 합니다. 어떤 과정을 겪어 탄생(?)하게 되었는지 에러들은 무엇인지 가급적 상세히 소개하고자 하며 가급적 많은 도움이 되도록 설명하겠습니다.

일단 Tstore에 올린 내용부터 소개합니다.



본 앱은 그동안 수차례 영어를 시작했다 포기한 사람들을 위한 영어 학습서 입니다.

대부분 쉬운 원리를 모르고 열심히 노력하고 암기하다 한계를 느끼고 중단하는 것 같습니다.

사실 영어 말하기를 짧은 시간에 쉽게 할 수 있는 비법은 없습니다. 다만 간단한 원리를 이용하여 다른 학습 방법에 비해 쉽게 익힐 수 있도록 하려고 합니다.

본 학습 방법에 따라 며칠 정도의 학습 과정을 끝마치면 '나도 영어로 말할 수 있구나'하는 자신감을 갖게 될 것입니다.

본 앱은

1) 원리 학습 - 몇 가지 원리만으로 스스로 간단한 문장을 만들 수 있도록 합니다.
2) 동사 학습 - 현재,과거, 3인칭단수, 진행의 변화와 해당 동사의 예문을 학습할 수 있습니다.
3) 문장 학습 - 한글과 영어 문장을 비교하면서 학습할 수 있습니다.
4) 반복 학습 - TTS 기능을 이용하여 제시된 한글을 영어 문장으로 바꾸는 연습을 할 수 있습니다.
5) 전체 학습 - 문장 학습의 모든 문장들을 한눈에 볼 수 있습니다.
6) 문법 학습 - 간단한 문법을 학습할 수 있습니다.
7) 부록 학습 - 일기, 독해, 패턴, 전화, 공항, 여행, 명언, 명연설, 전래동화, 성경 구절 등을 학습할 수 있습니다.
8) 환경 설정 - 위젯 레벨 조절, 반복학습 속도 조절, 도움말 등을 볼수 있도록 구성하였습니다.

또한 폰 홈에 위젯을 설정할 수 있도록 하여 학습의 편의를 제공하였습니다.

영어는 재미있는 학문이라는 생각을 갖고 꾸준히 연습하고 관심을 갖는다면 여러분도 어느덧 영어로 말하고 있는 자신을 볼 수 있을 것입니다.


저작자 표시 비영리 변경 금지
신고
Posted by 천왕지짐


티스토리 툴바