블로그 이미지
JoyfulLife

공지사항

최근에 받은 트랙백

글 보관함

calendar

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Drag and drop in Android

2010.11.05 16:01 | Posted by JoyfulLife

There is a source that someone made using music source in Android platform.

http://www.kandroid.org/board/board.php?board=sourcecode&command=body&no=34

But it's not perfect.

abd



You can see this when you run the source.





When you click the 1's item, and moving to bottom, you 're going to notice the problem.
Did you see the problem?
I don't like 1's item between 0's and 2's.
I wanted 2's item to be bottom.

So, I looked the source. At the first time, I think the source maker made a mistake. So I tried to find source error.
But source was perfect. I compared this source with Android music source, There were no problem.








finally, I got the problem.
problem was gravity.

when you see DndSampleActivity.java
there are

mAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, data);

in OnCreate().

R.layout.simple_list_item_1 is

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:gravity="center_vertical"
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight"
/>


android:gravity="center_vertical" is not good match at this point.

center_vertical make text to be center. I want text to be bottom.

So I make the row.xml in the layout.

R.layout.row.xml is

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="bottom|center_vertical"/>

and 
mAdapter = new ArrayAdapter<String>(this,
                R.layout.row, data);

I added bottom to the gravity.



Now, you can see the item that is right place.

신고

Tab을 사용면서 Title 변경하기..

2010.07.06 10:00 | Posted by JoyfulLife

타이틀에다가 progressbar를 넣어보려고 구글링을 해보았지만 실패했다. 방법이 없는 것 같다.
tabhost를 불러주는 곳과, 2개의 실제적인 내용을 불러주는 액티비티..

타이틀을 없애주는 것은 tabhost 를 불러주는 곳에서 해야 한다. 실제적인 내용을 불러주는 곳에서 하면 적용이 안된다. 아마 상위 하위 윈도우 개념때문에 그런 것 같다.

상위 윈도우로 접근을 한 다음에 타이틀을 변경 해야 할 것 같다.

그래서 tabhost를 불러주는 곳에서 열심히 작업을 했는데 성공하지 못했다. 왜 notitle 은 먹는데 , custom title은 먹지를 않는 걸까... ? 아마 이쪽을 신경쓰고 있지 못하는 것 같다.



해결책은............... 타이틀을 없앴다.

안드로이드는 아직도 사용자의 모든 것을 구현하지 못하고 있다. 구글에서는 현재 제일 시급한 사항만 처리를 하고 있다. 그래서 상대적으로 덜 중요한 부분은 처리가 느린 것 같다..






신고

'안드로이드' 카테고리의 다른 글

Bitmap, Recycle()  (1) 2010.07.11
마켓 QR 코드 만들기  (1) 2010.07.08
Tab을 사용면서 Title 변경하기..  (0) 2010.07.06
ScrollView + listView  (1) 2010.07.03
나인 패치  (0) 2010.06.29
안드로이드 어플리케이션 종료  (0) 2010.06.01
TAG Android, Tab, title

AlarmManager 와 Handler

2010.03.03 14:05 | Posted by JoyfulLife
둘 다 주기적으로 어떤 동작을 실행시킬 수 있다.
다른 점은 AlarmManger 는 어플이 실행이 안되어 있는 상태에서도 가능하다는 것이고,
Handler 는 어플이 실행되어야 한다는 점이다. Activity 의 실행여부로 보는 것이 더 정확할 것이다.

하지만 Service 로 Handler 를 구현하면 어플이 실행이 안되어 있는 상태에서도 동작이 가능했다.

난 handler를 이용해서 어플을 만들었다.

이것에 대한 사소한 문제는 주기적을 취소했을 때, 그만 해야 하는데 이미 등록된 액션은 실행을 한다는 것이다.

이것은 좀 더 보완을 해야 할 것 같다.
if문을 통해서 가능 할 것 같다.

mSendUpdate.run();

