본문 바로가기

Java

[Scala] Generic Classes Scala에도 Java처럼 Generic이 있다. 당연히 Java 1.5부터 가능하다 Generic 클래스는class Stack[T] { var elems: List[T] = Nil def push(x: T) { elems = x :: elems } def top: T = elems.head def pop() { elems = elems.tail }} 사용은 그대로 object GenericsTest extends App { val stack = new Stack[Int] stack.push(1) stack.push('a') println(stack.top) stack.pop() println(stack.top)} 결과는 아래와 같이 나온다.971 더보기
[Scala] 맛보기~! (2) - Java 사용하기 import java.util.{Date, Locale} //클래스 지정import java.text.DateFormatimport java.text.DateFormat._ // *은 특수한 키워드로 _ 가 Java에서의 *이다. object FrenchDate { def main(args: Array[String]) { var now = new Date //Java 의 Date 생성 val df = getDateInstance(LONG, Locale.FRANCE) println(df format now) }} df format now 의미는 Java로 표현하면 이것 과 같다. df.format(now) - 모든 것은 Object 이다. Java는 기본자료형이 있지만 Scala의 경.. 더보기
[Scala] 맛보기~! 1. Map 사용법var capital = Map("US" -> "Washington", "France" -> "Paris") capital += ("Japan" -> "Tokyo") println(capital("France")) 2. 재귀 함수 println(factorial(30)) def factorial(x: BigInt): BigInt = if (x == 0) 1 else x * factorial(x-1) 3. Java vs Scala3-1Java의 경우 class MyClass { private int index; private String name; public MyClass(int index, String name) { this.index = index; this.name = name; .. 더보기
OS X에서 Scala 개발 환경 구축하기~! 1. scala 설치하기~! (homebrew설치가 되어있어야한다!)터미널에서 다음과 같이 입력brew install scala 2. IDE 다운받기 3. 테스트 프로젝트 생성 그리고 다음과 같은 코드를 실행한다. object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, world!") } } 더보기
[Android] Xml파싱하기~! 기본 parsing 방법 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser xpp = factory.newPullParser(); xpp.setInput( new StringReader ( "Hello World!" ) ); int eventType = xpp.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if(eventType == XmlPullParser.START_DOCUMENT) { System.out.println("Start document"); } else if(even.. 더보기
[Android Library] ViewPagerIndicator Android의 Fragment를 사용하게 된다면 ViewPager를 사용하게 될 가능성이 높다~! 그때 UI적으로 유용한 것이다. 사이트 이동하기~! 더보기
[Android Library] android-maps-extensions Android Map API 이용시 유용하다 Marker Clustering 기능이 있고 애니메이션 등등 다양한 기능이 있다. 사이트는 여기에~! 간단한 예제 (Marker clustering기능) final com.google.android.gms.maps.GoogleMap realMap =((MapFragment)this.getFragmentManager().findFragmentById(R.id.main_map)).getMap(); this.mMap = ExtendedMapFactory.create(realMap, this); final ClusteringSettings clusteringSettings = new ClusteringSettings();clusteringSettings.cluster.. 더보기
[Android] 라이브러리 충돌할때~!! 해결방법 안드로이드 프로젝트 라이브러리를 연결?? 하면 항상 아래와 같은 에러가 발생한다.~!!!항상 보면 android-support-v4.jar 이 파일에서 에러가 발생한다. Found 3 versions of android-support-v4.jar in the dependency list,but not all the versions are identical (check is based on SHA-1 only at this time).All versions of the libraries must be the same at this time.Versions found are: 에러 메시지를 자세히보면 같은 버전이 아니다!! 라고 해서 에러가 발생한다. 해당 라이브러리를 복사해서 하나로 통일하자~! 더보기
[Android] Android 프로젝트를 jar파일로 만들기~! 안드로이드 앱을 만들면서 라이브러리 프로젝트 양이 많아서 이클립스가 느려지고 한번씩 클린을 하고 해야 정상적인 작동을 하는 경우가 생겼다....그래서 더 이상 고쳐서 쓸필요가 없는 라이브러리는 jar파일로 만들기하였다~! jar파일로 만들 프로젝트를 선택해서 export~! 그리고 java - jar file을 선택 여기서 중요하다~! 프로젝트에서 겹칠만한 것이나 필요없는 것들은 되도록이면 빼고 정말 필요한것만 추가하자~!!!! jar파일로 만들어서 프로젝트로 실행하려고하니....... 아래와 같은 오류가 떴다..오류에서는 ids.xml이 겹쳐친다고 한다... 그래서 해당 프로젝트의 파일명을 변경하였다~! 그리고 다시 jar파일을 만들고~! 실행하니 잘되었다~!!그리고 이클립스의 쾌적한 환경을 위해 프로.. 더보기
[Android] Map InfoWindow Custom하기~! 1. InfoWindowAdapter 인터페이스를 상속받아 구현하기~! public class SomethingWindowAdapter implements InfoWindowAdapter{ /* * Constructor */public SomethingWindowAdapter (final Context context) {this.mView = (View)((LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(리소스, null);}//end constructor/* * InfoWindowAdapter */@Overridepublic View getInfoContents (final Marker marker) {~.. 더보기