'안드로이드/개발코드'에 해당되는 글 6건

  1. 웹에 존재하는 파일 Stream을 이용해서 다운로드 하기
  2. AlertDialog 사용하기
  3. 안드로이드 간편 스레드 기본 구조
  4. 안드로이드의 Timer 기능
  5. 안드로이드 전체화면 만들기 (상태바, 타이틀바 제거)
  6. 버튼 선언과 클릭 이벤트 리스너 설정 방법 (1)

String src="http://192.168.1.106/football.3gp";

String des="sdcard/temp1357.3gp";

    InputStream in = null;

    OutputStream out = null;

    try{

    in = new BufferedInputStream(new URL(src).openStream());  

        out = new BufferedOutputStream(new FileOutputStream(des)); 

        int read;

        while(true){

            read = in.read(); 

            if(read == -1) break; 

                out.write(read);

            }

            in.close();

            out.close();

            finish();

        } catch (FileNotFoundException e) {

            // TODO Auto-generated catch block

            System.out.println("aa");

        } catch (IOException e) {

            // TODO Auto-generated catch block

            System.out.println("bb");

        } finally {

            if (in != null)

            try {

               System.out.println("cc");

               in.close();

            } catch (IOException e) {

                System.out.println("dd");

                // TODO Auto-generated catch block

            }

            if (out != null)

            try {

                out.close();

            } catch (IOException e) {

                // TODO Auto-generated catch block

            }

    }

저작자 표시 비영리 동일 조건 변경 허락
신고

AlertDialog 사용하기

AlertDialog 는 동작시에 새로운 창이뜨면서 공지, 정보입력, 안내 등의 유용한 기능을 하는 안드로이드 윈도우입니다.

어떻게 활성화 시키고 사용하는지 간단하게 코드로 알아봅시다.



AlertDialog 창 만들기

new AlertDialog.Builder(this)

.setTitle("타이틀 명")

.setMessage("메세지")

.setIcon(R.drawable.icon)

.setCancelable(false) // true이면 뒤로가기 버튼을 누르면 AlertDialog 꺼짐

.setPositiveButton("확인", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

// 확인 버튼 클릭시에 실행 할 코드

}

})

.setNegativeButton("취소", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

// 취소 버튼 클릭시에 실행 할 코드

}

})

.show(); //세미콜론으로 AlertDialog가 완성된다.



이외에도 몇가지 옵션이 있습니다.


setAdapter(ListAdapter, 이벤트리스너) : AlertDialog에 ArrayAdpater를 붙여줌으로서 리스트를 추가 할 수 있는데요. 주의 할 점은 ArrayAdapter 객체 ListAdapter를 붙이면 ArrayAdapter 내용이 출력되는데 그냥 붙여주면 아무것도 안 뜨고 따로 메서드를 구현해서 ListView를 붙여줘야 합니다.


setView(view) : view는 inflate의 객체로 XML 레이아웃을 액티비티에서 inflate해서 객체를 만들어서 .setView로 붙이면 AlertDialog에 내용이 출력 됩니다.


setNeutralButton("버튼", 이벤트리스너) : 이것은 .setPositiveButton이나 .setNegativeButton과 같은 역할과 기능을 하지만 이름만 다릅니다.



이상 열거된 옵션외에도 여러가지 메서드들이 있지만 잘 사용되지 않습니다.

다른 메서드들을 찾아보려면 Reference를 참조하세요.

저작자 표시 비영리 동일 조건 변경 허락
신고

new Thread(new Runnable() {

public void run() {

// insert code

}

});




참고로 Handler 간편 구조


Handler handler = new Handler() {

public void handleMessage(android.os.Message msg) {

// insert code

};

};

저작자 표시 비영리 동일 조건 변경 허락
신고

예제 1>

class Test extends Activity {

class MyTask extends TimerTask {

public void run() {

Log.d("myTask", "run()");

}

}


protected void onCreate(Bundle savedInstanceState) {

Timer timer = new Timer();

MyTask myTask = new MyTask();

//timer.schedule(myTask, 500);

timer.schedule(myTask, 500, 3000);


super.onCreate(savedInstanceState);

}

}


