2013. 7. 4. 17:42

프로그램 사용시 for 문이나 while 돌리시거나 여러가지 경우에 지연 즉 delay 걸고 다시 실행 시키고 싶은적 있으실겁니다.

이럴때 간단한 방법이 있습니다. Robot 이라는 클래스를 이용하여 지연(delay) 시키는 방법입니다.

이클래스를 이용하기 위해선 import 가 필요함으로


import java,awt,Robot 

public void DelayMethod(int delayTime) throws Exception

int mdelayTime;

mdelayTime = delaytime * 1000 

Robot robot = new Robot();

robot.delay(mdelayTime);

}


이런식으로 코드를 작성해주시면 됩니다. delay 를 1초 지연하기위해서는

1000 을 입력해주시고 1000을 입력해주는 이유는 지연(delay) 시간이 밀리세컨드 단위로 되어 있기 때문입니다.

이제 적절한 곳에서 Delay 메소드를 사용해주시면 되겠죠? 

즐거운 하루 되세요~

Posted by 광스
2013. 7. 3. 18:01
onCreat()
무조건 Activity가 처음 실행될 때 호출된다.
시스템에 의해 호출되면 인자로 받은 Bundle은 null이다.
Activity가 실행된 적이 있는데, 어떤 이유로 종료된 후 재시작되면, 종료될 때 호출된 onSavelnstanceState()에서 저장한 내용과 동일한 Bundle을 넘겨준다.
디바이스가 회전되어 가로/세로 전환 등 리소스를 새롭게 갱신되어야 할 때 호출된다.


onDestroy()

Actiivity가 종료되기 전 호출된다.
Activity내부에서 finish()를 실행하면 호출된다.
시스템 메모리가 부족하면, 안드로이드가 강제로 TestApp을 죽일 때도 호출이 되는데, 메모리 확보가 매우 시급할 때는 호출조차 되지 않는 경우도 있다.
onCreate()와 짝을 이뤄 사용했던 리소스는 이 곳에서 싹~ 치워준다.


onStart()

Activity가 초기 실행 후, 화면의 전면으로 나타날 때 onCreate(), onRestart() 이후에 호출된다.
전화수신, SMS수신 등으로 Background로 갔다가 다시 전면으로 나올때도 호출된다.


onRestart()

Activity가 정지되었다가 다시 실행될 때 호출되는데, onDestroy()가 호출된 이후가 아닌, onStop()으로 정지된 상태에만 해당된다. 즉, onStop()과 onRestart()는 한 쌍으로 생각하면 된다.


onStop()

하드웨어 HOME버튼을 눌렀을 때와 SMS수신, 전화수신, 다른 App실행할 때 호출된다.


onResume()

Activity가 전면에 나타날 때 대부분의 상황에서 호출된다. 처음 실행했을 때, onCreate() 이후에도 호출된다.
(책에서는 팝업 대화상자가 떳다가 닫히는 경우에도 호출된다고 하지만, AlertDialog로 테스트 했을 때에는 호출되지 않았다.)


onPause()

거의 모든 경우에 onStop(), onDestroy()가 호출되기 이전에 호출된다.
Activity가 사용자의 시선에서 가려지는 경우에 호출된다고 생각하면 된다.
대부분의 상황에서 onStop() 발생하기 이전에 불린다.
*일반적으로 onResume()과 쌍으로 보고, onResume()에서 했던 작업을 onPause()에서 정리, 멈추는 것이 좋다.
예를 들면, onResume()에서 쓰레드를 실행시켰으면, onPause()가 호출될 때, 아직 쓰레드가 실행중이면 정리를 해주면 된다.
*onPause()가 호출되서 App(또는 Activity)이 일시정지된 상태라면 안드로이드 시스템에서 필요에 따라 완전이 죽일 수 있기 때문에 그 이후의 작업을 못할 수도 있다는 점을 유의해야한다.


onSaveInstanceState()

Activity가 전면에서 Background로 숨는 경우 호출된다. 
현재의 Activity 상태를 저장하려면 이 함수를 구현한다.
호출될 때, Bundle 인스턴스를 넘겨주는데 이를 이용해서 저장하면 되는데, 예를 들어 에디트박스에 입력된 문자열 등을 저장해 두면 된다.


onRestoreInstanceState()

onSaveInstanceState() 함수에서 저장했던 내용은 onCreate()에서 Bundle 인스턴스로 넘겨받는데, onRestoreInstanceState()에서도 같은 내용을 받을 수 있다.
주의할 점은 onRestoreInstanceState()는 정상적인 상황에서는 호출되지 않는다.
테스트 결과 일반적인 상황이 아닌, 디바이스의 화면회전이 발생할 때 , 강제종료 후 제시작 할 때  발생했다.


onPostCreate() 와 onPostResume()

이 두 함수는 시스템 상에서 마지막 초기화 작업을 목적으로 만들어진 것으로 일반적으로 어플리케이션 작성시에는 구현할 필요가 없다고 한다.
 

onLowMemory()

시스템 메모리가 부족할 때 호출된다고 하나, 테스트로 발생시키기 어려워 생략했다.
안드로이드 Dev 사이트를 참고하여 설명하면, 이 함수가 정확히 호출되는 시점은 명확하지 않고, 다만, Background에서 실행하는 프로세스가 죽임을 했을 때, 호출된다고 한다. 시스템은 현재 Foreground에 있는 App에게 메모리를 좀 확보해 주십사~하고 호출해 주는 것이다. 즉, 이 함수에서는 필요없는 리소스를 최대한 확보하는 코드를 넣어주면 시스템에서 매우 고마워한다는 것이다.
이 함수가 return되는 순간 시스템은 GC를 수행한다고 한다.


