글 수 143
로그인 없이 자유롭게 사용하세요. 모든 게시판의 자료는 비회원도 열람 및 쓰기가 가능합니다.
악성 스팸과 광고성 글로 인하여 회원 가입을 중단합니다. 글쓰기를 원하시면 이 곳에 글을 남겨주시면 조치해드리겠습니다.
안드로이드 2.3으로 제작했는데.. 이걸 다시 2.2이상으로 바꿀려면 어떻게 하나요???

안녕하세요..

제가 안드로이드로 어플을 제작하고 있는데요..

제 폰이 2.3이라 Google APIs 10 .. 2.3 용으로 제작을 하고 있습니다.

그런데 이걸 2.2로 바꾸고 싶어서 AndroidManifest 에서

android:minSdkVersion="8" << 8로 바꾸고

프로젝트 전체를 Google APIs 8... 2.2 로 바꾸었습니다.



Run Configutions 에서도 AVD를 Google APIs 8로 만들어서 실행을 하면



Installation error: INSTALL_PARSE_FAILED_NO_CERTIFICATES

Please check logcat output for more details.

Launch canceled!



이렇게 에러가 떨어집니다.



제가 2.3에서 2.2로 바꾸는게 잘못된건가본데요...



2.3 -> 2.2 로 프로젝트를 바꿀수 있는 방법을 자세히 가르쳐주시면 감사하겠습니다.
MFam
댓글
2011.08.12 00:54:06
저거 사인이 잘못되었을 때 나오는 에러인데...
http://koreawolf.tistory.com/237


여기 해결책이 나와있긴 해요...


그런데 그 전에 build 타겟을 2.2로 바꾸셨나요?
xml파일에 아래처럼 간단하게 버튼2개만 놧구요..

...

=================================================================================

제가 임의대로 글을 삭제해서 죄송한데요...

다음부턴 파일을 그냥 직접 메일로 좀 보내주세요... 이곳에 html 태그 비슷한걸 쓰게되면 게시판 전체에 글이 깨져버리네요 ㅠㅠ

메일주소는 dc1278@네이버.com 입니다. (스팸메일 자동읽힘 방지하기위해서... 네이버=naver로 바꿔주시면 됩니다.)

이곳으로 부탁드려요.

=================================================================================
MFam
댓글
2011.08.03 20:53:26
올리신 소스코드는 확인해봤는데요...

아직 버튼 이벤트에 대한 클릭리스너에 대한 개념이 확실히 잡혀있지 않으셔서 그런것 같네요...

아무데서나 onClick 이라고 쓴다고 버튼이 다 인식되는게 아니고, onClick는 OnClickListener을 상속받거나 구현했을 때 Override해서 쓰는 함수입니다.

http://h2110.tistory.com/50

이 곳에 아주 기초적인 부분이지만 자세하게 잘 나와있네요... 이 곳 참조하셔서 구현하시면 될 것 같아요.


그렇게 해서 onClick을 구현하시게 되면 그 안에서

Paint mPnt1, mPnt2; 라는것을 전역변수로 선언해 주신다음에 바꾸셔도 될꺼 같구요...아님 지금 이자리가 좋다 생각되시면

mPnt1변수와 mPnt2변수에 대한 set메소드를 만들어서 변수의 값을 변경시켜줘도 되구요...

