액티비티란 (안드로이드 프로그래밍 정복 - 중에서)

 

액티비티는 안드로이드 응용프로그랩을 구성하는4가지 컴포넌트의 하나로서 가장 빈번히 사용되며 사용자를 대면한다는 면에서 실질적으로 제일 중요한 요소이다. 화면 하나가 바로 액티비티이다. 액티비티는 다른 플랫폼의 윈도우와 유사한 개념이지만 정확하게 같지는 않으면 "화면 하나"라고 이해하는 것이 가장 직관적이다.

 

액티비티는 사용자와의 인터페이스를 구성하기는 하지만 그 자체는 출력 기능이 없으므로 직접적으로 보이지 않는다. 사용자 눈에 실제로 보이는 것은 뷰이며 그래서 액티비티는 반드시 내부에 뷰나 뷰 그룹을 가져야 한다. 액티비티가 생성 될 때마다 호출되는 setContextView 메서드가 바로 액티비티 안에 뷰를 배치하는 명령이다. 액티비티 하나는 독립된  기능을 수행하며 액티비티끼리는 서로 중첩되지 않는다는 것도 뷰와 다른 점이다.

신고
Posted by 로보찌빠 네롱메롱별인

 

1. java설치

 - http://www.oracle.com/

 - 상단 탭 Download > 우측 java 클릭 > Java SE 선택 > jdk중 필요한 버전을 다운받아 설치

 

2. 이클립스 다운로드

- http://www.eclipse.org/

- 우측 Download Eclipse 버튼 클릭 > 두번째 Eclipse Classic 클릭 (다른것을 다운받아 사용해도 무방함) > os에 맞게 다운로드 선택 > 다운로드 후 압축 해제

 

3. 이클립스에서 ADT 설정

- Help > Install New Software > 팝업창에서 Add > Location에 "https://dl-ssl.google.com/android/eclipse" 입력 > OK버튼 클릭 후 대기 > Developer Tools 체크 후 Next > license agreements를 체크하고 finish 버튼 클릭 > restart now

 

4. 안드로이드 SDK 다운

- http://developer.android.com/sdk

- 자신에 OS에 맞는 버젼을 다운받아서 압축파일을 풀어준다

- 이클립스 실행해서 windows > preferences > android >SDK Location에 SDK압축 풀었던 경로를 입력해 준다.

 

5. 안드로이드 SDK메니저 설정

- 죄측상단에 Android SDK Manager 클릭 > 필요한 Package를 인스톨 한다

 

이상 간단하게 설치 과정을 정리했습니다.

더 자세한 내용은 인터넷 검색으로~ㄱㄱㄱ

너무 많은 블로그들이 친절하게 이미지 캡쳐까지 해가며 설명해주고 있음~!

신고
Posted by 로보찌빠 네롱메롱별인


오랜만에 포스팅입니다...
너무 바쁜 요즘이지만...
요건 좀 레어한 케이스라서 혹시 나중에 기억안날까봐 적어놓습니다.

탭엑티비티 안에서 작업을 하다보면 여러 난관을 만나게 되는데..ㅡㅡ;;
그 중 하나가 팝업이나 다이얼로그 컨트롤이 힘들다는 점이다.

AlertDialog를 만들때 아래와 같은 Exception을 만났다면?
android.view.WindowManager$BadTokenException ...

new AlertDialog.Builder( MyActivity.this.getParent());

// 위에 MyActivity.this.getParent()부분에 보통 Context나 this.getParent();(액티비티)를 입력하지만 탭 엑티비티는 액티비티들이 그룹으로 관리가 되므로 꼭 이렇게 부모를 찾아 줘야..합니다..

이 글로 인해 저를 포함한 단 한분이라도 도움이 되었으면 좋겠습니다~^^
신고
Posted by 로보찌빠 네롱메롱별인
구글맵에 해당 위치로 이동하고 주소창에

javascript:void(prompt('',gApplication.getMap().getCenter()));

