[안드로이드] Tiled background problem

EditText 에 반복되는 백그라운드를 적용하려면 다음과 같이 하면 된다.


그런데 한 가지 문제가 있다.
최초 진입시에는 문제가 없는데 카메라모드로 갔다가 돌아오니
백그라운드가 반복이 안되어 출력되었다.
onCreate, onRestart 등.. 곳곳에 강제적으로 백그라운드 이미지를 적용했지만
안된다.

구글신의 도움으로 문제 해결

반복형 백그라운드 이미지를 적용하려면
자바 코드에서 BitmapDrawable 로 구현해주는게 더 안정적이다.

반복되는 이미지가 test_line.png 라면 다음과 같이하면 된다.

BitmapDrawable bgImage = (BitmapDrawable) getResources().getDrawable(R.drawable.test_line);
bgImage.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
editContent.setBackgroundDrawable(bgImage);

Posted by Tcher

2010/07/30 13:58 2010/07/30 13:58
,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/53

Trackback URL : http://blog.inculab.net/trackback/53

Leave a comment
[로그인][오픈아이디란?]

[안드로이드] PHP for Android project (PFA)


php로 안드로이드 어플을 구현하는 프로젝트입니다.
대단하네요^^

현재는 php4 까지만 지원 하고 php5 는 준비중입니다.

자바에 비해 코드량도 줄고 심플하여 프로토타입용 어플리케이션 만들 때
유용할 것 같습니다.





Posted by Tcher

2010/07/14 11:35 2010/07/14 11:35
, ,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/51

Trackback URL : http://blog.inculab.net/trackback/51

Leave a comment
[로그인][오픈아이디란?]

[안드로이드] 구글맵에 마커 이동 및 적용

구글맵에 마커를 이동하면서 찍는 소스코드입니다.

지도를 이동시켜 마커를 찍으면 해당 위치에 마커가 찍히면서 센터 GPS 로
지정됩니다.
처음엔 터치이벤트로 했는데 문제가 있었습니다.

onTouchEvent(MotionEvent event, MapView mapView)

action up , down, move 를 정확히 인지를 못합니다.
1) move 를 했을 시에는 마커 위치 변화가 없어야 함
2) move 없이 down 을 하고  up 이 되는 순간 마커를 표시해야함

onTouchEvent 를 이용하면 down 이벤트 move 도 걸려버립니다. 버그인듯..
이건 테스트를 해보시면 될 것 같고, 이걸 대체하기 위해선  onTap 메소드를
사용하면 됩니다.

// 기존 마커를 지우고 새로운 마커 적용
public boolean onTap(GeoPoint p, MapView mapView) {

mapView.getOverlays().remove(0);
CenterLocation(p);
return true;
}
사용자 삽입 이미지
소스코드 다운로드
구글맵 api key 만 변경하셔서 사용하시면 됩니다.



Posted by Tcher

2010/07/06 15:23 2010/07/06 15:23
, , ,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/49

Trackback URL : http://blog.inculab.net/trackback/49

Leave a comment
[로그인][오픈아이디란?]
안드로이드용 서브 마켓인 SlideMe  (http://slideme.org)
 
안드로이드 마켓에서 게임을 다운받기가 쉽지않다.
게임에 대한 제재가 강하기 때문에 다른 카테고리로 어플을 업로드하는 등
우회적인 방법을 사용하는데

안드로이드용 서브 마켓인 SlideMe 에서는 업/다운로드가 가능하다.

모바일웹에서 SAM 이란 어플을 다운로드 받으면 마켓이 설치된다.

사용자 삽입 이미지
SAM  을 다운로드하면 다음과 같이 어플이 설치된다.

사용자 삽입 이미지
국내에서 차단된 게임 어플도 이곳에서는 업로드/다운로드가 가능하다.
물론 유료 어플등록도 가능하며 수익 쉐어도 가능하다.

자세한건 SlideMe 사이트를 참고


Posted by Tcher

2010/06/07 10:02 2010/06/07 10:02
, ,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/48

Trackback URL : http://blog.inculab.net/trackback/48

Leave a comment
[로그인][오픈아이디란?]

안드로이드 layout include 시 주의사항

안드로이드 layout xml 에서 다른 layout xml 을 include 시 주의사항

common_underbar.xml 을 include 하려고 했습니다.
약간의 커스터마이징이 필요해 20px 의 왼쪽 마진을 주었지만
생각대로 동작하지 않더군요.

1) 첫번째 시도
<include    
     android:layout_marginLeft="20px"
     layout="@layout/common_underbar"
/>

2) 두번째 시도 - width 를 강제적으로 적용
<include    
     android:layout_width="400px"
     android:layout_marginLeft="20px"
     layout="@layout/common_underbar"
/>

3) 세번째 시도
<include    
     android:layout_width="fill_parent"
     android:layout_width="fill_parent"
     android:layout_marginLeft="20px"
     layout="@layout/common_underbar"
/>

: 세번째 시도에 의도한 UI 가 나왔습니다.
layout_xxx 속성을 사용하려면 android:layout_width / height 를
정의 해주어야 합니다.
그 이후에 layout_xxx  속성을 사용하시면 됩니다.

<!-- common_underbar.xml -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="#ffd7d7d7"
/>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="#ffffffff"
/>
</LinearLayout>



(본 포스트는 명확한 근거를 바탕으로 작성한게 아니라 테스트에 의해 작성한
포스트이므로 잘못 된 정보일 수도 있습니다.)

Posted by Tcher

2010/04/15 16:31 2010/04/15 16:31
, , ,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/46

Trackback URL : http://blog.inculab.net/trackback/46

Leave a comment
[로그인][오픈아이디란?]
안드로이드에서 카메라 촬영 후 갤러리를 보면
찍었던 사진이 나오지 않는 경우가 있습니다.

갤러리는 SDCARD 에 있는 모든 이미지들을 썸네일을 만들어서 뷰어를 제공하는데
SDCARD 를 마운트 하면 썸네일을 만드는 것 같습니다.  (Media Scanner)
테스트하고 있는 모토로이에서는 휴대폰을 재부팅하면 자동으로 스캐너가 동작하는 것 같은데 App 에서는 수동으로 처리를 해주어야 하는 것 같습니다.

사진 촬영 이후에 다음과 같이 브로드케스트를 날리면  강제적으로 Media Scanner 기능을
호출하게 됩니다.

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));

Media Scanner 동작하는 UI 를 만들고 싶으면
브로드캐스트 리시버로 Media Scanner start / finish 를 받아서 UI 처리를 하시면 됩니다.

Posted by Tcher

2010/04/15 14:54 2010/04/15 14:54
,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/45

Trackback URL : http://blog.inculab.net/trackback/45

Leave a comment
[로그인][오픈아이디란?]

제1회 안드로이드 앱개발자 컨퍼런스


드디어 기다려왔던 안드로이드 앱개발자 컨퍼런스가 열리네요.
국내에서 개발자 중심의 안드로이드 컨퍼런스는 최초가 되겠습니다.

안드로이드펍 커뮤니티와 SK텔레콤, LG전자,모바일융합센터의 후원으로
뜻깊은 자리가 만들어 질 예정입니다.

발표자를 잠시 살펴보니  국내에서 알아주는 개발자들이 눈에 띄네요~ ^^
컨퍼런스도 즐기고 인맥도 만드는 좋은 행사가 되었으면 좋겠습니다.

행사내용은 안드로이드펍에서 퍼왔습니다.


주최 안드로이드펍

주후원 SK텔레콤 T스토어 후원 LG전자, 모바일융합센터
일시 2010년 5월 7일 금요일
장소 학동역 건설회관 2층 대회의실  규모 600명
경품 LG전자 최신형 스마트폰 10대


프로그램

9:45 am - 10:00 am 오프닝

진헌규 

SK텔레콤 T스토어 개발자 마케팅 담당

T스토어의 애플리케이션 개발자 지원 정책

 

10:00 am - 11:00 am 컨퍼런스 세션1

박성서 (회색)

안드로이드 개발자 챌린지1 한국 유일 입상자, 안드로이드펍 운영자

