구글 플레이 게임 서비스를 사용하다보면 어플리케이션이 실행 될때(onStart 가 호출될 때) 자동으로 로그인 하는 기능이 있다.


이 기능을 키거나 끄기 위해서는 2가지 방법이 있다.


- 구글 플레이 게임 서비스 자동 로그인 켜고 끄는 방법

1.  GameHelper.setConnectOnstart(boolean connectOnStart) 함수를 사용하는 방법.

setConnectOnstart 함수를 사용해서 true 값을 입력해주면 자동 로그인이 켜지게 되고 false 값을 입력해주면 자동 로그인이 해제된다.

2. GameHelper 클래스의 변수값을 직접 변경하는 방법

GameHelper 클래스를 보면 mConnectOnStart라는 변수가 있다. 기본으로 true 가 되어 있는데 이 값이 true 일 경우 자동 로그인이 켜진 상태이고 false 인 경우 자동 로그인이 꺼진 상태이다. 이 값을 true 혹은 false 로 변경해준다면 자동 로그인을 켜고 끌 수 있다.



자동 로그인은 유지하는 편이 유저 편의상 좋을 것이다. 하지만 어플을 처음 실행 했을때 로그인 창이 나오는것은 거부감이 들 수 있다. 이 로그인창이 나오는 횟수를 조절 해 줄 수 있도록 되어있다. 이 로그인창은 유저가 로그인을 하지 않고 닫기 또는 취소를 눌렀을 경우 그 횟수를 저장하여 더이상 나오지 않도록 설계가 되어 있는데 이 횟수를 변경하여 나오지 않도록 하는 방법도 있다. 이 방법 역시 2가지 방법이 있다.


- 구글 플레이 게임 서비스 로그인창 출현 횟수 조절방법

1. GameHelper.setMaxAutoSignInAttempts(int max) 함수를 사용하는 방법.

setMaxAutoSignInAttempts 함수를 사용해서 해당하는 횟수를 입력해주면 처음 어플 실행시 나오는 로그인 창의 횟수를 조절 할 수 있다.

2. GameHelper 클래스의 변수값을 직접 변경하는 방법

GameHelper 클래스를 보면 DEFAULT_MAX_SIGN_IN_ATTEMPTS 라는 변수가 있다. 기본으로 3이 적용 되어 있는데 이값을 0으로 하면 처음부터 나오지 않게 되며 원하는 숫자를 넣게되면 해당하는 횟수만큼 닫기 또는 취소를 눌러야 더이상 나오지 않도록 할 수 있다.

'Development > Java' 카테고리의 다른 글

Byte Array <-> Integer  (0) 2014.05.30
javadoc 작성법  (0) 2013.10.22
제곱 구하는 방법  (0) 2013.09.04
각도 구하는 방법  (0) 2013.09.04
Posted by 후미카
:

integer 를 byte array 로 바꾸는 방법

ByteBuffer 클래스를 사용하면 간단하게 바꿀 수 있다.




	private int byteArray2int(byte[] data)
	{
		ByteBuffer buffer = ByteBuffer.allocate(Integer.SIZE/8);				//integer(4byte) 크기로 buffer 생성
		buffer.order(ByteOrder.BIG_ENDIAN);							//big endian 방식으로 정렬  예) 1025 = 0x00 0x00 0x04 0x01
		buffer.put(data);											//buffer에 byte array 데이터를 넣어준다.
		buffer.flip();											//put을 해주면 buffer의 position이 마지막 위치로 이동하는데 이것을 다시 0으로 되돌려준다.
		
		return buffer.getInt();										//position 위치로부터 integer 값을 가져온다.
	}



	private byte[] int2byteArray(int data)
	{
		ByteBuffer buffer = ByteBuffer.allocate(Integer.SIZE/8);				//integer(4byte) 크기로 buffer 생성
		buffer.order(ByteOrder.BIG_ENDIAN);							//big endian 방식으로 정렬  예) 1025 = 0x00 0x00 0x04 0x01
		buffer.putInt(data);										//buffer에 integer 데이터를 넣어준다.
		return buffer.array();										//byte array 를 가져온다.
	}


'Development > Java' 카테고리의 다른 글

구글 플레이 게임 서비스 자동 로그인 설정 / 해제하기  (0) 2014.06.23
javadoc 작성법  (0) 2013.10.22
제곱 구하는 방법  (0) 2013.09.04
각도 구하는 방법  (0) 2013.09.04
Posted by 후미카
:
이클립스 실행시 android SDK: Resolving error markers 가 뜨면서 더이상 진행이 되지 않는 경우



