Programming/Android2011.08.16 10:30
안드로이드 애뮬레이터 실행시 발생하는 오류입니다.
경로 중간에 빈공간이나 한글등이 들어가면 생기는 오류입니다.
다시 설치하는 방법이 있으나 링크로 해결하는 방법이 있습니다.

C:>MKLINK /j C:\Android "C:\Program Files\Android\android-sdk\"


참고 사이트
http://www.androidpub.com/1644488
Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

NHN인턴을 지원하면서 작성하게 된 흐름도와 순서도



 
Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

  1. 실행할때 나의 도서관정보를 얻어오는 방식이 인터넷방식인가요?
    메모리 방식으로 바꺼주시면 감사하겠습니다.
    3g와 와이파이만 끄고 들어가도 나의 도서관 리스트 는 보이게 해주셔야지 데이터용량도 적게 든다고 봅니다.
    지금 쓰는 방법은 키자마자 정보를 무조건 받아오는 방식 인것 같은데 그러면 데이터를 받게됩니다.
    하지만 메모리에 나의 도서관을 저장해두면 불필요한 데이터를 쓸일이 없겠지요.

    실행->서버에 접속 나의도서관 정보 받아오기->있으면 출력->클릭시 도서관 좌석표가져오기
    이방식은 2번의 접속입니다만.
    실행->메모리에 나의 도서관이 있는가? -> 있으면 바로 목록 출력->클릭시 도서관 좌석표 가져오기
    이방식은 1번만 접속하니 더 효율적이라고 생각되네요.

    2011.05.20 17:09 [ ADDR : EDIT/ DEL : REPLY ]
    • 이전에 그런 방식을 사용했었습니다. 정보가 변경되어도 업데이트되지 못해 오류가 생겼습니다. 그래서 지금 버전을 사용하고 있습니다. 새로운 아이디어가 떠올라 새로운 작업을 통해 데이터븀 통신을 적게 하도록 변경해 보겠습니다

      2011.05.20 19:56 신고 [ ADDR : EDIT/ DEL ]
  2. 오늘 속도 테스트해보니 도서관정보 불러오는데 4초정도 도서관 좌석표 불러오는데 1초도 안걸렸습니다.
    도서관 좌석표사용하는 사람들이 많다면 트래픽초과로 더느려질수도있으니.. 빠른해결부탁드립니다.
    http://175.125.92.193/library/library_by_number.php?number=도서관코드 들어가보니 xml 방식이더군요.
    xml db를 sd카드로 옮기는방식이 오류가 난다고하시니. .빠른해결부탁드립니다.^^(어플 잘사용하고있어요.)

    2011.05.23 19:09 [ ADDR : EDIT/ DEL : REPLY ]
    • 뭔가 관련 전공자이신것 같군요;
      도서관 정보를 읽어오는 과정이 현재 잘못된 방식을 사용하고 있어 도서관에 따라서 시간 차이가 많이 나고 있습니다. 2.0.0 버전에서는 그런 문제점을 해결할 예정입니다.

      2011.05.24 12:29 신고 [ ADDR : EDIT/ DEL ]
  3. 비밀댓글입니다

    2011.08.03 03:38 [ ADDR : EDIT/ DEL : REPLY ]


오호~ 아이폰 버전까지 이어 가자~!
Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

Project/중앙인2011.05.05 13:06
중앙인 홈페이지가 개편되면서 파싱을 해오지 못해서 모든 기능들이 동작하지 못하였습니다.

복구 작업을 진행하여 기존의 모든 기능들을 다시 사용할 수 있게 되었습니다.

사용자 분들이 주의해야할 한 가지는 통합 아이디로 로그인하셔야 한다는 것입니다.
 
Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

개발 시작하고 11개월쯤 되니 추천 어플리케이션에 올랐군요.... ㅜ.ㅜ

너무 기쁩니다. 엉엉

 

Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

  1. YP-GB1

    안녕하세요 YP-GB1 갤럭시 플레이어를 사용하고 있는 유저인데요, 갤럭시 플레이어에서도 도서관 좌석 정보 어플을 사용할 수 있었으면 좋겠네요 ^^ 참 유용하고 좋은 어플인것 같은데 이 기기에서는 지원이 안되는것 같아서 문의드립니다^^

    2011.03.31 20:51 [ ADDR : EDIT/ DEL : REPLY ]
  2. 비밀댓글입니다

    2011.04.05 00:23 [ ADDR : EDIT/ DEL : REPLY ]
  3. 네임

    님 아이디로 검색하면 도서관어플이아닌 3개어플만검색됩니다
    인터넷되고요 새로산지 얼마안되서 구글맵은 잘모르겠습니다
    도서관 좌석 으로 검색해도 안나오고요...

    2011.04.07 00:22 [ ADDR : EDIT/ DEL : REPLY ]

