728x90
ActivityManager: Error: Activity class {com.nobang.hello/com.nobang.hello.HelloRelativeLayout} does not exist.
[2010-03-28 23:52:50 - SampleHelloRelativeLayout]Starting activity com.nobang.hello.HelloRelativeLayout on device
[2010-03-28 23:52:54 - SampleHelloRelativeLayout]ActivityManager: DDM dispatch reg wait timeout
[2010-03-28 23:52:54 - SampleHelloRelativeLayout]ActivityManager: Can't dispatch DDM chunk 52454151: no handler defined

이 에러들의 반복이다.

도저히 원인을 찾을 수가 없다. 저 Activity class(HelloRelativeLayout) 가 버젓이 있구만...

03-28 23:53:05.263: ERROR/AndroidRuntime(317): ERROR: thread attach failed
이런 에러도 보이고...

그래서 해당 프로젝트를 선택한 뒤에
Clean을 시켜줬더니 된다. 쩝.

When you see those error messages. try clean the project.
728x90
728x90
정녕이것이 문제였던거 ... 좌절을 하지 않을 수 없다.

처음 MAC에서 Eclipse를 가동하여 android를 실행했을 때,
프로젝트 생성화면에서 아주 살짝 버전선택하는 것이 나타났고
그이후로 생성하면서도 계속 그게 좀 불편했다.

그러다 Windows에서 개발환경을 세팅하고 보니
Mac에서는 보였던 SDK version선택이 아예보이지 않았다.
그래서 몇주째 해결을 하려고
SDK를 이전버전도 설치해보고 별의별짓을 다 해봤는데
결국 찾아낸 것은....

VMware로 윈도우를 실행시킨게 문제다.
해상도가 내 맥북의 13.3인치에서 보이는 크기에서
VMware의 창 크기만큼 작아져서 안보였던 것인데
그것이 절묘하게도 완전히 가려졌었던 것이다.

전체화면으로 전환한다음 프로젝트 생성창을 키워보니
그제서야 숨어있던 SDK선택 콤보가 나타났다.
해당항목이 완벽하게 가려져서 있는지 생각도 못했던....

그래도 소스를 실행시켜보니... 안된다 쩝.
윈도에서는 될 줄 알았었는데 이런반전이...

if you use a small display
you couldn't find SDK combo.
I recommend  at least 1024*768 or higher.
or try the create project window bigger by dragging
then you'll see the SDKs
728x90
728x90
[2010-02-15 21:06:45 - Emulator]2010-02-15 21:06:45.326 emulator[630:10b] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
[2010-02-15 21:08:23 - Earthquake8]HOME is up on device 'emulator-5554'
[2010-02-15 21:08:23 - Earthquake8]Uploading Earthquake8.apk onto device 'emulator-5554'
[2010-02-15 21:08:23 - Earthquake8]Installing Earthquake8.apk...
[2010-02-15 21:09:32 - Earthquake8]Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2010-02-15 21:09:32 - Earthquake8]Please check logcat output for more details.
[2010-02-15 21:09:32 - Earthquake8]Launch canceled!

소스상에 에러는 안나타 나는데 Build를 하면 위와 같은 메세지와 함께 안된다 ㅡㅡ;
check logcat를 해보라고 해서 그게 뭔가 했더니

Eclipse에서는 상단메뉴의
Window > Show View > Others > Android 밑에 LogCat이 있다.
그 View를 추가한 뒤에 Build를 하면 로그가 쭉~~ 나오는데
거기에서도 에러가 보인다 ㅡㅡ;

02-15 21:09:27.987: ERROR/PackageManager(59): Package com.nobang.earthquake requires unavailable shared library com.google.android.maps; failing!

당췌 왜?
문제를 찾기위해
Eclipse > Preferences > Android에서 target 버전을 조금 낮춰봤다
Level 6정도로 그랬는데도 실패다.
Level 2로 낮추고 Google Api로 바꿨는데도 안된다... 쩝.

728x90
728x90
며칠동안 궁리를 하다가 찾기는 했는데...
제대로 안된다.

그래도 인증하는 법을 찾았으니

