캠핑과 개발


    android:installLocation="preferExternal"
..>


option

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

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

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


//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&saddr=startLat%20startLng&daddr=endLat%20endLng&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/

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

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

width height w/h % 대표기종
320 480 66.67% 아이폰3Gs, Android G1
640 960 66.67% 아이폰4
480 800 60.00% 갤럭시S, 넥서스원, Desire
480 854 56.21% 모토로이
540 960 56.25% 아트릭스

출처 : http://www.okjsp.pe.kr/seq/167232

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

[Android] 앱 외장메모리 설치  (0) 2011.05.16
Intent 사용법  (0) 2011.04.21
[Android] 활동주기  (0) 2011.04.13
[Android] 타이틀바 없애기  (0) 2011.04.13




onCreate() - 활동의 정적 자료 초기화에 적합
하나의 활동이 처음 시작되면 해당 Active객체의 onCreate() 메서드가 호출한다. onCreate()메서드는 Bundle 객체를 하나의 매개변수로 받는다. 새로 시작된 Activity의 경우에는 null이 전달되어 진다. 주어진 활동이 메모리상의 이유로 삭제 되었다가 다시 시작된 것이라면 이 Bundle객체에는 해당 활동의 이전 상태 정보가 들어 있게 된다. 따라서 활동은 그 정보를 이용해서 이전 상태를 복원할 수 있다. 흔히 onCreate() 메서드에서는 레이아웃과 자료 묶기(data Binding)와 같은 초기 설정 작업을 수행한다.

다음 메서드 - onStart()


onRestart()
액티비티가 정지된 후, 그것이 다시 시작되기 바로 전에 호출 된다. 항상 onStart()가 이어진다.

다음 메서드 - onStart()


onStart()
액티비티가 사용자에게 보여지기 바로 직전에 호출된다. 만약 액티비티가 전경에 오면 onResume(), 또는 이 액티비티가 숨겨지게 되면 onStop()로 이어진다.

다음 메서드 - onResume(), onStop()


onResume() 활동 자료의 초기화 및 준비에 적합
한 활동이 활동 스택의 제일 위에 놓이고 전경 프로세스가 되면 onResume() 메서드가 호출된다. 이 시점에서 활동이 사용자에게 보이지 않을 수도 있지만, 그래도 활동의 실행에 필요한 자원들(독점자원이든 공유 자원이든)을 준비하기에 가장 적합한 곳이 이 메서드이다. 자원들을 유지하는데에는 비용이 많이 들기 때문에, 활동이 전경에 있을 때에만 자원들을 유지하는 것이 바람직하다.

다음 메서드 - onPause()


onPause() - 활동 자료의 중지, 저장, 해제체 적합
다른 활동이 활동 스택의 최상단을 차지하면 현재 활동은 배경으로 밀려나게 된다. 이 때 배경으로 밀려나는 활동의 onPause()메서드가 호출된다. 이 메서드에서 활동은 onResume()메서드에서 재생을 시작한 오디오나 동영상, 애니메이션을 중단 해야 한다. 또한 데이터베이스의 커서(Cusor 객체) 같은 자원들도 비활성화 해야 한다.(커서 같은 자원들이 자동으로 관리하게 두는 대신 직접 관히하는 경우) onPause() 메서드는 활동이 배경에 있는 동안 필요하지 않은 자원들을 해제할 마지막 기회이기도 하다. 이 시점 이후에는 응용프로그램의 실행이 재개되지 않을 수도 있으므로 여기서 중요한 자료를 저장하거나 마무리를 해야 한다.

다음 메서드 - onResume(), onStop()



onStop()
액티비티가 사용자에게 더이상 보여지지 않을 때 호출된다. 이것은 액티비티가 파괴될 것이기 때문에 발생하거나, 또는 다른 액티비티가 재개되어 해당 액티비티를 덮기  때문에 발생한다. 액티비티가 사용자와 상호작용하기 위해 돌아 온다면 onRestart()가 또는 이 액티비타가 사라지기 된다면 onDestory가 이어진다.

다음 메서드 - onReStart(), onDestroy()