@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
Log.d("TestAppActivity""onPostCreate");
}
 
@Override
protected void onStart() {
super.onStart();
Log.d("TestAppActivity""onStart");
}
 
@Override
protected void onRestart() {
super.onRestart();
Log.d("TestAppActivity""onRestart");
}

@Override
protected void onStop() {
super.onStop();
Log.d("TestAppActivity""onStop");
}
 
@Override
protected void onPostResume() {
super.onPostResume();  
Log.d("TestAppActivity""onPostResume");
}
 
@Override
protected void onPause() {
super.onPause();
Log.d("TestAppActivity""onPause");
}
 
@Override
protected void onResume() {
super.onResume();
Log.d("TestAppActivity""onResume");
}
 
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("onPostCreate""onDestroy");
}


유용하네요



'Study > Android' 카테고리의 다른 글

android Tab  (0) 2013.07.15
xml 파일 안에 내용 쓰기  (0) 2013.07.10
이클립스 테마  (0) 2013.05.10
안드로이드 padding margin 레이아웃 잡기  (0) 2013.03.29
Android Toast 안드로이드 토스트  (0) 2013.03.28
Posted by 광스
2013. 6. 16. 14:43

삼성전자가 세계 태블릿PC 시장에서 1년 사이 판매량을 3.5배 이상 늘리고 시장점유율도 배 이상으로 확대한 것으로 나타났다.

16일 미국의 시장조사업체 스트래티지애널리틱스(SA)에 따르면 삼성전자는 1분기 세계 시장에서 태블릿PC를 910만대 판매했다. 이는 지난해 같은 기간의 200만대에서 무려 355% 늘어난 수치다.

시장점유율도 18.9%로 태블릿PC 시장에 진출한 이후 최고 기록을 달성했다. 전년 동기 7.6%의 2.5배에 해당하는 점유율이다.

반면 애플은 1분기 1천950만대를 판매해 지난해 같은 기간의 1천180만대보다 65% 늘어나는 데 그쳤다. 이는 시장 전체의 연간 성장률 84%를 밑도는 기록이다.

애플은 시장점유율도 지난해보다 4.4%포인트 감소한 40.4%를 기록했다.

업계는 애플의 1분기 점유율 하락이 올해 연간 시장점유율 하락으로 이어질 가 능성이 크다고 보고 있다. 2011∼2012년 애플은 하반기보다 상반기에 더 높은 시장점유율을 기록했다.

삼성전자의 태블릿PC 성장은 동유럽과 중남미 시장에서의 선전에 힘입은 것이다.

삼성전자는 1분기 동유럽 시장에서 전년보다 23%포인트 급성장한 33%의 점유율을 기록하며 애플을 제치고 1위에 등극했다. 중남미 시장에서도 지난해보다 19%포인트 상승한 31%의 점유율을 보였다.

동유럽ㆍ중남미에서 1분기에 팔린 태블릿PC 10대 중 3대 이상이 삼성 제품이었던 셈이다.

삼성전자가 이들 지역에서 큰 성장을 이룬 원인으로는 제품 자체의 경쟁력과 유통망 혁신, 현지에 특화된 마케팅이 꼽힌다.

삼성은 다양한 크기의 태블릿PC를 선보이는 한편 디지털 필기구인 `S펜'을 다른제품과 차별화된 기능으로 특화해 제품에 대한 소비자 만족도가 높다.

유통 면에서는 통신 사업자 중심의 기존 판매 방식에서 벗어나 소비자 가전 판매망을 활용해 와이파이(Wi-Fi, 무선랜) 전용 제품을 적극적으로 판매한 것이 주효했다.

특히 2014년 월드컵이 열리는 브라질에서는 구매고객에게 축구전문 잡지 구독,축구 전문 채널 스트리밍 서비스, 축구 게임을 비롯한 월드컵 특화 서비스를 제공하는 등 마케팅에도 다양한 노력을 기울이고 있다.

업계는 삼성이 시장 지배력을 점차 넓혀 올해부터 본격적으로 태블릿PC 점유율 확대에 나설 것으로 예상하고 있다.

판매 호조와 더불어 해외 일간지ㆍ전문지의 호평도 이어지고 있다.

최신 태블릿PC 제품인 갤럭시 노트 8.0은 미국 소비자잡지 컨슈머리포트 평가에서 84점을 받아 1위에 올랐다. 프랑스 일간지 르 피가로도 이 제품이 콘텐츠 창작에특화한 제품이라고 언급하면서 "노트계의 챔피언"이라고 평가했다.

갤럭시 노트 10.1은 독일의 소비자연맹지 테스트의 평가에서 9∼10인치 태블릿 부문 1위에 올랐다.

삼성전자 관계자는 "S펜을 비롯한 차별화 요소와 현지에 특화한 콘텐츠를 제공한 전략이 주효했다"며 "앞으로도 소비자의 수요를 반영한 제품으로 시장을 적극적으로 공략할 것"이라고 말했다.

출처:디지털타임즈 

삼성전자의 테블릿 소식은 오랜만에 접하는것같네요..아이패드 와의 경쟁에서 얼마만큼의 자리를 잡을것인지 기대가 되네여 화이팅!!





Posted by 광스