예전 글들/Android
-
SurfaceView를 사용하는 이유예전 글들/Android 2011. 5. 11. 15:06
화면 상에 그림을 마구마구 띄우면 특히 Canvas를 이용한 그림을 띄우면 느려지는 걸 볼 수 있다. 이를 해결하려면 thread라는 걸 써야하는데 여기서 문제가 있다. - 주 Thread가 아닌 백그라운드 Thread에서 화면에 뭔가를 출력하는 것은 허용되지 않는다고 한다. - Thread는 계산이나 네트워크 입출력 같은 것을 하는 것이지 사용자와 직접 인터페이스하지 않는다. - 하나의 Canvas에 대고 두 Thread가 동시에 출력을 내 보내면 어떤 혼란이 발생할지 쉽게 추측 가능하며 그래서 운영체제는 Thread가 Canvas를 액세스하지 못하도록 금지한다. 그래서 SurfaceView를 사용한다는군요. 일반 View는 Canvas를 가지지만 SurfaceView는 표면을 가진다. Surface는..
-
Map과 HashMap 클래스예전 글들/Android 2011. 5. 10. 12:45
우선 영어로 된 설명을 복사해서 보면 A Map is a data structure consisting of a set of keys and values in which each key is mapped to a single value. The class of the objects used as keys is declared when the Map is declared, as is the class of the corresponding values. (이 긴 문장을 간단히 해석하면 "Map은 키와 값들로 이루어졌고 각각의 키는 하나의 값과 쌍을 이룬다." 뭐 그런거 같군) A Map provides helper methods to iterate through all of the keys contained..
-
메뉴 만들때 참고하면 좋을 듯예전 글들/Android 2011. 5. 9. 12:05
소스 출처는 [시작하세요 안드로이드 프로그래밍 - 위키북스) 우선 메뉴 클래스 파일 하나 만들고 - Menu.java import java.util.SortedMap; import java.util.TreeMap; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; public abstract class Menu extends ListActivity { private SortedMap actions = new TreeMap(); @..
-
Menu 추가하는 신기한 방법(?)예전 글들/Android 2011. 4. 19. 13:57
옆화면 처럼 메뉴를 띄우는 방법 중에 복잡한 듯하면서 왠지 모르게 좋아보이는 소스를 발견!! 우선 처음 호출되는 클래스는 ch8ShapeShifter 클래스로 내용은 public class ch8ShapeShifter extends Menu { @Override void prepareMenu() { addMenuItem("Tweened Animation", TweenActivity.class); addMenuItem("Tweened Animation - Layout", TweenLayoutActivity.class); addMenuItem("Frame-By-Frame Animation - ImageView Background", FrameAnimationActivity.class); addMenuItem..
-
다른 Layout으로 넘어가는 법예전 글들/Android 2011. 4. 19. 10:45
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); actions.put(menu[0], new Intent(this,ContactAdapter.class)); actions.put(menu[1], new Intent(this,TrackPointList.class)); setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, menu)); } 안드로이드 프로그래밍(위키북스) 책에 있는 예제 소스 위에 나와있는 소스 중에 actions.put(menu[0], new Intent(this,ContactAdap..
-
안드로이드 개념 잡기(활동(Activity), 의도(Intent)) - 시작하세요!안드로이드 프로그래밍 참고예전 글들/Android 2010. 10. 4. 11:31
1. 활동(Activity): 응용 프로그램이 수행하는 과제. 하나의 활동은 응용프로그램이 수행하는 고유한 하나의 과제 또는 작업 2. 안드로이드 응용프로그램에서는 여러 활동들 중 응용프로그램 시동시 기본으로 실행되는 주 활동(main activity)을 설정할 수 있다. 이 설정은 AndroidMainfest.xml에서 함 3. Intent A. 활동을 시동하는 방법 중 가장 간단한 방법은 응용프로그램의 Context 객체에 대해 startActivity() 메서드를 호출하는 것. 이때 Intent 형식의 매개변수 하나를 받는다. B. 클래스 이름은 android.content.Intent C. 안드로이드 운영체제가 사용하는 비동기 메시지 메커니즘 D. 운영체제가 특정한 사건(event)을 시스템 전반..
-
R 클래스에 있는 리소스 id를 소스에서 불러오는 방법예전 글들/Android 2010. 10. 3. 18:59
public class MyActivity extends Activity implements View.OnClickListener { private Button myButton01 = (Button)findViewById(R.id.Button01); private EditText myEditText01 = (EditText)findViewById(R.id.EditText01); @Override public void onCreate(Bundle savedInstanceState) { ...... ...... } public void onClick(View v) { if( v == myButton01 ) { SharedPreferences pref = getSharedPreferences("PREVIOUS..