타이머 사용에 실패했던 이유는 timerTask를 어떻게 만들까? 였는데,,

클래스를 만들면 되는 거였다.


예제 2>

TimerTask myTask = new TimerTask() {

public void run() {

Log.d("myTask", "run()");

}

};


Timer timer = new Timer();

//timer.schedule(myTask, 500);

timer.schedule(myTask, 500, 3000);



클래스를 만들지 않고도 위와 같이 해도 된다. 예제2의 방법이 더 편해보이기도 하다.


timer.schedule(myTask, 500); 은 500ms뒤에 딱! 한번 myTask의 run()을 수행시켜준다.

반복해서 호출되게 하고 싶다면,,

timer,schedule(myTask, 500, 3000); 으로 호출해주면된다.

첫번째 param은 작업할 내용.

두번째 param은 언제부터 시작할 것인지, 즉, 500ms 뒤에 타이머를 돌리기 시작하는 것.

세번째 param은 타이머의 반복주기. 500ms뒤에 시자해서 3초 단위로 타이머를 돌리고

하고 싶은 작업을 하도록 호출해주는 것이다.

저작자 표시 비영리 동일 조건 변경 허락
신고
앱을 만들다보면 종종 타이틀바가 없거나 타이틀바와 상태바가 없는 풀화면 어플(주로 게임)을 볼 수 있는데 이걸 어떻게 코드로 구현하나 봅시다.


상태바, 타이틀바 제거 (풀스크린 모드 만들기)
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	requestWindowFeature(window.FEATURE_NO_TITLE);
	getWindow().setFlags(WidowManager.LayoutParams.FLAG_FULLSCREEN,
		WindowManager.LayoutParams.FLAG_FULLSCREEN);
	setContentView(R.layout.main);
}
// 혹은 AndroidManifest.xml 에서
<application android:icon="@drawable/icon" android:theme="@android:style/Theme.NoTitleBar">
</application>


타이틀바만 제거 (상태바는 그대로)
public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	requestWindowFeature(window.FEATURE_NO_TITLE);
	setContentView(R.layout.main);
}
// 혹은 AndroidManifest.xml 에서
<application android:icon="@drawable/icon" android:theme="@android:style/Theme.NoTitleBar">
</application>
저작자 표시 비영리 동일 조건 변경 허락
신고
안드로이드에서 코딩작업 하면서 가장 기초중의 기초!
버튼 선언하는 방법과 선언한 버튼에 이벤트 리스너 부착하는 방법을 알아보겠습니다.


우선 버튼 선언을 하시는 구문은 아래와 같습니다.


Button btn = (Button)findViewById(R.id.btn);



멤버 변수로 선언 뒤에 메서드 내에서 필요할 때마다 호출하는 방법은 다음과 같습니다.

public class example extends Activity {
	Button btn;
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		btn = (Button)findViewById(R.id.btn);
	}
}



클릭 이벤트 리스너 부착 방법

  • 버튼이 많지 않을 때 (onCreate 내부에서 한개~두개 정도만 필요 할 때)

btn.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
	// 클릭 했을 때 나타날 코드. 예를 들어 간단한 토스트를 띄운다면
	Toast.makeText(this, "토스트 출력문", Toast.LENGTH_SHORT).show();
	}
}



  • 버튼이 많을 때 (onCreate 내부에서 버튼 선언 후에 onCreate 밖에서 리스너 부착)

findViewById(R.id.btn).setOnClickListener(mClickListener);
findViewById(R.id.btn1).setOnClickListener(mClickListener);

그런다음 onCreate '외부' 에서 리스너 달아주기

Button.OnClickListener mClickListener = new View.OnClickListener() {
	public void onClick(View v) {
		switch(v.getId()) {
		case R.id.btn:
		// btn 버튼이 클릭 되었을 때 동작 할 내용
		break;
		case R.id.btn1:
		// btn1 버튼이 클릭 되었을 때 동작 할 내용
		break;
		}
	}
}
저작자 표시 비영리 동일 조건 변경 허락
신고