1. 이클립스 다운로드

 

이클립스 사이트에 접속하여 버전에 맞는 이클립스를 다운받는다.

(http://www.eclipse.org)

 

2. 이클립스에 안드로이드 ADT 설치하기.

 

다운받은 이클립스를 압축해제하고 실행시킨다.

 

실행후 Help -> Install New Software...를 눌러 아래와 같은 창을 띄운후

주소창에 ( https://dl-ssl.google.com/android/eclipse/ )를 입력후 아래의 항목들을

설치한다.

 

 

 

 

다음문구가 뜨면 설치가 완료된 것이다. 재부팅을 한다.

 

 

 

 

3. 안드로이드 SDK 설치하기.

 

설치후 재실행을 하게되면 상단 매뉴에 아이콘을 눌러준다.

 

 

위와 같은 창이 뜨면 원하는 버전의 SDK를 선택한 Install package를 눌러 준다.

위와 같은 창이 뜨면 모두 동의를 눌러주고 Install을 눌러 설치한다.

4. 안드로이드 샘플 프로젝트 실행하기

프로젝트를 새로만들어본다 오른쪽클릭후 Project -> New Android Application을 선택해준다.

 

이름은 Test로 선택후 생성한다.

 

위와 같은 창이 생기면 버튼을 눌러준다.

위에 창에서 New를 눌러 새로운 가상기기를 만든다.

 

왼쪽과 같이 기본설정으로 만든다.

저는 안드로이드 4.1 버전으로 생성했습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

안드로이드 Test 파일을 컴파일 한다.

위와같이 처음에는 안드로이드 가상머신이 부팅되는 화면을 있다.

부팅이 완료 되면 위와같이 만들어진 어플을 가상머신으로 확인 있다.

 

해상도가 스마트폰도 여러가지라 한가지 해상도로 고정하기에는 해상도에 차이가 크다


그래서 대부분 퍼센트로 맞추고 해상도를 기기 해상도를 가져와 사용하도록 해야한다.

meta name="viewport" content="width=device-width, initial-scale=1.0,  minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"


content="width=device-width" - 기기해상도를 받아오는 역활


initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0 - 기본사이즈,최소사이즈,최대사이즈를 1(정사이즈)로 통일


user-scalable=no - 크기변환 X

줌을 허용할 경우 이걸 Yes를 해주면된다.





'Programming > PHP' 카테고리의 다른 글

XE 삭제가안될시 지우는 방법  (0) 2012.11.02
[모바일웹] 스마트폰 구분하기.  (0) 2012.08.24
세션이란?  (0) 2012.07.31
쿠키란  (0) 2012.07.10
PHP란?  (1) 2012.07.10

인턴활동하면서 모바일웹 만들던 내용을 정리하려고합니다.





이런식으로 head부분에 스크립트를 넣어주게되면


특정언어를 검색해서 모바일용 페이지르 넘겨주게됩니다.


'Programming > PHP' 카테고리의 다른 글

XE 삭제가안될시 지우는 방법  (0) 2012.11.02
[모바일웹] 모바일웹 해상도 meta 태그로 정하기.  (0) 2012.08.27
세션이란?  (0) 2012.07.31
쿠키란  (0) 2012.07.10
PHP란?  (1) 2012.07.10

1. JDBC 드라이버 다운로드


JDBC 와 Mysql에 연동하기위해 우선 드리이버를 설치해 줍니다.

LINK - http://www.mysql.com/downloads/connector/j/




드라이버를 다운로드 한 뒤에 압축을 풀면 jar 파일이 나옵니다.

그 파일을 빌드패치에서 import 시켜줍니다.



import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class test_DB {
	public static void main(String[] args) {
		/* DB 드라이버 작동확인  */
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException ex) {
			System.out.println("JDBC 로딩 실패!");
			ex.printStackTrace();
		}
		
		/* DB서버 접속해보기 */
		try {
			java.sql.Statement st = null;
			Connection con;

			con = DriverManager.getConnection("jdbc:mysql://localhost/guest",
					"root", "ulab");
			/* ( DB서버 주소 / ID / 삐밀번호 ) */
			

		} catch (SQLException sqex) {
			System.out.println("SQLException: " + sqex.getMessage());
			System.out.println("SQLState: " + sqex.getSQLState());
		}
	}

}

샘플소스를 돌려보시고 작동이 정상작동할 경우 세팅이 완료된 것입니다. 참고로 apache 기반 서버가 굴러가고 mysql이 설치되어 있을경우에만 작동하는거 잊지마세요^^




'Programming > Java' 카테고리의 다른 글

JMF 설치 및 세팅하기!!  (0) 2012.10.31
클래스(Class) 선언과 생성 그리고 변수선언  (0) 2012.03.22
ObjectStream을 게임으로 생각해보자.  (0) 2012.02.14
컬렉션  (0) 2012.02.10
직렬화(Serialize)  (0) 2012.02.07

세션이란?

(특정한 활동을 위한) 시간

- 단말 세션(terminal session)이라 하면 대화형 시분할 시스템이며, 단일 사용자가 시스템에 로그온(log on)한 뒤 로그오프(log off)할 때까지의 기간을 말한다.


로그인하여 사용하는동안 전역변수를 저장하는 공간 이라고 생각하면 좋을것같다.

예를들면 로그인정보를 보관하거나 장바구니에 구매한 아이템들을 로그인한동안만 보관하는공간이다.


어렵게 설명하기는 까다로우니 간단히 설명해보도록하겠습니다.



세션이 시작되고 

로그인시도가 발생하여 로그인이 성공할 경우 세션영역에 ID나 NAME등 개인을 구분할 수 있는 값을 저장하여 사용하는 방식으로 로그인방식을 주로 사용합니다


마찬가지로 로그오프 할 경우 session_destroy() 나 세션에 "" 값을 주어서 로그오프시키는 방법등이있다.


간단히 설명하는 이유는 아무것도모르고 쿠키나 세션만 주구장창 파는거도 아닌듯 싶고 솔직히 이해만하면 크게 간단한 소스에서는 크게 어려움이 없는 부분이라 생각해서 간단히 다루어보았습니다.


php를 따로정리하자니 개념보다 기능에 관한게 많아서 DB부분만 한번 더 다루고 안드로이드와 연동을 다루고 php는 정리하도록 하겠습니다.

[출처] 7. PHP - 세션관리|작성자 초천재


'Programming > PHP' 카테고리의 다른 글

XE 삭제가안될시 지우는 방법  (0) 2012.11.02
[모바일웹] 모바일웹 해상도 meta 태그로 정하기.  (0) 2012.08.27
[모바일웹] 스마트폰 구분하기.  (0) 2012.08.24
쿠키란  (0) 2012.07.10
PHP란?  (1) 2012.07.10

쿠키란

- 구워 먹는것.

- 굽는다. - 서버가 브라우저를 통해 이용자의 저장공간에 쿠키 굽는다.

- 먹는다. - 서버가 브라우저를 통해 이용자의 쿠키를 가져온다.


쿠키는 어떤대에 쓰이나?

- 어떤 사이트를 접속시 사이트에서는 정보를 저장하기위해 사용자의 PC에 쿠키를 구워 저장한다.

  (장점)

  그럼 다음에 다시 접속했을때 그 쿠키를 웹브라우저를 통해 가져온다. ( 접속 속도 향상 )

  개인정보를 저장하기 때문에 자동로그인등의 기능과 같이 중복된 작업을 최소화할 수 있다.

  (단점)

  개인정보가 저장되어있기 때문에 개인정보가 탈탈탈 털린다.

   쓸때 없는 용량이 생겨난다.(작은용량이지만..)


이런 장점과 단점이 있습니다. 간단히 알아보면 그렇고요. 굽는다와 먹는다. 의 개념은 쉽게 이해하기 위해 적어 봤습니다.

브라우저를 통해 의 부분에 밑줄을 친 이유는 서버가 가져오고 싶다고 이것 저것 막 가져올 수 는 없다는거입니다. 쿠키도 조건을 두어서 아무나 모든쿠키를 다 읽을 수 있는것은 아니기 때문이죠.


쿠키 생성

<? setcookie("쿠키 명", "쿠키 값", 폐기시간, "경로", "호스트", "보안사용"); ?>

쿠키명은 필수이며 나머지는 경우에 따라 값을 넣어주게 됩니다.


인자  필수  설명 
 쿠키명

 Y

 쿠키이름 

 쿠키값

 N 

 쿠키의 값 

 폐기시간 

 N 

 쿠키의 폐기시간설정 time() 함수 

 경로

 N 

 쿠키를 사용할 수 있는 서버 경로 

 도메인 

 N 

 쿠키를 사용할 수 있는 도메인 

 보안 

 N 

 HTTPS에서만 사용할지 결정 


[출처] [PHP] 쿠키(Cookies)|작성자 aih303






'Programming > PHP' 카테고리의 다른 글

XE 삭제가안될시 지우는 방법  (0) 2012.11.02
[모바일웹] 모바일웹 해상도 meta 태그로 정하기.  (0) 2012.08.27
[모바일웹] 스마트폰 구분하기.  (0) 2012.08.24
세션이란?  (0) 2012.07.31
PHP란?  (1) 2012.07.10
PHP란??
¨ Personal Hypertext Preprocessor 
¨ HTML에 포함되어 동작하는 스크립팅 언어

스크립트 ??

¨ 소프트웨어에 실행시키는 처리 절차를 문자(텍스트)로 기술한 것. 일종의 프로그램이라고 할 수 있다


식별자 ( 변수 )

¨ PHP에서는 변수라는것을 알려주기 위해 $를 변수명 앞에 붙힙니다.

¨ 문자와 밑줄(_)로 시작 합니다.
¨ (_)이외의 기호는 사용불가능합니다.
¨ 변수는 대,소문자 구분 합니다.
¨ 타입형이 없습니다. 타입을 적지 않고 바로 변수명만 넣어서 사용합니다.



include / reclude


include 는 c언어의 include를 생각하시면 편합니다. 사전적 의미로 포함하다 라는 의미를 가지고 있습니다.

그러나 php에서의 차이점은 함수만 가지고 있는것이 아니라 php문을 통체로 copy & paste 하면 된다고 생각하시면
됩니다.

include를 하며 가져온 php 파일의 변수, html코드, 함수, echo로 출력되는 내용까지 다 가져오게됩니다.

그런 특징 때문에 include말고도 require가 존제합니다.

include 에러가 발생하면 그이후줄로 넘어가지만
require는 에러가나면 프로그램이 더 이상 실행되지 않습니다.



함수 ( function )

위 사진은 php의 함수와 java의 메소드와 비교한 것입니다.

문제가 있는 내용이지만 이해하는데 크게 어려움은 없으리라 생각합니다.


php의 함수에서는 변수관리가 좀 까다로운데, 



return을 이용하지 않고 변수의 값을 바꾸는 과정이다.

임시값을 이용하여 값을 서로 변경하는 과정이다. 버블정렬에서 많이쓰이는 방식으로

$num1 = 5 / $num2 = 6 이라는 수가 있다.

처음 주황색칸에 있는 함수는 맞는듯 보이지만 값이 변하지 않는다. 

지역 변수로 사용한 값이 밖에 값에 적용되도록 하기위해서는 지역변수앞에 & 기호를 붙혀주어 사용하면

파란색 경우처럼 값이 변하게 된다.

전역변수를 직접 사용하는 경우의 문제점이다.

처음 파란칸에 문법은 맞는듯 보이지만 값을 출력했을 시에 아무것도 출력되지않는다.

함수안에 echo $a; 에서 $a를 찾지 못하기 때문이다. 즉 $a를 가져오고 싶음 

"이건 지역변수가아니라 전역변수야!"

라고 말을 해주어야 한다. 그래서 global $a로 전역변수라는것을 알려주어 사용한다.


이게 내가 가장 햇갈리던 기본개념이다.

다음에는 html부분,레퍼런스함수 등 퍼올수 있는것보다 개념적인 부분을 보도록 하겠습니다.

'Programming > PHP' 카테고리의 다른 글

XE 삭제가안될시 지우는 방법  (0) 2012.11.02
[모바일웹] 모바일웹 해상도 meta 태그로 정하기.  (0) 2012.08.27
[모바일웹] 스마트폰 구분하기.  (0) 2012.08.24
세션이란?  (0) 2012.07.31
쿠키란  (0) 2012.07.10



구글맵을 띄울 엑티비티는 Activity를 상속 받는것이 아니라 MapActivity를 상속 받습니다.


그리고 인터페이스를 하나 구현해 줍니다.


public class 클래스명 extends MapActivity implements LocationListener {

...


Location을 구현하기 위해서는 4개의 메소드가 필요하다.


 

public void onLocationChanged(Location location) {}

// 위치값이 변경될 시 , 지역변수는 위치 값을 말한다.

public void onProviderDisabled(String provider) {}

// 위치 제공이 안될 시

public void onProviderEnabled(String provider) {}

// 위치 제공이 가능한 경우

public void onStatusChanged(String provider, int status, Bundle extras) {}

// 상태가 변경되었을 시 ( ex. gps->3g )



이 내용물들을 잘 골라가며 그때 그때 맞추어 사용하면 된다.


가장 많이 사용하는 것이 onLocationChanged() 일텐데, 이것을 관리하기 위해 LocationManager 을 선언과 생성을 해줍니다.



  

public class Test_Activity extends MapActivity implements LocationListener {

  LocationManager locManager; // 선언

  @Override

	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.test);



locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // 생성

// GPS 사용시 

//locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 0, this);

// 3G,4G,WIFI 사용시

// locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 0, this);

}

}