하나는 이거 같다.
Eclipse에서 해당 프로젝트를 선택한다.
오른쪽 버튼클릭하여 :Android tools에서 Unsigned나 Signed된 인증을 한다고하면
거기에서 생성할 수 있는 창이 뜬다.

생성시에 지정하는 이름들을 잘 기억해 놓은뒤
인증서가 있는 위치에서
keytool -list -alias <프로그램별 인증서Alias> -keystore <keystore이름>
keytool -list -alias whereami -keystore whereami.keystore

이러면 MD5로 된 인증서 Key가 나타나는데

http://code.google.com/android/add-ons/google-apis/mapkey.html
이 사이트에서 MD5 key를 넣어서 Key를 받아

main.xml 파일에 Android설정으로 넣어준다.



728x90
728x90
토요일에 신입사원 오리엔테이션 때문에 양재에서 마을 버스를 탔다.
타고 나서 얼마안있어서 외국인으로 보이는 사람이 앞자리에 앉은 아줌마에게
영어로 역에가려면 어떻게 하냐고 물었다.

내가 듣고있다가
원래 하고 싶은말은
이번 정류장에 내려서 위로 올라가면 된다
(You may get off this stop to go to a station)
go back(?) kkkk

근데 내가 뭐라고 했냐하면
You can take off this stop

anyway they could understand what I mean
but I was shamed.
728x90
728x90
driver download : http://go.microsoft.com/fwlink/?LinkId=54583


1. Socket Establishing Error 나네요 netstat -an 로 포트 확인결과 1433


"[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]들어오는 TDS(Tabular Data Stream)의 RPC(원격 프로시저 호출) 프로토콜 스트림이 잘못되었습니다. 매개 변수 1(""): 데이터 형식 0x38을(를) 알 수 없습니다." ERROR 대처방법(Java PreparedStatement 사용시)

MS-SQL 2005 server driver setting for iBatis
1. sqljdbc.jar 파일을 classpath에 추가
CLASSPATH=C:\Program Files\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar
(사실 해당 jar 파일을 현재 프로젝트의 lib안에도 넣어주고 테스트 했음 ^^)


2. Socket Establishing Error 나면 일단 접속이 제대로 안된 것이니 먼저
c:> netstat -an 로 포트 확인결과 1433 열려있는지 확인

3. "[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]들어오는 TDS(Tabular Data Stream)의 RPC(원격 프로시저 호출) 프로토콜 스트림이 잘못되었습니다. 매개 변수 1(""): 데이터 형식 0x38을(를) 알 수 없습니다." ERROR 대처방법(Java PreparedStatement 사용시)

sqlResource.properties (jdbc connection 관련 설정파일)
: {}안의 내용은 실제 환경에 맞는 것으로 넣어줌

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://{ip_address}:1433;DatabaseName={db_name}
username={username}
password={password}

3. 가끔씩 Can't start a cloned connection while in manual transaction mode 이런 에러가 나면
jdbc:sqlserver://{IP}:PORT;SelectMethod=cursor;DatabaseName={DBName}
으로  "selectMethod=cursor 을 추가해 줘서 Test 해 볼 것.
728x90
728x90
보통 web.xml 에서
  <jsp-config>
      <taglib>
          <taglib-uri>/spring</taglib-uri>
          <taglib-location>/WEB-INF/tld/spring.tld</taglib-location>
      </taglib>
  </jsp-config>
로 선언 한 뒤에

