2015. 9. 24. 09:47


> 안드로이드에서 문자열 비교시 다음과 같은 코드를 사용한다.


- 문자열 비교하기


// 문자열 비교하여 동일하면 true를 반환한다.

boolean equals(Object anObject)


//문자열 비교하여 (대소문자 구분안함) 동일하면 true를 반환한다.

boolean equalsIgnoreCase(String anatherString



Java의 경우 String Class를 사용하기 때문에, 직접비교가 아니라 String Class에서 제공하는 함수를 사용해야한다.




'Computer Programming > Android' 카테고리의 다른 글

[Android]BroadCast Err(Handler?)  (0) 2013.09.23
[Android]InApp Billing - 3  (0) 2013.08.08
[Android]InApp Billing - 2  (0) 2013.08.08
[Android]InApp Billing - 1  (0) 2013.08.07
Posted by 은돌군
2015. 7. 3. 10:37

스크롤하여 WebPage 맨 밑(끝?)으로 가는 경우, 추가 적인 기능을 수행해야 하는 경우가 종종 존재합니다~

예를들어, 모모 소셜 사이트에서 스크롤하여 webPage의 바닥까지 내려가는 경우, 추가적인 데이터를 로딩한다던가..

Google Image 검색시 이미지를 구경하다가 맨 밑까지 내려갔을 시, 추가적인 이미지가 로드되는 경우처럼 말이죠~

위의 두개가 같은 경우라고 해야하나요?ㅎㅎ 아무튼!! 스크롤 시에 바닥을 확인하는 경우는 분명 종종 필요합니다~


그럴때 아래와 같은 방법으로 웹 페이지의 바닥 여부를 판단할 수 있습니다.~


$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       alert("bottom!");
   }
});


Posted by 은돌군
2015. 4. 27. 12:57

작업 도중, 방금 Insert 한 data 의 index 를 다른 Table 에 저장해야 하는 경우가 존재했다.

이런 경우 다음과 같은 방법을 사용하면 된다.


mysql_query("INSERT INTO mytable (1, 2, 3)");

$index = mysql_insert_id();


위의 함수는 PHP 에서 지원하는 mysql id 값을 가져오는 함수이기 때문에, 

쿼리문으로는 


SELECT MAX(id) FROM mytable.


이런식으로 사용할 수 있다. index 값의 최종값을 가져오므로 바로 방금 입력한 값의 index를 가져온다.

'Computer Programming > MySQL' 카테고리의 다른 글

[MySQL] ORDER BY 명령어 다중 사용  (0) 2015.03.02
Posted by 은돌군
2015. 3. 2. 11:22

Mysql 명령어 중 'ORDER BY' 라는 명령어는 정렬을 위한 명령어로 'DESC', 'ACS' 두개지 셋팅값을 주어 Example1) 과 같이 사용할 수 있다.


Example1) select writer_id from `board_posts` where upload_inning='1' ORDER BY referee_cnt DESC


"DESC" 명령어는 역방향의 정렬을 위한 명령어이며, "ASC" 명령어는 정방향의 정렬을 위한 명령어이다.

두개 이상의 정렬 기준을 셋팅하기 위해서는, Example2) 같은 방식으로 사용할 수 있다.


Example2) ORDER BY referee_cnt DESC, timestamp ASC


Example2) 와 같은 방식으로 사용하면, referee_cnt DESC 정렬 후, timestamp ASC 가 정렬된다. 즉 왼쪽부터 순차적으로 적용되어 정렬된다.


Posted by 은돌군
2014. 5. 22. 18:29

IOS 의 UILabel의 가로정렬은 아주 간단하게 가능하지만~


세로정렬은 기본적으로 제공하지 않는다.. (가로정렬처럼 align 때려박듯이 한방에 되었으면 좋겠다만)


덕분에 세로정렬을 위해서는 골을 좀 싸메야 한다.!


우선 UILabel의 SIze를 알아내서 Frame을 셋팅하는 방법으로 하면 된단다.


- (void)setUILabel:(UILabel *)myLabel withMaxFrame:(CGRect)maxFrame withText:(NSString *)theText usingVerticalAlign:(int)vertAlign 

{

  CGSize stringSize =

  [theText sizeWithFont:myLabel.font constrainedToSize:maxFrame.sizelineBreakMode:myLabel.lineBreakMode];

    

    switch (vertAlign) {

        case 0// vertical align = top

            myLabel.frame = 

              CGRectMake(myLabel.frame.origin.xmyLabel.frame.origin.ymyLabel.frame.size.widthstringSize.height);

            break;

            

        case 1// vertical align = middle

            // don't do anything, lines will be placed in vertical middle by default

            break;

            

        case 2// vertical align = bottom

            myLabel.frame = CGRectMake(myLabel.frame.origin.x

                                       (myLabel.frame.origin.y + myLabel.frame.size.height) - stringSize.height

                                       myLabel.frame.size.width

                                       stringSize.height

                                       );

            break;

    }

    

    myLabel.text = theText;

} 

 