이런식으로 지정해주시면 됩니다.

requestLocationUpdates(GPS,네트워크 방식지정 , 시간(ms) , 거리(m) , 객체리스너) 로 이루어져 있고

이 설정에 따라서  onLocationChanged() 이 작동하기 때문에 이 설정을 잘 이해해주시는게 좋습니다.

안드로이드 어플개발시 구글맵 띄우기


xml에 구글맵을 띄우기 위해선 일단 구글맵키를 받아야 한다


  


이런식으로 구글맵이 생성이 되는데 

api키를 받아주어야 사용이 가능하다


운영체제 마다다른데 리눅스, 윈도우만 설명을 하면


우선 리눅스는(Centos)

Eclipse에서 

Window -> Preference -> Build -> “default debug keystore”에 저장된 경로를 확인합니다.

특별하지 않을경우 계정홈 .android/debug.keystore 로 지정이 되어있습니다.


그럼 터미널로 들어가서

# keytool -list -alias androiddebugkey  -keystore .android/debug.keystore -storepass android -keypass android 

를 입력해주면 키값이 뜹니다.



이 MD5의 값을 기억하고 계시고요


윈도우는 cmd로 명령프롬프트를 실행해주신뒤에 로그인한계정 .android 로 들어갑니다.

그 위치에서 dir *.keystore로 keystore가 있는지 확인하시고 있으면