시작 - 실행 - CMD

이클립스 폴더로 이동 후 

eclipse -clean -refresh


cmd 에서 폴더 이동방법

cd 경로 


ex)  c드라이브에 있는 eclipse 폴더의 경우

cd c:\eclipse




Posted by 후미카
:

파일관리자에서 어플 설치 후 최초 1회에 한해서 어플리케이션이 죽는 현상이 발견 되었다.


adb 또는 이클립스에서 설치시엔 문제가 발생하지 않지만 파일관리자로 설치 시에만 발생하는 문제 였다.


해결 방법은 유니티 최신 버전으로 업그레이드 혹은 매니페스트 에서 android:launchmode 를 변경 해 주는 방법이 있다.









하지만 안드로이드 Developer 에서는 SingleInstance 혹은 SingleTask 의 사용하지 않기를 권고하고 있습니다.


SingleInstance, SingleTask 를 사용하게 될 경우 충분한 테스트가 필요 할 것 같습니다.

Posted by 후미카
:

애드몹을 추가 해 준 뒤에 다음 코드를 싱행 시키면 바로 refresh 되면서 광고가 노출된다.


adView.setVisibility(View.VISIBLE);



Posted by 후미카
:

Device 에서 에뮬레이터 혹은 단말기를 선택 해 주면 됩니다.




Posted by 후미카
:

티스토어 서버와 연결 되었다는 메시지는 나오는데 검은 화면만 나오는 경우가 있다


그럴때는 매니페스트 파일에 다음 메타데이터를추가 해주면된다.


어플리케이션 태그 사이에 넣어주면된다.




<meta-data android:name="iap:api_version"  android:value="1" />
Posted by 후미카
:

javadoc 작성법

2013. 10. 22. 18:32

javadoc은 java document 로 출력을 하거나 변수, 함수 또는 클래스에 마우스 오버시 설명(주석)을 표시 할 수 있도록 해준다.


변수, 함수 또는 클래스의 윗 부분에 /** 로 시작해서 */로 끝나는 주석문을 추가 한다.


자주 사용하는 인자로는 

@author - 작성자

@param - 인자

@return - 반환값

@throws - 예외값

@exception - 예외 처리


등이 있다


내부 설명에서 줄 바꾸기는 <br/> 태그를 이용한다.



ex)

	/**
	* a 와 b 을 더한다
	* a 와 b 은 int 형식 이어야 한다.
	* @author Fumika
	* @param a 더하기를 할 인자 a
	* @param b 더하기를 할 인자 b
	* @return a 와 b 를 합친 값을 반환
	*/
	public int plus(int a, int b) {
		return a + b ;
	}


'Development > Java' 카테고리의 다른 글

구글 플레이 게임 서비스 자동 로그인 설정 / 해제하기  (0) 2014.06.23
Byte Array <-> Integer  (0) 2014.05.30
제곱 구하는 방법  (0) 2013.09.04
각도 구하는 방법  (0) 2013.09.04
Posted by 후미카
:

Input.getTouch(0) 함수 대신


Input.GetMouseButtonDown (0) 함수를 하용하면 터치와 마우스클릭이 동시에 처리 된다.



하지만 Input.GetAxis("Mouse X") 의 경우 마우스와 터치의 반환값은 서로 다르다.

Posted by 후미카
:

TNK 개발 순서

1. SDK 라이브러리 등록

2. META DATA에 app id 등록

3. 퍼미션 등록

4. sdk 최소버전 4 이상으로 설정

5. 액티비티 등록

6. 버튼 누를시 또는 화면 이동시 광고 목록 띄우기

7. 포인트 조회, 인출, 아이템 구매 구현

7.1 - 일괄 설치 기능 추가(유저 편의)

7.2 - 자동 인출 또는 인출, 아이템구매 화면 구성

8. proguard 사용시 예외사항 추가
-keep class com.tnkfactory.**


Posted by 후미카
:

디바이스를 회전 시킬때마다 자동으로 회전되는것을 막는 방법이다.


매니페스트에 있는 <Activity> 안에 한줄의 코드를 추가 해 주면 된다.


android:screenOrientation="portrait" 


또는

android:screenOrientation="landscape" 



portrait  은 세로모드이고 landscape 는 가로 모드 이다.



Ex)

 <activity

            android:name="com.example"

            android:label="@string/app_name"

            android:screenOrientation="portrait" >