일단 하나하나 차근씩 해결해 나가 보지요...
애플사
삭제 수정 댓글
2011.08.03 21:28:35
protected class MyView extends View {
Paint mPnt1;
Paint mPnt2; <------------이 부분이 지역변수이고


public MyView(Context context) {
super(context);


// Paint 객체 미리 초기화
mPnt1 = new Paint(); <------------여기서 set메서드를 이용해서 변수값을 바꿔 준건데..이게 아닌가요..??
mPnt1.setColor(Color.BLACK);
mPnt1.setStrokeWidth(3);
mPnt1.setAntiAlias(true);

mPnt2 = new Paint();
mPnt2.setColor(Color.RED);
mPnt2.setStrokeWidth(3);
mPnt2.setAntiAlias(true);
}


public void onDraw(Canvas canvas) {
canvas.drawColor(Color.LTGRAY);


// 정점을 순회하면서 선분으로 잇는다.
for (int i=0;i<arVertex.size();i++) {
if (arVertex.get(i).Draw) {
canvas.drawLine(arVertex.get(i-1).x, arVertex.get(i-1).y,
arVertex.get(i).x, arVertex.get(i).y, mPnt1);
}
else if (arVertex.get(i).Draw) {
canvas.drawLine(arVertex.get(i-1).x, arVertex.get(i-1).y,
arVertex.get(i).x, arVertex.get(i).y, mPnt2);
}
}
}
public void mOnClick(View v) {
switch (v.getId()) {
case R.id.bla:
[ ] <-------------이부분을 어떡해 등록해야하는지 궁금한데....혹시 아시나요...ㅜㅜ
break;
}
}
MFam
댓글
2011.08.04 12:09:32
지금 코드에서 mOnClick(View v) 에다가 아무리 코드를 짜도 동작을 안한데니까요...
위에 링크 걸어놓은곳 참고하셔서 onClick 구현하시구요,


mPnt1 = new Paint(); <------------여기서 set메서드를 이용해서 변수값을 바꿔 준건데..이게 아닌가요..??
그리고 이 부분은 위에 주석달린대로 초기화 하는 부분이지 set하는게 아니잖아요...

mPnt는 한개만 만드시구요.
mPnt = new Paint();
mPnt.setStrokeWidth(3);
mPnt.setAntiAlias(true);
changePaintColor(Color.BLACK);


public void changePaintColor(int color) {
mPnt.setColor(color);
}


이렇게 만들어 놓으면
onClick에서 누른 버튼이 뭐냐에 따라서
changePaintColor(Color.???);
이것만 호출해주면 되겠지요...?
비밀글입니다.
전 여기서 다시 공부해야 할건 가봐요..ㅠ.ㅠ
MFamStory님 정리 너무 잘해 두셨네요~!!
MFam
댓글
2011.08.02 12:32:43
헑 !!!!!! 열쓰님 이 누추한 곳까지 다 방문을;;;
정리는요 무슨 ㅠㅠ... 그냥 생각나는데로 눈에 보이는데로 다 가져올 뿐이지요...
저는 요즘 안드로이드 어플을 개발하고 있습니다...
다른 사람과 함께 정보를 공유하다보면 저도 어느샌가 그만큼 이해하게 되더라구요...
아직 한참 부족한 실력이지만 제가 아는 한도내에서는 최대한 함께 정보를 공유하고 싶어요ㅎㅎ
또 놀러와주세요 ^ ^
클릭시 위젯을 출력하고 싶은데.. 도저히 방도가 안보이네요.. 오늘도 이것때문에 하루가 다 지나갈 까봐 두려워요
죄송하지만 이것이 되는 예제 좀 부탁드려도 될까요?
MFam
댓글
2011.08.02 12:35:58
클릭 시 위젯을 출력하고 싶으시다는게... 어떤 말씀이신지 이해가 잘 안되는데

간단한 방법으로는.....

모든 위젯들을 다 그려놓구 특정 버튼을 누르면 보여주거나 감추고 싶은 위젯의 속성을 Visbible , inVisible, Gone 으로 바꿔주는게 낫지 않을까요?

이에 관한 자료는

study 게시판에도 있지만 직접 퍼다드리자면...

android:visibility

Since: API Level
Controls the initial visibility of the view.
Must be one of the following constant values.
This corresponds to the global attribute resource symbol visibility.
Related Methods

setVisibility(int)

visible : Visible on screen; the default value.
invisible : Not displayed, but taken into account during layout (space is left for it).
gone : Completely hidden, as if the view had not been added.
고기부페
삭제 수정 댓글
2011.08.02 13:18:18
아참 너무 제 시점으로만 설명했군요/notifychanged(?) 이것은 단지 갱신할뿐 추가해 주진 안아서 쓸모가 없네요
음 제가 원하는 예제는 클릭시 ListView 형태로 위젯이 출력되어 지는 것입니다
그래서 예를 들면 editText와 Spinner가 있으면 버튼 클릭시 다음줄에 추가가 되는 것이지요..
부탁드려요~~
추가로 삭제1개와 전부삭제도 부탁드릴께요 ^^
MFam
댓글
2011.08.02 16:14:46
글쎄요..... 그런 예제를 갖고 있는게 없어서.....

그냥 단순하게 생각해서...

LinearLayout linearView = (LinearLayout) findViewById(R.id.xxx); 를 하나 얻어서...


EditText ed = new EditText(); <-- 애는 xml 레이아웃에 있는게 아니고 코드상에서 직접 생성하는 녀석입니다.
ed.setText("라든가 기타 속성"); 등등 지정해준다음에


온클릭 이벤트 때
linearView.add(에디트텍스트);
linearView.add(스피너);


이런식으로 넣어주기만 하면 되는거 아닌가요?
고기부페
삭제 수정 댓글
2011.08.02 21:13:24
말씀하신 커스텀 인것 같은데요.

커스텀 같은 경우 찾아보니 종류가 굉장히 많네요..

초보자에게 꼭 필요한 커스텀들을 알려주세요 ^^
MFam
댓글
2011.08.03 09:47:33
무슨 커스텀을 말씀하시는건지...

어떤것을 질문하는 것이신지 명확히 모르겠네요...ㅠㅠ 미안해요...

커스텀이라는것은 말 그대로 사용자 정의이기 때문에 마음데로 커스터마이징 하셔서 쓰시면 됩니다;;;