Programming/Android2011.02.04 16:15
코드로 TextView의 글자 크기를 변경하였습니다.
테스트는 HVGA 에뮬레이터와 안드로원 이었습니다.
글자 크기를 +1, -1 적용하는데 문제 없었습니다.
하지만 오류 보고 계속 왔죠. 글자 크기 조정이 제대로 안된다고..
특히 -1은 작아지는 것이 아니라 더 커진다고..
확인해 보니 WVGA에서는 계산한데로 제대로 적용되지 않고 있었습니다.
어떻게 해보아도 제대로 되지 않았는데 찾아 보니 setTextSize 는 2개의 메소드가 있더군요.
기본적으로 쓰는 것을 말고 단위를 선택하는 메소드가 있습니다.


TypedValue 값을 이용하여 단위를 정할 수 있습니다.


TypedValue.COMPLEX_UNIT_PX 가 pixel 단위를 나타냅니다.

그러므로 우리가 코드에서 크기를 변경할때 pixel 단위를 사용한다면 이것을 사용하여야죠.

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);

Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

Project2011.01.25 14:15
많은 버그로 인해서 다운그레이드 작업을 진행하였습니다.

1.0.0 버전에 있던 설정을 가져와 적용하였습니다.

1.1.0 에 맞게 수정되었습니다.

글을 오래 누르면 나오는 메뉴와 메뉴 버튼을 누르면 나오는 메뉴를 통합하였습니다.

인코딩을 선택할때 예전보다 더 많은 글이 나오도록 하였습니다.






Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

Programming/Android2011.01.25 12:50
안드로원을 테스트폰으로 사용하고 있습니다.

안드로원이 2.2로 업데이트된 이후로 smoothScrollTo 가 적용되지 않습니다.

이유는 알 수 없으나 검색을 통해 해결 방법을 찾아 냈습니다.

	scrollView.post(new Runnable(){
				public void run() {
	            	scrollView.scrollTo(x, y);
				}
            });

Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

  1. dasf

    감사합니다! 해결^^

    2012.02.10 15:48 [ ADDR : EDIT/ DEL : REPLY ]
  2. songahlee

    ㅎㅎ 저도 님 덕분에 해결하고 갑니다~ 감사!

    2014.06.11 11:15 [ ADDR : EDIT/ DEL : REPLY ]

Programming/Android2011.01.21 02:04
onPrepareDialogBuilder 는 Dialog 가 보여지기 전에 실행되는 메소드 입니다.

DialogPreference 에 존재하고 있으며 AlertDialog.Builder 를 만들고 설정 후에 onPrepareDialogBuilder로 넘겨 줍니다.

이 받은 Builder는 아마도... 그냥 객체만 생성된 것 같습니다. 메소드를 비워두면 아무것도 안 뜨는 것을 알 수 있습니다.



	

package android.test;

import android.app.AlertDialog;
import android.content.Context;
import android.preference.ListPreference;
import android.util.AttributeSet;

public class ColorListPreference extends ListPreference {

	public ColorListPreference(Context context, AttributeSet attrs) {
		super(context, attrs);
	}
	
	public void onPrepareDialogBuilder(AlertDialog.Builder builder){
		
	}
}



넘겨 받은 Builder 에는 XML에서 지정한 제목만 들어갔네요. 아... 그런데 버튼이.. 원래 이런 스타일이 아니었죠!

버튼이 하나였던것 같은데.... 이걸 직접 수정할 수 있지만...

부모의 메소드를 실행해 보겠습니다.

	public void onPrepareDialogBuilder(AlertDialog.Builder builder){
		super.onPrepareDialogBuilder(builder);
	}

어라 이게 원했던 스타일이죠! 아... 그런데 리스트에 있는 값들이 맘에 안드네요....

원래 부터 저걸 바꾸기로 한거였는데... 이제 다시 원점이군요.

상위 메소드를 실행해서 저런 스타일을 가지는 builder가 만들어 졌습니다. 그럼 이제 그 builder 로 리스트의 값만 바꿔주면 끝입니다!!!



	
		
	
	
	