끝.

Posted by 은돌군
2014. 3. 6. 15:53


View에 slide 효과 주는 코드!


    [UIView beginAnimations:nil context:NULL]; //애니메이션 시작

    [UIView setAnimationDuration:0.2]; //슬라이드 동작하는 시간

    [UIView setAnimationDelay:0.2]; //얼마의 시간후 슬라이드 에니메이션이 동작하는지!

    [UIView commitAnimations]; //애니메이션 동작!


Posted by 은돌군
2014. 2. 11. 13:19

문자열 치환 코드입니다~

. 을 , 로 바꾸는 한줄짜리 코드입니다.~

참고하세용~


  strDist = [strDist stringByReplacingOccurrencesOfString:@"." withString:@","]; 


Posted by 은돌군
2014. 2. 6. 18:31

긴 문자열 내부에 짧은 단어 같은 문자열이 존재 하는지 확인하는 방법이다.

함수로 한번에 딱!! 하는 방법이 있을거라 생각했는데 찾지 못했다.


다음 코드는 jsonString 이라는 문자열 내부에 login 이라는 단어가 포함되어 있는 지 찾는 코드이다.

한번 보시면 이해되리라 믿는다 ㅎㅎ


NSString *jsonString = [[NSString alloc] initWithFormat:@"login Success or fail?"];

NSRange rangeValue = [jsonString rangeOfString:@"login" options:NSCaseInsensitiveSearch];

if(rangeValue.length > 0)

{

//문자열이 내부에 존재함

}

else

{

//문자열이 내부에 존재하지 않음

}



Posted by 은돌군
2014. 1. 24. 19:28

Sample Code 를 다운받아 빌드하는 도중 아래와 같은 문제가 발생함.


Error 중 다음과 같은 에러가 존재..

"Xcode cannot run using the selected device."

"Choose a destination with a supported architecture in order to run on this device"


해결방법으로


1. 최저 Compile target Version 이 현재 Target Version 보다 높게 설정되어 있는 경우,


2. build settings 의 Valid Architectures 가 잘못 설정되어 있는 경우 위와 같은 에러가 발생할 수 있다고 함.

3. build options 의 Compiler for C/C++/Objective-C Default compile (Apple LLVM 5.0) Setting 을 함으로 해결


나의 경우는 3번 문제였음.. 참고하세요~

Posted by 은돌군
2014. 1. 22. 16:45

ios 7.0 , xcode 5.02 기준 작업


2014.1.22.수.16:00

LinkedIn의 경우는 자체 ios SDK 가 없으며, Web Base 의 Api만 제공해준다. (2014.1.22.수 기준)

그렇기 때문에 직접적으로 ios에 사용할 수는 없으며, 다른 OpenSource의 ios SDK 를 사용해야 할 것같다.


우선 첫 Sample Project & ios Open Source 를 찾았다.!!

Sample Project Name : OAuth1Sample 

KinveyKit.framework 와 libUairShip-1.4.0.a 를 링크하여 사용하는 셈플이었다. 

url : http://devcenter.kinvey.com/ios/samples

셈플자체는 동작이 잘 된다.

하지만 이 셈플 프로젝트의 SDK 들을 내 App 에 추가하려니 문제가 생긴다.

Linker command failed with exit code 1 

갑갑한 Link Error 가 생긴다.

Link Error의 문제점 

1. framework 가 없는 경우

 셈플프로젝트와 framework 확인정도?

2. 타겟 App 문제

 타겟 잡혀있나 확인

3. Library Version 문제

 검색중..

4. Xcode 자체적 버그

 해결 불능..ㅠㅠ


2014.1.23.목.11:46

libUairShip-1.4.0.a 의 버젼은 최신버젼이 3.0.0 까지 있다. 

libUairShip 최신버젼을 셈플 코드에 이식해 보았으나, 셈플 코드의 KinveyKit.framework 에서 에러가 떨어진다.

즉, 위의 셈플 코드에서 사용하는 KinveyKit.framework에서 libUairShip-1.4.0 버젼에서만 사용하는 클래스를 사용하는 듯 하다;;


그리고 Link Error 가 나는 이유는.. libUairShip-1.4.0 버젼에서 사용하는 클래스들과, xcode 5.02 에서 사용하는 framework가 달라서 나는게 아닐까?

추측중.. 그럼 어쩌냐;;;


우선 셈플을 다른걸 찾아봐야하나??


14:04

인터넷을 뒤적뒤적이다가 kinveyKit.framework 의 최신버젼을 찾음! - (Ver. 1.25)

기존 셈플에서 사용한 KinveyKit  버젼이 몇버젼인지 모르겟으나 framework 용량이 두배차이!!

그러면, 버젼차이가 많이나서 코드도 완전 다를라나???ㅠ
암튼 우선 프레임 워크 이식... libuairship 없이 이식, & libuairship 3.0.0 과 함께 이식 시도 해볼것!! 우선 셈플에!!

url : http://www.kinvey.com/

- web service 를 위한 sdk 로 보여짐..


15:00

결국 현재상태에서의 문제는 libUairShip-1.4.0.a 를 사용해야 하는데 내 App에 이 아카이브를 추가만 하면 문제가 된다.

그럼우선 Sample Project 를 Xcode5에서 생성 및 framework도 Xcode5에서 주는 아이들과 함께 Framework 만 넣어보면?

Sample 과 같은 framework 를 Xcode5에서 주는 framework 로 사용하고 LibUairShip-1.4.0.a 를 함께 프로젝트에 포함하더라도

문제가 발생하지 않는다.! 그럼 Framework 충돌 문제인가?

그렇다면, 이식한, 즉 libUairShip-1.4.0.a 를 추가했을때 link error 가 났던 App의 framework를 모두 추가해보자!

근데 빈 프로젝트에 필요한 프레임워크만 모두 로드하고 실행하면.... 잘된다..........헐;;;

잘되는게 더 멘붕이다;;;;;;


추측 내 App의 최소 빌드 버젼 셋팅이 다른경우?


16:44

그래.. 더러워서 그냥;; linkedin API 쓰자;;;

framework 붙이다가 아카이브 붙이다가 .. 날샐라;;'

모르믄 손발이 고생해야지...


2014.1.24.금 21:21

LinkedIn API 의 직접구현은 찾아보다가 포기..

oauth 1.0, oauth 2.0 이라는 표준을 사용하며, 토큰이 여러번 왔다갔다 하는 과정을 거침으로, 직접 구현하믄 최소 한달은 걸릴 것이라 생각됨;;ㅠㅠ

고로 기존에 받아 놨던 Sample Code 들 중에서 해결할 수 있는 에러들은 해결해 보자는 생각으로 기존 Sample Code Error check

Error 중 다음과 같은 에러가 존재..

"Xcode cannot run using the selected device."

"Choose a destination with a supported architecture in order to run on this device"

해결방법으로

build options 의 Compiler for C/C++/Objective-C Default compile (Apple LLVM 5.0) Setting 을 함으로 해결

이 외에 시도해 볼 수 있는 일이

최저 Compile target Version 이 현재 Target Version 보다 높게 설정되어 있는 경우,

또한 build settings 의 Valid Architectures 가 잘못 설정되어 있는 경우 위와 같은 에러가 발생할 수 있다고 함.

아무튼, 위 문제를 해결하여 멀쩡한 Sample Code 를(제대로 동작하는) 찾음...

이제 이식만 하면되겟지!!? 라고 바라고 있음.ㅠ


작업완료


https://github.com/PrincessPolymath/LinkedIn-OAuth-Sample-Client

다음 셈플을 가지고 이식하였음.. developer.linkedin.com 에서 제공하는 기본 셈플임..

결론은 그동안 다른 셈플로 이짓저짓한건 다 삽질???..ㅠㅠ


저 셈플을 현재버젼(xcode5.02) 버젼에서 실행시키게 되면

"Xcode cannot run using the selected device."

"Choose a destination with a supported architecture in order to run on this device"

이런 오류가 발생하는데 이 오류에 대해선 이곳에 정리해 놓았음.

http://jjangdali.tistory.com/entry/ObjectCIphoneXcode-cannot-run-using-the-selected-device-Error-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95


그리고 암호화쪽 코드가 .c 코드로 되어 있는데 이부분을 다 .m 으로 바꾸어주면 됨..

이 간단한 걸 몰라서 몇일동안 삽질.... 하아;;;


그리고 코드를 그대로~ 넣으면됨...

다른 셈플들 or 다른 소셜쪽과는 달리 이 sample example 은

delegate에는 추가할 코드가 없음.

셈플의 Oauthloginview.h, m, xib 를 내 앱에 그대로 복사후 사용하고,

셈플프로젝트의 코드를 그대로 사용하면 됨;;;





Posted by 은돌군