if(autoupdate)
            {
                int mFrequency;
                mFrequency=Integer.parseInt(mSP.getString("fetch_frequency", "180"));
                mHandler.postDelayed(mSendUpdate, mFrequency*100);
            }


    protected Runnable mSendUpdate = new Runnable() {
        public void run() {
            ContentResolver cr=getContentResolver();

참고 URL
Handler와 Alram 차이
http://www.androidside.com/skin/board/mw.basic/mw.proc/mw.print.php?bo_table=B46&wr_id=301

Alram 예제
http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=301
신고

'안드로이드' 카테고리의 다른 글

모토로이 브레이크 포인트  (0) 2010.04.07
안드로이드 UTF16 이야기..  (1) 2010.04.06
AlarmManager 와 Handler  (0) 2010.03.03
Camera 튜토리얼..  (0) 2010.03.03
Camera 사용하기.  (0) 2010.02.23
바이블뷰어 만드는 중..  (0) 2010.02.22

Camera 튜토리얼..

2010.03.03 10:59 | Posted by JoyfulLife
surface 뷰를 만들고 camera.open() 으로 사진을 찍을 수 있다. 이 때 문제는 카메라 버튼을 사용하지 못하는 것이다. 왜냐하면 카메라 버튼을 누르면 원래 안드로이드에서의 카메라 전환 화면으로 넘어가기 때문이다. (onKeyDown(..)에서 return 을 true로 주니 해결이 되었습니다. )

 해결책은 MediaStore.ACTION_IMAGE_CAPTURE 을 이용하는 것이다. 이것은 Intent의 Uri 이다.
new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 을 실행을 하면 카메라 전환이 된다
.
모토로이 기본 카메라 화면하고 비슷하지만 기능은 훨씬 없다. 우선 메뉴 버튼을 눌러도 아무런 반응을 하지 않는다.
 해상도를 지정할 수 없다. 해상도만 지정이 가능하게 만들고 싶은데 어떻게 하는지 모르겠다.



기본 카메라 튜토리얼 사용방법
 Intent mIntent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
 
그 다음이 중요한데
 startActivityForResult(mIntent, 0); 을 호출한다.

그러면
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)

로 사진을 찍은 데이터를 받을 수 있다.
switch (requestCode) {
case 0:
Bitmap bm = (Bitmap) intent.getExtras().get("data");

startActivityForResult를 실행할 때 0을 인자로 주었으니, 올바르게 끝났다면 0을
반환을 할 것이다.


사진 데이터는 intent.getExtras().get("data") 로 받아 올 수 있다.


이렇게만 하면 내가 찍은 사진을 이용한 어플을 만들 수 있다.

신고

'안드로이드' 카테고리의 다른 글

안드로이드 UTF16 이야기..  (1) 2010.04.06
AlarmManager 와 Handler  (0) 2010.03.03
Camera 튜토리얼..  (0) 2010.03.03
Camera 사용하기.  (0) 2010.02.23
바이블뷰어 만드는 중..  (0) 2010.02.22
android sdcard 에 파일 생성.  (0) 2010.02.14

android sdcard 에 파일 생성.

2010.02.14 23:04 | Posted by JoyfulLife
이런 식으로 생각을 했다.
File f=new ("/sdcard/mkdir","ab.mp3");
f.createNewFile();

하지만 이런 식으로 하면 에러가 난다.

Solution is

File file2 = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/mkdir","ab.mp3");

file2.createNewFile();
하면 에러가 안 나온다.



신고

'안드로이드' 카테고리의 다른 글

Camera 사용하기.  (0) 2010.02.23
바이블뷰어 만드는 중..  (0) 2010.02.22
android sdcard 에 파일 생성.  (0) 2010.02.14
Jni 공부중..  (0) 2010.02.09
I'm studying twitter4j  (0) 2010.01.18
I can upgrade my Dreamphone to 1.5 finally..  (0) 2010.01.09

I can send my voice to another phone

2009.12.30 10:38 | Posted by JoyfulLife
It's complete using AndroidRecord, AndroidTrack.  I am so happy.

It's easy in the phone. but difficult using Emulator.

Now I have to make UI, UX.

It's very difficult. I don't know how to make them.

I have to study hard.


신고

'안드로이드' 카테고리의 다른 글

I'm studying twitter4j  (0) 2010.01.18
I can upgrade my Dreamphone to 1.5 finally..  (0) 2010.01.09
I can send my voice to another phone  (0) 2009.12.30
Notification fail  (0) 2009.12.23
OnTouchListener 구현  (0) 2009.12.15
ObjectOutputStream  (0) 2009.12.09
TAG Android, voide

ObjectOutputStream

2009.12.09 16:32 | Posted by JoyfulLife
 어느 정도 음성은 마무리를 짓고 이제부터 전체적인 틀을 잡기 위해서 메신저를 개발하려고 한다.

ID와 비번을 서버로 보내는 법을 찾아봤는데 ObjectOutputStream 을 쓰면 될 것 같아서 본격적인 개발에 착수를 했다.

http://blog.naver.com/marystorys?Redirect=Log&logNo=120056248765

위의 사이트에 있는 소스를 긁어다가 테스틀에 성공후 안드로이드에 이식을 했다.

간단하게 될 줄 알았는데 문제가 생겼다. 기본적인 구조는 변한 것이 없는데 서버가 데이터를 받지를 못하는 것이었다.

 writeObject() 로 보낸 데이터를 readObejct() 에서 받지를 못해서 하루를 고생했다.
계속된 테스트를 하다가 어느 순간에 데이터를 받기를 시작했다.

내가 해준 것은 뒤에 랜 선을 꼽았다가 다시 낀 것과 랜카드를 사용 안함 했다가 다시 사용으로 바꾼 것뿐이 없다.. 그런데 된다..

 만약 랜선 포트가 이상했다고 하면 정말 네트워크로 일하기가 싫어질 것이다. -_-;;
안드로이드 문제라면 안드로이에서 일하는 것이 싫어질 것이다.

아무튼 잘 끝나서 다행이다..



-----------------------------------------------------------------------------
원인을 알아냈다. 원인은 패키지 이름이었다.
ObjectOutputStream 이 선언된 패키지와 받는 쪽 ObjectOutputStream 이 선언된 패키지의 이름이 같아야 한다.

 자바에서도 같아야 하는지 모르겠지만 이건 좀 아닌것 같다..ㅡㅡ 패키지 이름까지 같아야 한다는 제약인란것은 프로그램 짜기 정말 힘들게 하는 것 같다.




신고

'안드로이드' 카테고리의 다른 글

Notification fail  (0) 2009.12.23
OnTouchListener 구현  (0) 2009.12.15
ObjectOutputStream  (0) 2009.12.09
RC29로 다운 그레이드가 안됩니다.  (0) 2009.12.02
단말  (0) 2009.11.29
삽질중.. 안드로이드 tcp 통신..  (0) 2009.11.24
에뮬레이터를 서버로 두고 tcp 데이터를 받아오려고 하는데 에뮬레이터이다보니 tcp 데이터를 일반적인 방법으로 받아 올 수 없었다. 에뮬레이터에서 자체적으로 ip를 할당할 수 없기 때문이다.
내가 210.118.... 라는 아이피를 쓴다고 하더라도 이 아이피를 에뮬레이터에서 바로 쓰는 것이 아니다.

에뮬레이터는 127.0.0.1 로 잡혀 있어서 바꿀수가 없었다. 이것을 해결하기 위해서 포트포워딩을 이용해야 했다.
http://community.365managed.com/morgue/57543
이곳에 가면 윈도우에서 쉽게 쓰는 프로그램이 있다.

쓰는 방법은
listen 에다가 클라이언트가 접속하는 포트 번호를 적어주고 redirect 에다가 에뮬레이터상에서 받아오는 포트 번호를 적어주면 된다. host에다가는 127.0.0.1 을 적어주면 된다.
신고

'안드로이드' 카테고리의 다른 글

RC29로 다운 그레이드가 안됩니다.  (0) 2009.12.02
단말  (0) 2009.11.29
삽질중.. 안드로이드 tcp 통신..  (0) 2009.11.24
안드로이드 에뮬레이터 서버 운영 방법..  (1) 2009.11.21
openFileInput, sdcard  (2) 2009.11.20
음성 녹음 모듈 개발..  (2) 2009.11.19
이전 1 다음

티스토리 툴바