jsp 파일에서
<%@ taglib prefix="spring" uri="/spring" %>
식으로 사용하게 되는데 가끔. 아주 가`~끔 안먹는 경우가 있다.

그럴 때,
<%@ taglib prefix="spring" uri="/spring" %> 대신

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> 으로
직접 경로를 써줘도 무방하다.

728x90
728x90
<html>
    <head>
        <title>sorting a Table</title>
        
        <script type="text/javascript">
        var dataset = new Array();// 모든 data를 가지고 있고 정렬시 사용.
        
        /*
             작은것이 가장 위로 정렬
            colIndex : 원하는 columnIndex
        */
        function asc(colIndex){
            var sortArray = new Array();
            // 정렬을 수행 할 수 있는 행을 추출
            for(var i = 0; i < dataset.length; i++){
                sortArray[i] = dataset[i][colIndex];
            }

            // 해당 행으로 정렬을 수행
            var first, second, min;
            for(first = 0; first < sortArray.length-1; first++){
                //a[j]...a[a.length]사이에 가장작은 원소의 인덱스를 찾음
                for(second = first+1, min = first; second < sortArray.length; second++){
                    if(sortArray[second] < sortArray[min])
                        min = second;
                }
                swap(sortArray, min, first, min, first);
            }
        }
        // 정렬 중 필요한 인자들의 위치를 바꿔줌
        function swap(array, first, second, arrayIndexA, arrayIndexB){
            var temp = array[first];
                array[first] = array[second];
                array[second] = temp;

            var tempDataSet = dataset[arrayIndexA];
            dataset[arrayIndexA] = dataset[arrayIndexB];
            dataset[arrayIndexB] = tempDataSet;
        }
        /*
             큰것이 가장 위로 정렬
             colIndex : 원하는 columnIndex
        */
        function desc(colIndex){
            var sortArray = new Array();
            // 정렬을 수행 할 수 있는 행을 추출
            for(var i = 0; i < dataset.length; i++){
                sortArray[i] = dataset[i][colIndex];
            }
            // 해당 행으로 정렬을 수행
            var first, second, max;
            for(first = 0; first < sortArray.length-1; first++){
                //a[j]...a[a.length]사이에 가장큰  원소의 인덱스를 찾음
                for(second = first+1, max = first; second < sortArray.length; second++){
                    if(sortArray[second] > sortArray[max])
                        max = second;
                }
                swap(sortArray, first, max, first, max);
            }
        }

        /*
            List 생성 : 실제로는 가져온 Data를 뿌려 줄 때 JSP등에서 직접 생성하므로 필요 없을 듯 함.
        */
        function create(tName, tBodyId){
            //var tbody = document.getElementById(id).getElementsByTagName("TBODY")[1];
            var tbody = document.getElementById(tBodyId);
                          
                  for(var i = 1; i < 14; i++){
                      var row = document.createElement("TR");
                      var td1 = document.createElement("TD");
                      var td2 = document.createElement("TD");
                      var td3 = document.createElement("TD");
                      var td4 = document.createElement("TD");
                      var td5 = document.createElement("TD");
                      
                      td1.appendChild(document.createTextNode(i));
                    td2.appendChild(document.createTextNode("id " + i));
                    td3.appendChild(document.createTextNode("title "+ i));
                    td4.appendChild(document.createTextNode("name " + i));
                    td5.appendChild(document.createTextNode("date " + i));
                    
                    row.appendChild(td1);
                    row.appendChild(td2);
                    row.appendChild(td3);
                    row.appendChild(td4);
                    row.appendChild(td5);
                              
                    tbody.appendChild(row);

                    // rowData create
                    var rowDatas = new Array();
                    rowDatas[0] = i;
                    rowDatas[1] = "id" + i;
                    rowDatas[2] = "title" + i;
                    rowDatas[3] = "name" + i;
                    rowDatas[4] = "date" + i;

                    dataset.push(rowDatas);
                  }
        }
        /*
        List 생성
        필요인자 :
            tBodyId : List할 table 아래에 <TBODY>로 이름지은 elementID
            colNum  : number of columns
        */
        function update(tName, tBodyId, colNum){
            clearTable(tName);
                
            for(var i = 0; i < dataset.length; i ++){
                var row = document.createElement("tr");
                var rowArray = dataset[i];

                for(var j = 0; j < colNum; j++){
                    row.appendChild(createCellWithText(rowArray[j]));                    
                }

                document.getElementById(tBodyId).appendChild(row);
            }
        }

        function createCellWithText(text){
            var cell = document.createElement("td");
            cell.appendChild(document.createTextNode(text));
            return cell;
        }
        /*
            해당 Table의 주어진 index의 Row를 삭제
        */
        function deleteRow(tName, rowIndex){
            var tbody = document.getElementById(tName).getElementsByTagName("TBODY")[1];
            tbody.removeChild(rowIndex);
        }
        /*
            해당Table 의 첫번째 Row를 제외한 나머지 Row 모두 제거
        */
        function clearTable(tName){            
              var tbody = document.getElementById(tName).getElementsByTagName("TBODY")[1];
            var trows = tbody.rows.length;
            //for(var i = trows ; i > 1; i--){
            while(tbody.rows.length > 0){
                tbody.removeChild(tbody.lastChild);
            }            
        }

        /*
            엑셀출력.
            1. Title
            2. Body
             - 실제 Data는 표에 있는 내용이 아니라 이미 저장해 놓은 dataset으로 뿌려줌.
        */
        function AutomateExcel(xTitle, xColumns){
            if(xTitle == null){
                xTitle = "Excel download";
            }
            if(xColumns == null){
                xColumns = "Num,ID,Title,Writer,Date";
            }
            var cols = xColumns.split(",");

            var left = "A";
            var top = 3;
            var right = indexToAlphabet(cols.length);
            var bottom = dataset.length + top;
            
            

            
            // Start Excel and get Application object.//
            try{
                var oXL = new ActiveXObject("Excel.Application");

                oXL.Visible = true;

                // Get a new workbook.
                var oWB = oXL.Workbooks.Add();
                var oSheet = oWB.ActiveSheet;

                //Format Title as bold, vertical alignment = center.
                //Title --------------------------------------------------------
                oSheet.Range("A1", "E1").Font.Bold = true;
                oSheet.Range("A1", "E1").VerticalAlignment =  -4108; //xlVAlignCenter
                oSheet.Cells(1, 1).Value = xTitle;
 
                //BODY  --------------------------------------------------------
                //Format Table header
                oSheet.Range("A2", "E2").Font.Bold = true;
                oSheet.Range("A2", "E2").VerticalAlignment =  -4108; //xlVAlignCenter
 
                // Add table headers going cell by cell.
                for(var i = 0; i < cols.length; i++){
                    var j = i+1;
                    oSheet.Cells(2, j).Value = cols[i];
                }
 
                // Create an array to set multiple values at once.
                // Range
                
                //oSheet.Range(left + top + "," + right + bottom).Font.Bold = true;
                //oSheet.Range(left + top + "," + right + bottom).VerticalAlignment = -4108;
 
                for(var m = 0; m < (bottom-top); m++){
                    var nowCol = indexToAlphabet(m);
                    var c = m + 3;

                    for(var l = 0; l < cols.length; l++){
                        var r = l + 1;
                        //oSheet.Cells(c, r).Value = m + " : " + r;
                        oSheet.Cells(c, r).Value = dataset[m][l];
                    }
                }

                ///////////////// options of saving //////////////////////////
                // Make sure Excel is visible and give the user control
                // of Excel's lifetime.
                //oXL.Visible = true;
                //oXL.UserControl = true;

                // save as a file directly
                oWB.SaveAs("c:\\test.xls");
                oXL.Quit();
            }catch(e){
                alert("브라우저 옵션 > 도구 > 인터넷옵션 > 보안 > 안전하지 않는 것으로 표시된 ActivX 컨트롤 초기화 및 스크립트 > 확인 ");
            }
        }
        /*
            원하는 칼럼의 알파벳을 찾기위한 function
        */
        function indexToAlphabet(idx){
            var alphabet = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
            return alphabet[idx];
        }
        </script>
        
        
    </head>
    
    <body>
        <input type="button" value="asc" onClick="asc(0);"/>
        <input type="button" value="desc" onClick="desc(0);"/>
        <input type="button" value="create" onClick="create('tblMain', 'employeeList');"/>
        <input type="button" value="update" onClick="update('tblMain', 'employeeList', 5);"/>
        <input type="button" value="clear" onClick="clearTable('tblMain');"/>
        <input type=button value="Download Excel" onclick="AutomateExcel();">
        
        <p>
        <span id="employeeListSpan">
    
        <h2>게시판Test : </h2>
        
        <table id="tblMain" border="1" width="80%">
        
            <tr>
                <td>Num</td>
                <td>ID</td>
                <td>Title</td>
                <td>Writer</td>
                <td>Date</td>
            </tr>
            <tbody id="employeeList"></tbody>
        </table>
        </span>
        
        
        
    </body>

</html>
728x90

Voca ways of looking

2008. 6. 18. 14:22
728x90
distinguish : see the different between/among things
ex) twins

scrutinise : look very carefully with judgement
ex) 복장검사시 뭔가 잘못된 것이 없나 살펴보는것.(about cloth. look at the detail

glance : look at something quickly
ex) glance of the news paper/window : 그냥 훑고 지나가는 정도

peer : look closely to see clearly. usually through fog, darkness
(trying to see something clearly)
ex) also 안경낀사람이 안경을 안낀 상태로 사물을 보려고 하는것 역시 해당 됨.

recognize :

watch : TV/movie/sports .. etc. looking for a long time, activity

stare : look intensely for too long
ex) 사람/사물을 뚫어지게 쳐다보는것(negative)

peep : hiding/looking secretly
ex) peeping-Tom/ a peep-show/a peep-hole

gaze : 사람을 쳐다보는 것(positive) <-> stare

ex) 좋아하는 사람끼리 서로 오랫동안 쳐다보는것
to eye someone/something : looking up & down because of so attract or unusual

catch a glimpse of : very momently
ex) 빠르게 살짝 흘겨보는 것

glare : look angrily
------------
1. He had changed so much since I last saw him that I hardly ________ him.
2. The young girl ______ lovingly at the photograph of her boyfriend.
3. I only ______ him, so I can't really remember whether he was wearing a hat or not.
4. As my brother is colour-blind, he finds it difficult to ______ between green and blue.
5. " ______ the board, please!" said the teacher.
6. She ______ out of the window for a moment, then carried on working.
7. The old man ______ through the closed curtains at his new neighbours.
8. The teacher ______ angrily at the class. "For the last time, who broke the window?" she roared.
9. He ______ the figure very carefully before making any comment.
10. In Britain it is considered rude to ______ at people.
11. The policeman ____ the young man suspiciously.
12. He ______ through the thick fog, trying to make out the number of the approaching bus.
13. I waved to attract her attention, but she walked away without ______ me
14. Are you going to ______ the film on TV tonight?
15. I wanted to order coffee, but the waiter was so busy that it was very difficult to ______ .
16. When I was a student, I used to spend a lot of time sitting in cafes, ______ the way people used their hands when they spoke to one another.





--------------
1. recognized 2. gazed 3. caught glimpse of 4. distinguish 5. look at 6. glanced 7. peeped 8. glared 9. scrutinize 10. stare 11. eyed 12. peered 13. noticing 14. watch 15. catch his eye 16. observing


another example
:: He looked at me out of the corner of his eye (한쪽으로 흘겨보다)
:: He rolled hi eyes at me (두 눈을 하늘로 향했다가 돌아오는 한심한듯한 말을 했을 때 짓는 표정)
::He crossed his eyes (두 눈을 모아 사팔뜨기 같이 만듬)
728x90
728x90
1. I have ______ never met him before. I never forget a face.

2. I called him ______ but he never picked up the phone.

3. I was so sick that I barely ate anything all week.

4. I will ______ go back to my country in March; it depends on how long my money lasts.

5. That's ______ true but there is another side to the story.

6. We ______ still have some snow on the mountains in June, but this year it was all gone by May.

7. He ______ eats breakfast; he's just not jungry in the mornings.

8. I do go to the movies occationally but I find it so expensive that I prefer to rent a DVD and watch at home.

9. I call my mother ______; she worries if she doesn't hear from me at least once a week.

10. It ______ rains a lot in Vancouver in the winter months.


--------------------------
1. definitely 2. repeatedly 3. barely 4. probably 5. partly 6. generally 7. hardly ever ( because in that sentense has negative idea if not you can use occationally) 8. occationally 9. regularly 10. invariably
728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1951)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (179)
난 그래 (159)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :