캠핑과 개발

테이블에서 특정조건의 데이터가 있을 경우 업데이트, 없을 경우 인서트 해야 하는 상황이 종종 발생하는데,
이럴 경우, 오라클 9i 이상에서는 MERGE INTO 쿼리를 이용하여 한번에 해결할 수 있다.

1. 서로 다른 테이블일 경우,
MERGE INTO insert_table_name alias
USING select_table_name alias
ON (select_table 조건절)
 WHEN MATCHED THEN  -- 조건에 맞다면..
 UPDATE SET col1=val1,..

 WHEN NOT MATCHED THEN  -- 조건에 맞지 않는다면,
 INSERT (col1, col2,..)
 VALUES(val1, val2,..)

위의 경우, 테이블명을 명시했기 때문에, UPDATE(INSERT) 에 테이블명을 따로 쓰지 않는다.

2. 하나의 테이블일 경우,
USING 테이블명에 DUAL을 써 준다. 나머지 부분은 같다. 

'개발 > Database' 카테고리의 다른 글

mysql 소스 설치  (0) 2011.11.29
ORACLE 명령문  (0) 2011.08.02
mysql 5.5 db 생성 및 사용자 권한 주기  (0) 2011.03.23
오라클 모니터링 SQL  (0) 2011.02.25
Mysql 버전별 DB, USER 생성하기  (0) 2010.12.29


플래시 빌더 4.5를 설치하고 이클립스 플러그인을 설치하면서 플러그인을 통한 이클립스가 한글로 나오는 경우가 있다.
어도비사이트에 가면 분명히 언어를 선택하라는 항목이 단계에는 포함이 되어 있지만 이런 단계 없이 설치가 되었다..
물론 스탠다드 버전은 영문으로 설치를 했다..
근데 왠걸 한글로 메뉴가 나온다..
영어를 못하는데도 워낙 눈으로 많이 익혀서 한글로 메뉴가 나오니 더 모르겠다라..
아무래도 몰라도 영어로 바꿔야 겠다...
아래와 같이 -nl en_US 으로 추가해주면 다음부터 한글 메뉴가 영문으로 나오게 된다..
또 다른 방법은 eclipse.ini 파일 안에 -vmargs 상단에 해당 부분을 넣어주면 된다.

근데.. 맥은 어떻게 하지... 음..
[추가]
Mac은 eclipse.app 파일 열기에서 eclipse.ini 파일을 열고 해당 위에 내용처럼 하면 된다. 




참고 : http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Frunning_eclipse.htm


 Object something = new Integer(123);
 String theType = "java.lang.Number";
 Class<? extends Number> theClass = Class.forName(theType).asSubclass(Number.class);
 Number obj = theClass.cast(something);

'개발 > Java' 카테고리의 다른 글

Apache Daemon 사용하기  (0) 2012.05.17
Quartz 문서  (0) 2011.07.13
log4jdbc를 활용하여 쿼리 로그 남기기  (0) 2011.06.01
Commons-lang, Commons-io 사용 샘플  (0) 2011.06.01
JAVA Tip  (0) 2011.04.13


1. 필요한 라이브러리 다운 로드
 - log4jdbc3-1.1.jar(If you are using JDK 1.4 or 1.5, you should use the JDBC 3 version of log4jdbc.)
 - slf4j-api-1.5.0.jar(log4jdbc와 logging 서비스 연동을 위한 API 제공)
 - slf4j-log4j12-1.5.2.jar(log4jdbc와 Log4j 기반의 Logging 서비스 연동을 위한 구현 라이브러리 제공)

2. DataSource 서비스 속성 정의 파일 정의

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="net.sf.log4jdbc.DriverSpy"/>
<property name="url"
value="jdbc:log4jdbc:mysql://localhost:3306/member?useUnicode=true
&characterEncoding=utf8"/>
<property name="username" value="member"/>
<property name="password" value="member"/>
<property name="maxActive" value="30"/>
<property name="maxIdle" value="3"/>
<property name="maxWait" value="-1"/>
</bean>

3. Logger 정의

 - jdbc.sqlonly : SQL문만을 로그로 남기며, PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여진다.
 - jdbc.sqltiming : SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보(milliseconds)를 포함한다.
 - jdbc.audit : ResultSet을 제외한 모든 JDBC 호출 정보를 로그로 남긴다. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우를 제외하고는 사용을 권장하지 않는다.
 - jdbc.resultset : ResultSet을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성된다.
 - 예) log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration
xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p [%c] %m%n" />
</layout>
</appender>

<appender name="rollingFile"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="C:\\logs\\error\\error.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="100MB"/>
<param name="MaxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%c]-%m%n" />
</layout>
</appender>

<logger name="org.springframework.jdbc">
<level value="DEBUG"/>
<appender-ref ref="console"/>
</logger>

<logger name="com.mimul">
<level value="DEBUG"/>
<appender-ref ref="console"/>
<appender-ref ref="rollingFile"/>
</logger>

<logger name="org.apache.struts">
<level value="DEBUG"/>
<appender-ref ref="console"/>
<appender-ref ref="rollingFile"/>
</logger>

<!-- log SQL (pre-execution) plus exceptions caused by SQL -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="rollingFile"/>
</logger>

<!-- log SQL with timing information, post execution -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="rollingFile"/>
</logger>

<!-- only use the two logs below to trace ALL JDBC information,
NOTE: This can be very voluminous! -->
<!-- log all jdbc calls except ResultSet calls -->
<logger name="jdbc.audit" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="rollingFile"/>
</logger>

<!-- log the jdbc ResultSet calls -->
<logger name="jdbc.resultset" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="rollingFile"/>
</logger>

<!-- this log is for internal debugging of log4jdbc, itself -->
<!-- debug logging for log4jdbc itself -->
<logger name="log4jdbc.debug" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="rollingFile"/>
</logger>
<root>
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="rollingFile"/>
</root>
</log4j:configuration>


4. 로그 처리 결과 
 
2008-10-24 10:23:02 [jdbc.audit] - <2. Connection.setAutoCommit(true)
2008-10-24 10:23:02 [java.sql.Connection] - <{conn-100003} Connection>
2008-10-24 10:23:02 [java.sql.Connection] - <{conn-100003}
Preparing Statement:
select count(userid) as total from MEMBER where userid = ?
and password = ? >
2008-10-24 10:23:02 [jdbc.audit] -
<2. Connection.prepareStatement(
select count(userid) as total from MEMBER where
userid = ? and password = ? )
2008-10-24 10:23:02 [jdbc.audit] -
<2. PreparedStatement.setQueryTimeout(0)
2008-10-24 10:23:02 [jdbc.audit] -
<2. PreparedStatement.setString(1, "pepsi")
2008-10-24 10:23:02 [jdbc.audit] -
<2. PreparedStatement.setString(2, "1234")
2008-10-24 10:23:02 [java.sql.PreparedStatement] -
<{pstm-100004}
Executing Statement:
select count(userid) as total from MEMBER where userid = ? and password = ? >
2008-10-24 10:23:02 [java.sql.PreparedStatement]
- <{pstm-100004}
Parameters: [pepsi, 1234]>
2008-10-24 10:23:02,281 DEBUG [java.sql.PreparedStatement] -
<{pstm-100004} Types: [java.lang.String, java.lang.String]>
2008-10-24 10:23:02,281 DEBUG [jdbc.sqlonly] -
<2. select count(userid) as total from MEMBER where userid = 'pepsi'
and password = '1234' >
2008-10-24 10:23:02,281 DEBUG [jdbc.sqltiming] -
<2. select count(userid) as total from MEMBER where userid = 'pepsi'
and password = '1234'
{executed in 0 msec}>
2008-10-24 10:23:02 [jdbc.audit] - <2. PreparedStatement.execute()
2008-10-24 10:23:02 [jdbc.audit] - <2. PreparedStatement.getResultSet()
2008-10-24 10:23:02 [java.sql.ResultSet] - <{rset-100005} ResultSet>
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.getType()
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.next() returned true
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.getMetaData() returned
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.getInt(TOTAL) returned 1
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.wasNull() returned false
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.next() returned false
2008-10-24 10:23:02, [java.sql.ResultSet] - <{rset-100005} Header: [TOTAL]>
2008-10-24 10:23:02 [java.sql.ResultSet] - <{rset-100005} Result: [1]>
2008-10-24 10:23:02 [jdbc.audit] - <2. Connection.getMetaData()
2008-10-24 10:23:02 [jdbc.resultset] - <2. ResultSet.close()
2008-10-24 10:23:02 [jdbc.audit] - <2. PreparedStatement.close()
2008-10-24 10:23:02 [jdbc.audit] - <2. Connection.isClosed()
2008-10-24 10:23:02 [jdbc.audit] - <2. Connection.getAutoCommit()
2008-10-24 10:23:02 [jdbc.audit] - <2. Connection.clearWarnings()
2008-10-24 10:23:02 [jdbc.audit] - <2. Connection.setAutoCommit(true)

jdbc.sqltiming 로그에 보면 실행된 FULL Query가 보일 것입니다.
 
[출처] : http://mimul.com/pebble/default/2008/10.html

'개발 > Java' 카테고리의 다른 글

Quartz 문서  (0) 2011.07.13
[JAVA] 동적 캐스팅  (0) 2011.06.10
Commons-lang, Commons-io 사용 샘플  (0) 2011.06.01
JAVA Tip  (0) 2011.04.13
JNI 라이브러리 파일의 경로 동적 설정  (0) 2011.02.25

package client;

import java.io.File;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;

public class CommonClient
{
public static void main(String[] args)
{
String dir = "D:\\temp";
File dirFile = new File(dir);
String[] extensions = {"txt", "html"};

try {
// StringUtils
System.out.println("StringUtils.isEmpty : " +
(StringUtils.isEmpty(null) && StringUtils.isEmpty("")));
System.out.println("StringUtils.isBlank : " +
StringUtils.isBlank(" \n\t"));
System.out.println("StringUtils.substringAfterLast : " +
StringUtils.substringAfterLast("일.이.삼.사", "."));
System.out.println("StringUtils.substringBeforeLast : " +
StringUtils.substringBeforeLast("일.이.삼.사", "."));
String[] splitArr = StringUtils.split("일.이.삼.사", '.');
for (int i = 0, n = splitArr.length; i < n; i++ ) {
System.out.println("split : " + splitArr[i]);
}
System.out.println("StringUtils.leftPad : " +
StringUtils.leftPad("1", 5, '0'));
// FileUtils
// 문자열을 해당 파일에 카피
File file1 = new File(dir, "file1.txt");
String filename = file1.getAbsolutePath();
FileUtils.writeStringToFile(file1,
filename, "UTF-8");

// 파일을 읽어 문자열로 출력
String file1contents = FileUtils.readFileToString(file1, "UTF-8");
System.out.println("file1contents : " + file1contents);
System.out.println("list dir : " +
FileUtils.listFiles(dirFile, extensions, false));

// 해당 문자열을 파일에 저장
File file2 = new File(dir, "file2.txt");
String filename2 = file2.getAbsolutePath();
FileUtils.writeStringToFile(file2, filename2,
"UTF-8");
String file2contents =
FileUtils.readFileToString(file2, "UTF-8");
System.out.println("file2contents : " + file2contents);

// 디렉토리 강제 할당
File testFile = new File(dir, "subdir");
FileUtils.forceMkdir(testFile);
System.out.println("list dir : " +
FileUtils.listFiles(testFile,
extensions, false));

// 파일 카피
File testFile2 = new File(dir, "testFile1Copy.txt");
File testFile1 = new File(dir, "testFile1.txt");
FileUtils.copyFile(testFile1, testFile2);
//IOUtils.copy(inputStream, outputStream); 와 같음
FileUtils.forceDelete(testFile2);
System.out.println("list dir : " +
FileUtils.listFiles(dirFile, extensions, false));

File directory = new File(dir, "subdir");
FileUtils.copyFileToDirectory(testFile1, directory);

// 파일 읽어서 문자열로 리턴
String readFile = FileUtils.readFileToString(file1, "UTF-8");
//String readFile = IOUtils.toString(inputStream);
System.out.println("readFile : " + readFile);

// 라인 별로 파일 내용 읽기
List<String> readList = FileUtils.readLines(file1, "UTF-8");
//List<String> readList = IOUtils.readLines(inputStream);
for (int j = 0, sl = readList.size(); j < sl ; j++) {
System.out.println("readList : " + readList.get(j));
}

long size = FileUtils.sizeOfDirectory(dirFile);
System.out.println(size + " bytes");
System.out.println(FileUtils.byteCountToDisplaySize(size));

} catch (Throwable e) {
e.printStackTrace();
}
}
}


출처 : http://mimul.com/pebble/default/2008/10.html

'개발 > Java' 카테고리의 다른 글

[JAVA] 동적 캐스팅  (0) 2011.06.10
log4jdbc를 활용하여 쿼리 로그 남기기  (0) 2011.06.01
JAVA Tip  (0) 2011.04.13
JNI 라이브러리 파일의 경로 동적 설정  (0) 2011.02.25
Velocity의 기본 문법  (0) 2011.02.11


# 방화벽 상태 알아보기
   service iptables status

# 방화벽 올리고 내리기
   service iptables stop
   service iptables start

# 방화벽 설정 수정하기
   vi /etc/sysconfig/iptables

# 방화벽 해제
   iptable -F 혹은
   ipchains -F

lokkit -q --disabled 라고 하면 방화벽이 해제됩니다.
iptables -F라고 직접 명령을 주어도 됩니다 F는 Flush 를 뜻합니다.
Kernel 2.2대의 linux 배포판이라면 ipchains -F 하면 됩니다.

'개발 > Linux' 카테고리의 다른 글

Linux IP 변경  (0) 2011.07.21
linux 명령어 - chmod  (0) 2011.07.21
[명령어] history 이전에 실행된 명령어 출력  (0) 2011.05.25
linux 명령어 - ln 심볼릭 링크  (0) 2011.05.25
linux - netstat  (0) 2011.02.14


이전에 실행된 명령어를 보여줍니다. 이런 명령어들을 이용하여 간단하기 이전 명령을 재 실행할 수 있습니다.

[사용법] history

[출력 예] 
  120  mv apache-tomcat-5.5.33.tar.gz /usr/local
  121  cd /usr/local
  122  ls
  123  cd ls
  124  ls
  125  cd ..
  126  ls
  127  cd local
  128  ls
  129  ls
  130  chmod 755 apache-tomcat-5.5.33.tar.gz
  131  ls
  132  la
  133  ls
  134  ll
  135  tar -xvzf apache-tomcat-5.5.33.tar.gz

다음과 같은 리스트 목록이 나오면 해당 명령어 앞에 나오는 숫자를 이용해 간단하게 해당 명령어를 재 실행 할 수 있습니다.

[사용법]
하나 사용시 : ![숫자]
여러개 사용시 : ![숫자];!숫자;![숫자]


'개발 > Linux' 카테고리의 다른 글

linux 명령어 - chmod  (0) 2011.07.21
[명령어] service 방화벽 상태 및 설정  (0) 2011.05.25
linux 명령어 - ln 심볼릭 링크  (0) 2011.05.25
linux - netstat  (0) 2011.02.14
linux에 mysql 설치하기  (0) 2010.01.05




리눅스의 바로가기로 심볼릭 링크와 하드링크가 있습니다.

하드링크
하드링크는 파일을 직접 가르키는 것입니다. 이 링크를 삭제하면 해당 파일도 삭제가 됩니다.

[사용법] ln [타켓] [링크될 이름]



심볼릭링크
하드링크와 반대로 링크가 삭제되어도 파일은 그대로 있습니다. 단순 바로가기입니다.

[사용법] ln  -s  [타겟]  [링크될 이름]


예제 : 

ln -s /webroot/home/httpd/test.com/index.php /home/vivek/index.php



'개발 > Linux' 카테고리의 다른 글

[명령어] service 방화벽 상태 및 설정  (0) 2011.05.25
[명령어] history 이전에 실행된 명령어 출력  (0) 2011.05.25
linux - netstat  (0) 2011.02.14
linux에 mysql 설치하기  (0) 2010.01.05
vi 사용하기  (0) 2009.09.10


    android:installLocation="preferExternal"
..>


option

내장 메모리 인스톨  internalOnly 
 외장 메모리 인스톨  preferExternal
 사용자 선택 인스톨   auto

'개발 > Android' 카테고리의 다른 글

Intent 사용법  (0) 2011.04.21
아이폰,안드로이드 기종별 해상도 차이  (0) 2011.04.20
[Android] 활동주기  (0) 2011.04.13
[Android] 타이틀바 없애기  (0) 2011.04.13

Intent 사용법

개발/Android2011. 4. 21. 20:08

//show webapp

 

Uri uri = Uri.parse("http://www.google.com");

 

Intent it  = new Intent(Intent.ACTION_VIEW,uri);

 

startActivity(it);

 


 

//show maps:

 

Uri uri = Uri.parse("geo:38.899533,-77.036476");

 

Intent it = new Intent(Intent.Action_VIEW,uri);

 

startActivity(it); 

 


 

//show ways

 

Uri uri = Uri.parse("http://maps.google.com/maps?f=d&amp;saddr=startLat%20startLng&amp;daddr=endLat%20endLng&amp;hl=en");

 

Intent it = new Intent(Intent.ACTION_VIEW,URI);

 

startActivity(it);

 


 

//call dial program

 

Uri uri = Uri.parse("tel:xxxxxx");

 

Intent it = new Intent(Intent.ACTION_DIAL, uri);  

 

startActivity(it);  

 


 

Uri uri = Uri.parse("tel.xxxxxx");

 

Intent it =new Intent(Intent.ACTION_CALL,uri);

 

//don't forget add this config:<uses-permission id="android.permission.CALL_PHONE" />

 


 

//send sms/mms

 

//call sender program

 

Intent it = new Intent(Intent.ACTION_VIEW);   

 

it.putExtra("sms_body", "The SMS text");   

 

it.setType("vnd.android-dir/mms-sms");   

 

startActivity(it);  

 


 

//send sms

 

Uri uri = Uri.parse("smsto:0800000123");   

 

Intent it = new Intent(Intent.ACTION_SENDTO, uri);   

 

it.putExtra("sms_body", "The SMS text");   

 

startActivity(it);  

 


 

//send mms

 

Uri uri = Uri.parse("content://media/external/images/media/23");   

 

Intent it = new Intent(Intent.ACTION_SEND);   

 

it.putExtra("sms_body", "some text");   

 

it.putExtra(Intent.EXTRA_STREAM, uri);   

 

it.setType("image/png");   

 

startActivity(it); 

 


 

//send email

 

 

 

Uri uri = Uri.parse("mailto:xxx@abc.com");

 

Intent it = new Intent(Intent.ACTION_SENDTO, uri);

 

startActivity(it);

 


 

Intent it = new Intent(Intent.ACTION_SEND);   

 

it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");   

 

it.putExtra(Intent.EXTRA_TEXT, "The email body text");   

 

it.setType("text/plain");   

 

startActivity(Intent.createChooser(it, "Choose Email Client"));  

 


 

Intent it=new Intent(Intent.ACTION_SEND);     

 

String[] tos={"me@abc.com"};     

 

String[] ccs={"you@abc.com"};     

 

it.putExtra(Intent.EXTRA_EMAIL, tos);     

 

it.putExtra(Intent.EXTRA_CC, ccs);     

 

it.putExtra(Intent.EXTRA_TEXT, "The email body text");     

 

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");     

 

it.setType("message/rfc822");     

 

startActivity(Intent.createChooser(it, "Choose Email Client"));   

 


 


 

//add extra

 

Intent it = new Intent(Intent.ACTION_SEND);   

 

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   

 

it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");   

 

sendIntent.setType("audio/mp3");   

 

startActivity(Intent.createChooser(it, "Choose Email Client"));

 


 

//play media

 

Intent it = new Intent(Intent.ACTION_VIEW);

 

Uri uri = Uri.parse("file:///sdcard/song.mp3");

 

it.setDataAndType(uri, "audio/mp3");

 

startActivity(it);

 


 

Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");   

 

Intent it = new Intent(Intent.ACTION_VIEW, uri);   

 

startActivity(it);  

 


 

//Uninstall

 

Uri uri = Uri.fromParts("package", strPackageName, null);   

 

Intent it = new Intent(Intent.ACTION_DELETE, uri);   

 

startActivity(it);

 


 

//uninstall apk

 

Uri uninstallUri = Uri.fromParts("package", "xxx", null);

 

returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);

 


 

//install apk

 

Uri installUri = Uri.fromParts("package", "xxx", null);

 

returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);

 


 

//play audio

 

Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");

 

returnIt = new Intent(Intent.ACTION_VIEW, playUri);

 


 

//send extra

 

Intent it = new Intent(Intent.ACTION_SEND);  

 

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");  

 

it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");  

 

sendIntent.setType("audio/mp3");  

 

startActivity(Intent.createChooser(it, "Choose Email Client"));

 


 

//search

 

Uri uri = Uri.parse("market://search?q=pname:pkg_name");  

 

Intent it = new Intent(Intent.ACTION_VIEW, uri);  

 

startActivity(it);  

 

//where pkg_name is the full package path for an application  

 


 

//show program detail page

 

Uri uri = Uri.parse("market://details?id=app_id");  

 

Intent it = new Intent(Intent.ACTION_VIEW, uri);  

 

startActivity(it);  

 

//where app_id is the application ID, find the ID  

 

//by clicking on your application on Market home  

 

//page, and notice the ID from the address bar

 


 


 

//search google

 

Intent intent = new Intent();

 

intent.setAction(Intent.ACTION_WEB_SEARCH);

 

intent.putExtra(SearchManager.QUERY,"searchString")

 

startActivity(intent);

 


 

출처http://snipt.net/Martin/android-intent-usage/

'개발 > Android' 카테고리의 다른 글

[Android] 앱 외장메모리 설치  (0) 2011.05.16
아이폰,안드로이드 기종별 해상도 차이  (0) 2011.04.20
[Android] 활동주기  (0) 2011.04.13
[Android] 타이틀바 없애기  (0) 2011.04.13