위와 똑같이  

> keytool -list -keystore debug.keystore -keypass android -storepass android -alias androiddebugkey

를 입력해주세요

아래와 같은 경우처럼 안되는경우는 path등록을 안해주셨을 경우이기에 path를 등록해주시면 됩니다.




md5 값을 기억하시고

https://developers.google.com/android/maps-api-signup?hl=ko-KR

요기로 들어갑니다.


MD5 키입력란에 키를 입력하시고 확인을 눌러주시면


위와같이 사용자키가 생성됩니다


이키를 위 소스에 apikey안에 입력해주시고 실행하시면



이건 제가만드는중인 어플이라 조금 다를수가 있습니다.


이런식으로 지도가 띄워지게 됩니다.

다음에는 자기위치를 띄우는법을 쓰도록하겠습니다... 시간이 되면


/* 웹에서 파일 다운로드하기 * Stream을 이용하여 웹에서 파일을 다운로드하고 * 어플 내의 data공간에 파일을 저장한다. * db등의 파일을 다운로드할때 유용하다. */

File outfile = new File("/data/data/어플패키지명/databases/다운받을 파일명");

InputStream is = new BufferedInputStream(new URL("FileUrl").openStream());

OutputStream fo = new BufferedOutputStream(new FileOutputStream(outfile)); int read = 0; byte[] buffer = new byte[1024]; while ((read = is.read(buffer, 0, 1024)) != -1) fo.write(buffer, 0, read); fo.flush(); fo.close(); is.close();

위 소스 기반으로 파일을 다운을 받고 DDMS로 확인을 하면


다운로드 전


다운로드 후


이런식으로 파일이 변한것을 확인할 수 있습니다.


+ Recent posts