안드로이드 다양한 스크린 디바이스를 위한 UI 처리 

 

11:00 am - 12:00 pm 컨퍼런스 세션2

강순권 (Jonathan)

안드로이드 개발자 챌린지2 1 수상자, 벅스 앱 개발자, 네오위즈

안드로이드 인터넷 서비스 연동 애플리케이션 개발

 

12:00 pm - 13:00 pm 점심시간

 

13:00 pm - 13:15 pm 홍보

이상윤

모바일 융합센터

모바일 융합센터의 모바일 S/W 개발 지원 정책


13:15 pm - 14:15 pm 컨퍼런스 세션3

이제현

세계최초 안드로이드 게임기 오드로이드 개발, 하드커널 대표 

안드로이드 Native Development Kit  게임

 

14:15 pm - 15:15 pm 컨퍼런스 세션4

허광남 (Kenu)

국내 최대 JSP 커뮤니티 OKJSP 운영자, 이클립스 전문가

안드로이드 개발환경 에서의 이클립스 개발툴 활용

 

15:15 pm - 16:15 pm 세션5

정승일 (닥터지킬)

KT 벤쳐어워드 안드로이드 부문 대상 수상, SKT 앱스토어 공모전 우수상 개발자

안드로이드 2.0 블루투스 활용 

 

16:15 pm - 17:15 pm 세션6

박유태 (컨버전스)

KT 벤쳐어워드 안드로이드 부문 동상 수상 개발사 라람인터랙티브 소속 개발자

안드로이드 센서/카메라/위치정보의 활용

 

17:15 pm - 17:30 pm 엔딩

LG전자

LG전자 스마트폰 및 개발자 정책 소개


17:30 pm

경품추첨! 출시 예정 LG전자 최신형 스마트폰


등록은 T스토어 개발자회원 / 일반인으로 나누어 등록을 받고 있으니 참고하세요.







Posted by Tcher

2010/04/13 09:55 2010/04/13 09:55
, ,
Response
2 Trackbacks , No Comment
RSS :
http://blog.inculab.net/rss/response/44

Trackback URL : http://blog.inculab.net/trackback/44

Trackbacks List

  1. 제1회 안드로이드 앱 개발자 컨퍼런스에 참가합니다.

    Tracked from 아날로그 - 기획이란? 2010/04/26 15:05 Delete

    제1회 안드로이드 앱개발자 컨퍼런스 주최 안드로이드펍 주후원 SK텔레콤 T스토어 후원 LG전자, 모바일융합센터 일시 2010년 5월 7일 금요일 장소 학동역 건설회관 2층 대회의실 규모 600명 경품 LG전자 최신형 스마트폰 10대 프로그램 9:45 am - 10:00 am 오프닝 진헌규 SK텔레콤 T스토어 개발자 마케팅 담당 T스토어의 애플리케이션 개발자 지원 정책 10:00 am - 11:00 am 컨퍼런스 세션1 박성서 (회색) 안드로이드 개발..

  2. 제1회 안드로이드 앱 개발자 컨퍼런스!!

    Tracked from LoL 2010/05/01 21:38 Delete

    제1회 안드로이드 앱개발자 컨퍼런스 주최안드로이드펍주후원SK텔레콤 T스토어후원 LG전자, 모바일융합센터 일시2010년 5월 7일 금요일장소학동역 건설회관 2층 대회의실 규모 600명 경품LG전자 최신형 스마트폰 10대 (이벤트 및 현장 추첨,주최측 사정에 따라 다소 변경 가능) 제공발표자료집, 안드로이드 로봇 티셔츠 참석자 전원

Leave a comment
[로그인][오픈아이디란?]

소프트 키보드를 통해 입력 값을 받는거는 별 문제가 없으나
입력키에 대한 이벤트 (onKeyup 등..) 를 바로 받을 수 없다.

소프트 키보드의 Enter Key 나  Done Key (완료 키) 에 이벤트를 걸고 싶으면
다음의 메소드를 오버라이드 하여 사용하면 된다.

onEditorAction 메소드를 해당 리소스에 할당하면 된다.

// 제목을 입력하고 소프트키보드의 완료를 누르면 데이타가 전송되는 예제
EditText editTitle = (EditText) findViewById(R.id.edit_title);
editTitle.setOnEditorActionListener(this);


  @Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// TODO Auto-generated method stub
if ((actionId == EditorInfo.IME_ACTION_DONE) ||
  (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
writePhoto();
}
return false;
}

public void function writePhoto() {
                 // to do..
      }

Posted by Tcher

2010/04/12 10:49 2010/04/12 10:49
, , ,
Response
No Trackback , 3 Comments
RSS :
http://blog.inculab.net/rss/response/43

Trackback URL : http://blog.inculab.net/trackback/43

Comments List

  1. Green 2010/04/12 11:44 # M/D Reply Permalink

    자료 잘 보았습니다.
    혹시 프로젝트 실습 위주의 강의 일정 없으신가요?
    계획 있으시다면 듣고 싶습니다. 감사합니다.

    1. Tcher 2010/04/12 13:55 # M/D Permalink

      안드로이드 강의를 할 만큼의 실력이 되진 않습니다.
      유용한 정보들이 있다면 블로그로 공유를 해드리겠습니다.
      관심가져주셔서 감사합니다.^^

  2. Green 2010/04/13 10:49 # M/D Reply Permalink

    아네^^
    작성하신 ppt 자료들 가지고 공부 열심히 하고 있습니다.
    핵심을 추리시고 이해가 쉽게 되도록 힘들게 작성하신 노고가 느껴집니다.
    감사합니다.

Leave a comment
[로그인][오픈아이디란?]
안드로이드에서 아래와 같이
EditText 에 편지지와 같은 배경을 적용하려면 다음과 같이 하면 된다.

drawable 에 xml 파일을 만들고 속성에 repeat 를 준 다음에
EditText 에서 resource를 호출하여 사용하면 된다.

drawable/letter_background.xml
<?xml version="1.0" encoding="utf-8"?>
 <bitmap           xmlns:android="http://schemas.android.com/apk/
  res/android"
  android:src="@drawable/dot_line"
  android:tileMode="repeat"
/>


<EditText
android:id="@+id/edit_content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/edit_title"
android:background="@drawable/letter_background"
android:gravity="top"
android:lineSpacingExtra="20px"    
android:minHeight ="200px"
/>
 
사용자 삽입 이미지

Posted by Tcher

2010/03/30 19:43 2010/03/30 19:43
,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/42

Trackback URL : http://blog.inculab.net/trackback/42

Leave a comment
[로그인][오픈아이디란?]

안드로이드 SQLite Console

SQLite Console 사용하는 방법입니다.

일단 에뮬레이터를 띄우고 shell 상태로 들어갑니다.
# 은 command prompt 입니다.
사용자 삽입 이미지
ls 를 쳐 보면 디렉토리 구조를 보실 수 있습니다.


사용자 삽입 이미지
패키지명은 수정하셔서 아래와 같이 들어가시면 database 를
보실 수 있습니다.

cd  data/data/com.inculab.android/databases

들어가시면 생성된 DB 를 볼 수 있습니다. (Test.db  이런 형태로 )

SQLite shell 로 진입
sqlite3 [database_name]

사용자 삽입 이미지
.help (Comma 를 통해 명령어가 전달이 됩니다. ) 를 입력하고
엔터를 누르면 사용법이 나옵니다.
예를들어 .table 명령어를 치면 테이블이 출력됩니다.

사용자 삽입 이미지
쿼리문을 날려보겠습니다.
레코드셋이 다음과 같이 나옵니다.

사용자 삽입 이미지

Posted by Tcher

2010/03/12 17:52 2010/03/12 17:52
, , ,
Response
No Trackback , No Comment
RSS :
http://blog.inculab.net/rss/response/38

Trackback URL : http://blog.inculab.net/trackback/38

Leave a comment
[로그인][오픈아이디란?]

블로그 이미지

- Tcher

Notices

Site Stats

Total hits:
24763
Today:
8
Yesterday:
131