Posted by 후미카
:

언어 설정 정보 가져오는 소스


Locale locale = this.getResources( ).getConfiguration( ).locale;
locale.getLanguage( );


한국은 kr 이 반환된다. 


locale 코드

http://developer.android.com/reference/java/util/Locale.html

'Development > Android' 카테고리의 다른 글

TNK 개발 순서  (0) 2013.10.01
안드로이드 화면 회전 금지  (0) 2013.09.12
RuntimeException: Unable to start activity ComponentInfo  (0) 2013.08.22
안드로이드 인앱 빌링 v3  (0) 2013.08.22
Android proguard 적용하기  (0) 2013.08.09
Posted by 후미카
:

Activity 를 매니페스트에 등록 해주지 않고 생성 했을때 나타나는 에러메세지

<activity android:name="com.example.TestActivity"/>

와 같이 매니페스트에 Activity 를 추가 해주면 해결된다.

"com.example.TestActivity" 부분에는 생성 하려는 액티비티명을 넣어주면 된다

'Development > Android' 카테고리의 다른 글

안드로이드 화면 회전 금지  (0) 2013.09.12
안드로이드 언어코드 가져오기  (0) 2013.09.03
안드로이드 인앱 빌링 v3  (0) 2013.08.22
Android proguard 적용하기  (0) 2013.08.09
APK 파일 디컴파일 방법  (1) 2013.08.09
Posted by 후미카
:

project.properties 에 있는

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

부분의 주석을 해제해주면 완료된다.



proguard 적용 후 Export 시 에러 대처법

\sdk\tools\proguard 폴더 내의 proguard=android 안에 오류 패키지명 앞자리를 모두 적어준다


ex)

# The support library contains references to newer platform versions.

# Don't warn about those in case this app is linking against an older

# platform version.  We know about them, and they are safe.

-dontwarn android.support.**

-dontwarn com.badlogic.gdx.**


저장 후 다시 Export

Posted by 후미카
:


jd-gui-0.3.5.windows.zip


dex2jar-0.0.9.15.zip


1. 파일준비

dex2jar 다운로드

jd-gui 다운로드


2.dex2jar.bat 파일 수정

@echo on

set CLASSPATH=

FOR %%i IN ("lib\*.jar") DO CALL "setclasspath.bat" %%i

echo %CLASSPATH%

java -cp "%CLASSPATH%" pxb.android.dex2jar.v3.Main %*


굵게 표시된 부분에 off 되어있는 부분을 on으로 수정


3. apk 파일 확장자명을 zip 파일로 변경한뒤 압축풀기

4. classes.dex 파일을 dex2jar 폴더로 이동

5. cmd 창에서 dex2jar.bat classes.dex 실행

6. jd-gui 에서 classes_dexdex2jar.jar 파일을 불러오기



Posted by 후미카
:
1.매니페스트에 밑줄 굵은부분 추가

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AdmobActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity" 
android:configChanges="keyboard|keyboardHidden|orientation"/> 
</application>
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
</manifest>

 

2. 액티비티의 onCreate에서  아래 와 같이 사용




  AdView adView // (전역변수로 생성)
  String 변수 이름 = admon에서 받은 게시자 ID 입력
 
 adView= new AdView(this, AdSize.BANNER, 게시자 ID);
 LinearLayout layout = xml 의 레이아웃과 연결 (또는 자신이 생성한 layout)
 
layout.add(adView)
 
adView.loadAd(new AdRequest());

 



 

3. 아래와 같이 꼭 적어 줘야 뒤에서 자동 갱신이 안됨



  public void onDestroy(){
     adView.destroy();
     super.onDestroy();
  }




Posted by 후미카
:

abmob (애드몹) 에러 메세지

You must have AdActivity declared in AndroidManifest.xml with configChanges


문제해결

1) activity를 추가 (옵션 정확하게)

<activity android:name="com.google.ads.AdActivity"

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

2) android target 변경 (SdkVersion 15)

<uses-sdk

android:targetSdkVersion="15" />

'Development > Android' 카테고리의 다른 글

RuntimeException: Unable to start activity ComponentInfo  (0) 2013.08.22
안드로이드 인앱 빌링 v3  (0) 2013.08.22
Android proguard 적용하기  (0) 2013.08.09
APK 파일 디컴파일 방법  (1) 2013.08.09
admob 추가 방법  (0) 2013.08.05
Posted by 후미카
:

카테고리

전체보기 (102)
Development (102)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/05   »
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

글 보관함