Android 안드로이드2014. 8. 31. 12:44



안드로이드에서 가짜 GPS사용

안드로이드에서 모의 GPS 사용

ANDROID에서 모의 위치 사용

안드로이드에서 모의 좌표 사용

안드로이드에서 가짜 좌 표 사용

ANDROID에서 가짜 GPS 테스트

안드로이드에서 모의 좌표 테스트

ANDROID에서 모의 위치 테스트

안드로이드에서 위치 속이기

안드로이드에서 좌표 속이기

ANDROID에서 GPS 속이기





먼저 앱에서 모의 좌표 기능을 사용하려면 아래처럼 AndroidManifest.xml에 설정을 한다.


<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />


이후 부터 스마트폰에서 모조 GPS를 사용할 수 있다.

Posted by 코드버무려
Android 안드로이드2014. 8. 19. 16:08




getFragmentManager()

findFragmentById()

Android 4.4W API Level 20

google map API 

구글 맵 API 

구글 map API 





구글에서 제공하는 구글 맵 API를 사용해 지도를 스마트폰 화면에 올리는 중이다. 


아래와 같은 안드로이드 코드가 있다. 다른 부분은 에러 없이 지나갔으나 유독 아래 줄에서 문제가 되었다. 임포트도 했고 R.java관리도 적절하고.... 약 3시간 보내면서 해결했다.



private GoogleMap myMap;

myMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.frag_map)).getMap();



이클립스가 getFragmentManager, findFragmentById에 빨간 밑줄을 그려놓고 에러를 보여준다.

getFragmentManager를 getSupportFragmentManager로 바꾸어 보았으나 해결책이 되지 못했다.


Project -> Properties -> Android -> Project Build Target에서 

Android 4.4W API Level 20으로 잡아놓는다.

Project > Clean...해주면 오류를 잡을 수 있다.


물론 

Project -> Properties -> Android -> Library에 

최신 google_play_services_lib와 appcompat_v7는 함께가야한다.

Posted by 코드버무려
Android 안드로이드2014. 8. 19. 01:15

안드로이드 소스 파일 이름 변경. 안드로이드 소스명 변경. 안드로이드 클래스 이름 변경

안드로이드 프로젝트에서 패키지를 변경하는 확실하고 손쉬운 방법

안드로이드 프로젝트에서 패키지 주소를 변경하는 확실하고 손쉬운 방법

안드로이드 프로젝트에서 파일명(소스 파일 이름. 클래스와 클래스.java)을 변경하는 가장 쉬운 방법.

안드로이드 프로젝트에서 파일이름(소스 파일 이름. 클래스와 클래스.java)을 변경하는 확실하고 쉬운 방법.

Android class name change. How to change android class name. change android package name.



안드로이드 프로젝트명 변경은 간단하다. Package Explorer 상의 바꿀려는 프로젝트를 선택하고 키보드 F2를 눌러주면 대화상자가 뜨고 새로 이름을 적어 넣어 주면 그만이다. 다른 것도 이처럼 쉽게 된다면 프로젝트 관리가 한결 쉬워질 것이다. 몇몇 구성을 재설정 할 때는 주의를 요한다.


패키지 주소를 바꾸려고 할 때는 그렇게 쉽게 되지 않는다. 파일이름과 같은 자바 클래스 이름을 바꾸려면 이것도 쉽게 되지 않는다. 아래 링크 "패키지 주소와 파일이름 변경 과정 중 삽질"은 그 와중에 경험을 기록했다. 이 후에 배나 더 많은 시간과 함께했다.


패키지 주소와 파일명 변경 과정 중 삽질

http://santerminal.tistory.com/93



이렇게 대낮에 시작한 변경 작업은 하루를 보내면서 자정이 되어야 해결책을 찾았다. 많은 프로젝트를 변경해보고 에러를 목격하고 지우고를 반복했다. 시작하는 안드로이드 개발자에게 도움이 되고 무엇보다 나 자신이 소중한 경험을 보존하고자 정리하였다.



ㄱ. AndroidManifest.xml에서 패키지 라인(package="com.example.yourapp" 줄)을 먼저 변경한다.


ㄴ. src폴더 바로 아래 패키지 명 (예 com.example.appname)에서 키보드 F2를 눌러 변경

ㄴㄴ.(src폴더에서 *.java 각 소스 상단 package를 건들지말 것!).

ㄷ. gen폴더는 자동으로 변경된다.


ㄹ. AndroidManifest.xml의 <activity android:name=".ManyActivity" ~ >요소(엘리먼트)에서 MainActivity를 NewActivity로 바꾼다.

ㅁ. src폴더 아래 MainActivity.java 파일을 NewActivity.java로 바꾼다.

ㅂ. res/layout폴더 아래 activity_main.xml을 activity_new로 바꾼다.

ㅂㅂ. src폴더 아래 NewActivity.java에 내용이 자동 갱신된다.