import java.util.ArrayList;
import java.util.List;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.preference.ListPreference;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class ColorListPreference extends ListPreference {

	public ColorListPreference(Context context, AttributeSet attrs) {
		super(context, attrs);
	}
	
	public void onPrepareDialogBuilder(AlertDialog.Builder builder){
		super.onPrepareDialogBuilder(builder);
		builder.setAdapter(new ColorListAdapter(getContext(),R.layout.color_list_preference_row,getEntriesList()), new OnClickListener(){
			public void onClick(DialogInterface dialog, int which) {
				Log.i("yViewer","click item : "+which);
				setValue(getEntryValues()[which].toString());
				dialog.dismiss();
			}
		});
	}
	
	private ArrayList getEntriesList(){
		ArrayList list = new ArrayList();
		CharSequence[] array = getEntries();
		
		for(CharSequence name : array){
			list.add(name.toString());
		}
		
		return list;
	}
	
	private class ColorListAdapter extends ArrayAdapter{
		private ColorString rgb;
		
		public ColorListAdapter(Context context, int resource, List objects) {
			super(context, resource, objects);
			rgb = new ColorString();
		}
		
		public View getView(int position, View view, ViewGroup parent){
			LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			String name = (String) ColorListPreference.this.getEntries()[position];
			String value = (String) ColorListPreference.this.getEntryValues()[position];
			
			view = vi.inflate(R.layout.color_list_preference_row, null);
			
			View colorView = view.findViewById(R.id.color);
			TextView nameView = (TextView) view.findViewById(R.id.name);
			Log.i("yViewer",value);
			colorView.setBackgroundColor(rgb.toRGB(value));
			nameView.setText(name);
			nameView.setTextColor(rgb.toRGB(value));
			
			return view;
		}
	}
}


오호!! 원하는데로 나오는 군요!! 

그런데... 이게 뭔가요.... 클릭해도 저장이 안되네요? 값 저장을 처리해야 할까요?

음... 기본으로 되어 있는데 괜히 건드리고 싶지는 않군요

검색을 통해서 알아보니 체크가 되는 리스트뷰 항목을 만들려면 각 항목의 최상위 뷰가 Clickable을 구현해야 한다고 합니다.

결국 새로운 뷰를 하나 만들어야 한다고 합니다.

늦었으니 그건 다음에... ^^;
Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요

Programming/Android2011.01.21 00:49
안드로이드 뷰에서 색상을 지정하려면 drawable, resource, rgb 값이어야 합니다. 

일단 drawable, resource는 아닙니다. 그럼 int형인 rgb값을 지정해야 합니다.

int형 rgb값은 Color.rgb(int r, int g, int b) 로 얻을 수 있습니다. 

r,g,b 값을 따로따로 int형으로 줘야 합니다. 우리가 가지고 있는 16진수 문자열인데.... 

Integer.parseInt()로 변환도 안되고... 직접 만들어야 겠습니다!

import java.util.Hashtable;

import android.graphics.Color;

public class ColorString {
	private Hashtable hexTable = null;
	
	public ColorString(){
		hexTable = new Hashtable();
		hexTable.put('0', 0);
		hexTable.put('1', 1);
		hexTable.put('2', 2);
		hexTable.put('3', 3);
		hexTable.put('4', 4);
		hexTable.put('5', 5);
		hexTable.put('6', 6);
		hexTable.put('7', 7);
		hexTable.put('8', 8);
		hexTable.put('9', 9);
		hexTable.put('A', 10);
		hexTable.put('B', 11);
		hexTable.put('C', 12);
		hexTable.put('D', 13);
		hexTable.put('E', 14);
		hexTable.put('F', 15);
	}
	
	public int toRGB(String color){
		String strR = color.substring(1, 3);
		String strG = color.substring(3, 5);
		String strB = color.substring(5);
		
		return Color.rgb(getHexValue(strR), getHexValue(strG), getHexValue(strB));
	}
	
	private int getHexValue(String num){
		return hexTable.get(num.charAt(0)) * 15 + hexTable.get(num.charAt(1)); 
	}
}
hashtable을 안 써도 되긴 하지만.... 그리고 static이 더 편할 수도 있지만....

그냥 만들다 보니 이렇게 됐네요 ㅋ
Posted by 초프 초프(초보 프로그래머)

댓글을 달아 주세요