onDestroy() - 활동의 정적 자료 파괴에 적합
활동이 파괴되기 직전에 onDestroy() 메서드가 호출된다. onDestroy() 메서드가 호출되는 이유는 두 가지이다. 하나는 활동이 자발적으로 자신의 수명을 끝내려 하기 때문이고, 또 하나는 자원 부족때문에 안드로이드가 활동을 죽이려 하기 때문이다.

다음 메서드 - 없음



그 외 메소드..

onSaveInstanceState() - 활동의 필수적이지 않은 상태를 Bundle에 저장
메모리가 부족해서 운영체제가 활동을 죽이는 경우가 많다면, onSaveInstanceState()메서드 콜백시 Bundle 객체에 상태 정보를 저장하는 것도 한 방법이다. 그러나 onSaveInstanceState()가 모든 상황에서 반드시 호출된다는 보장은 없으므로, 응용프로그램의 실헹에 필수적인 자료들은 onPause() 메서드에서 저장한는 것이 안전하다.
아직 제출이 되지 않은 필드 자료라던가 사용자에 대한 응용 프로그램의 반응성을 높이기 위한 상태 정보 등 필수 적이지 않은 정보를 저장하는 곳으로 적합하다. 이후 사용자가 해당 활동을 다시 활성화하면 그 Bundle이 onCreate() 메서드로 전달된다. 이를 이용해서 활동은 일시정지 전의 상태를 정확히 복원할 수 있다. 또한 onStart() 콜백 메서드 이후에 onRestoreInstanceState() 콜백을 이용해서 이 Bundle의 정보를 읽는 것도 가능한다.

onUserInteraction()
활동이 전경에서 실행되는 동안 키나 터치, 트랙볼 사건이 발생하면 호출 된다. 단, 첫 번째 사건에 대해서만 콜백이 호출된다. 즉, 예를 들어 키 눌림(down), 눌림 유지(pressed), 떼어짐(up) 사건마다 매번 호출되는 것이 아니라 사용자 상호작용이 처음 일어난 시점만 호출된다. 이는 상태 표시줄을 관리하는  데 유용한다.(특히 사용자가 현재 작동을 취소하고자 하는 경우)

onUserLeaveHint()
활동이 사용자 상호작용에 의해(이를테면 안드로이드의 "뒤로" 키이나 "홈" 키를 누르는 등) 배경이 물러날 때에만 onPause() 호출 직전에 한 번 호출된다. 다른 활동이 전경을 차지해서 배경으로 물러나는 경우에는 호출되지 않는다. 
이는 상태 표시줄을 관리하는  데 유용한다.(특히 사용자가 현재 작동을 취소하고자 하는 경우)

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

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


1. 정의된 테마 사용하기


<!--  Status Bar, Title Bar 모두 없앰 -->
<activity
android:name=".MyActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

<!--  Title Bar 없앰 -->
<activity android:name=".MyActivity"           
android:theme="@android:style/Theme.NoTitleBar"  >




2. 사용자 테마 사용하기

<!-- Title Bar 없는 상태 -->
<item name="windowNoTitle">true</item>

<!-- Status Bar, Title Bar 모두 없는 상태 -->
<item name="windowFullscreen">true</item>




3. JAVA에서 설정하기

import android.content.pm.ActivityInfo

//Title Bar, Status Bar 없앰
setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);

//Title bar 없앰
requestWindowFeature(Window.FEATURE_NO_TITLE);

//Status bar 없앰
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

* Theme 설정과 다른 것은 FullScreen Flag를 주더라도 Title Bar는 남아있다.



4. 화면전환고정 
화면전환 이벤트가 발생해도 무시하고 화면을 고정시키는 방법

Activity 를 상속받은 클래스에서 onCreate() 안에 super.onCreate() 전에 다음 함수를 실행 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

AndroidManifest.xml 파일에..
<activity  android:screenOrientation="landscape"
              android:configChanges="keyboardHidden|orientation">



출처 : http://joojoo.com/394

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

[Android] 앱 외장메모리 설치  (0) 2011.05.16
Intent 사용법  (0) 2011.04.21
아이폰,안드로이드 기종별 해상도 차이  (0) 2011.04.20
[Android] 활동주기  (0) 2011.04.13