ㅇ. src폴더 아래 Old.java파일 이름을 New.java로 바꾸면 대화 상자가 뜨고 연관된 클래스, 레퍼런스 변경 점을 미리보기하고 변경한다.



간혹 잘 못되었을 경우 프로젝트를 깨끗이 지우고 백업해 놓은 프로젝트를 import하더라도 기존에 변경했던 AndroidManifest.xml가 보인다. 내부에 잘 못된 내용이 새로 임포트한 AndroidManifest.xml파일로 갱신되지 않는 것이다. 이클립스를 닫고 workspace에서 ".metadata"폴더를 지워주고 새로 프로젝트(와 필요한 연관 프로젝트)를 임포트해야 해결된다. 프로젝트를 물리적으로 지웠음에도 흔적이 남는 것은 eclipse 오류로 보인다.eclipse를 닫아야 ".metadata"폴더를 삭제할 수 있다.



끝으로 

이클립스 New > Android Application Project 로 최소 설정한빈 프로젝트를 만들고 안드로이드 개발자 예제 소스를 복사해 넣으면 어느 순간컴파일 에러를 만난다. 다음 부터는 개발자 셈플을 거의 그대로 가져와도 사라질 줄 모르는 오류에 시간을 일부 할애할 예정이다.

Posted by 코드버무려
Android 안드로이드2014. 8. 18. 14:49

패키지 주소와 파일명 변경 과정 중 삽질


이클립스로 안드로이드 프로젝트를 만들어가는 중 패키지 주소를 변경할 필요가 생겼다.

아울러 프로젝트 명과 앱 이름도 같이 가꾸어야 했다.


Package Explorer에서 바꾸려는 항목을 클릭하고 키보드 상에서 F2를 누르면 대화 상자가 뜬다.

예로 클래스를 바꾸면 연관된 부분을 같이 바꾼다고 preview로 알려준다.

그 아래에 경고 문구가 주를 6줄 정도 같이 뜬다.

내용을 보니 기존에 다운 바은 사용자는 자동 업데이트 적용 불가능하다고 알려준다.

몇 가지가 더 있다.


새로 프로젝트를 만들면서 패키지 주소와 클래스 이름 등 여타 항목을 새로 만들기도 했다.

복사해 넣고 리소는 드래그앤드롭으로 끌어 놓아 갔다.


중간에 AndroidManifest.xml 파일이 2개가 생성되었다. 어느 순간에 나타났는지 포착하지 않았다.

내용이 같아 하나를 지웠다. 모든 부분을 다 넣었고 소스에서 변경된 클래스에 맞추어 레퍼런스도

바꿨다. 


매너패스트가 없다고 나온다. 폴더에는 없는데 Package Explorer는 보인다. 만들어 주었다.

마지막 에러 하나가 잡히지 않는다. 클래스에 이름 쭉 그어져 있고...


다시 만들어야 하나. ......

....

..

.

.


.

.

..


Android소스 에러없이 패키지와 클래스명 변경

http://santerminal.tistory.com/95



Posted by 코드버무려
Android 안드로이드2014. 8. 13. 12:41

안드로이드 액티비티 타이틀바 없에기

안드로이드 액티비티 타이틀바 삭제

안드로이드 액티비티 타이틀바 제거

안드로이드 Activity의 Title bar 제거하기

안드로이드 Activity의 Title bar 삭제하기

액티비티 타이틀바 제거하기

액티비티 타이틀바 삭제

Removing the title bar from some Activity




크게 3가지로 Activity에서 타이틀바를 보이지 않게 할 수 있다.


ㅁ 1. manifest 파일에서 타이틀바를 제거하려는 activity element의 속성에 추가

    android:theme="@android:style/Theme.NoTitleBar"




ㅁ2. 매니페스트 메인액티비티 윗 부분에 android:theme = "@android:style/Theme.NoTitleBar" 추가하세요 

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme = "@android:style/Theme.NoTitleBar.Fullscreen">

....

</application>



<application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar">

.....

</application>




ㅁ3. 프로그램 코드로 삽입

    requestWindowFeature(Window.FEATURE_NO_TITLE);


삽입 위치는 onCreate() 내부에 setContentView(R.layout.acty_mnlivememo) 코드 전에 호출하고

import android.view.Window를 임포트 해준다.


protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); 

setContentView(R.layout.acty_mnlivememo);




manifest 파일로 타이틀바 삭제를 권장합니다. 매너페스트 파일에 titlebar 소거를 설정할 경우 처음부터 타이틀바가 존재하지 않는다. 코드로 쓸 경우는 사람이 인지할 수 없을 정도로 타이틀바를 가져오고 requestWindowFeature(Window.FEATURE_NO_TITLE);를 만나면 비로서 타이틀바를 삭제한다. 속도 차이는 미세하나 manifest  쪽이 더 빠르다. 동적으로 타이틀바를 보이게 보이지 않게하려면 코드에 쓰는 방식이 필요하다.


Posted by 코드버무려