를 입력해서 좌표값을 구할 수 있음.
신고
Posted by 로보찌빠 네롱메롱별인

문자열로 해당 Resource (혹은 레이아웃에 포함된 View) 의 ID 값을 가져온다;

-----------------------------------------------------------------
getResources().getIdentifier(파일명, 디렉토리명, 패키지명);
또는,
getResources().getIdentifier(패키지명:디렉토리/파일명, null, null);
으로도 가능하다.
-----------------------------------------------------------------

String resName = "@drawable/imgEnd";
String packName = this.getPackageName(); // 패키지명
int resID = getResources().getIdentifier(resName, "drawable", packName);

String viewName = "imgViewEnd";
String packName = this.getPackageName(); // 패키지명
int resID = getResources().getIdentifier(resName, "id", packName);


주로 리소스/ 뷰의 이름을 조합형식으로 만들어 가져와야 할 경우에
이 같은 코드를 사용하여 처리할 수 있다.


예를 들어,

for (int i=0; i < 3; i++) {
    String resName = "@drawable/img_" + i;
    // 결론적으로 이미지 리소스 이름은 img_1, img_2, img_3 이 되겠다;
    int resID = getResources().getIdentifier(resName, "drawable", packName);

    ImageView iv = (ImageView)findViewById(R.id.imgView);
    iv.setImageResource(resID); // 이미지뷰의 이미지를 설정한다;
}

이렇게 사용이 가능하다.

신고
Posted by 로보찌빠 네롱메롱별인

1. cmd 창 열기
2. chcp 65001
3. 폰트를 Lucida Console 로 변경.
4. adb logcat
신고
Posted by 로보찌빠 네롱메롱별인

  Intent intent = new Intent();
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  intent.setAction(android.content.Intent.ACTION_VIEW);
  intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  if (file.getName().endsWith(".pdf")){
 intent.setDataAndType(Uri.fromFile(file), "application/pdf");
  }else if (file.getName().endsWith(".hwp")){
intent.setDataAndType(Uri.fromFile(file), "application/hwp");
  }
  try{
   startActivity(intent);
  }catch(ActivityNotFoundException e){
   util.showLongToast("해당파일을 실항할 수 있는 어플리케이션이 없습니다.\n파일을 열 수 없습니다.");
   e.printStackTrace();
  }
신고
Posted by 로보찌빠 네롱메롱별인
어플 개발 시 저장공간을 정하려면 manifest 파일에 설정을 해두면 된다.
 
예)
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
   
android:installLocation="preferExternal"
    ...
>
- preferExternal  : 설치시 외장메모리에 설치 합니다. 외장메모리의 용량이 부족하거나 2.2버전 미만일경우에는 내장에 설치 됨.
- auto : 자동으로 설치 경로를 찾습는것 같습니다. 저같은 경우는 내장으로 먼저 가네요. 사용자가 내장에 설치된 어플을
외장으로 옮길 수 있습니다.

어플을 외장메모리로 옮기는 방법
환경설정 > 응용프로그램 관리 > 해당 어플 선택 > SD카드로 이동

참고로 몇몇 어플들은 외장메모리 이동이 지원이 되질 않습니다.(알람이나 라이브 배경화면 같은..)
참고 : http://developer.android.com/guide/appendix/install-location.html
신고
Posted by 로보찌빠 네롱메롱별인
 
Integer.parseInt( String );

신고
Posted by 로보찌빠 네롱메롱별인
URI에 한글과 공백이 함께있을 때는 아래와 같이 URI를 가공해 주면 됨.
이것 역시 무지 귀찮음;

String sUrl="";
String eUrl="";
sUrl = url.substring(0, url.lastIndexOf("/")+1);
eUrl = url.substring(url.lastIndexOf("/")+1, url.length()); // 한글과 공백을 포함한 부분
eUrl = URLEncoder.encode(eUrl,"EUC-KR").replace("+", "%20");
url = sUrl+ eUrl;
신고
Posted by 로보찌빠 네롱메롱별인

티스토리 툴바