Android -12. Preference와 파일 처리

12.1. Preference Preference는 화면 이동 시 간에 발생하는 데이터 손실을 방지하기 위해 사용되는 자료형. <stemp10/PreferenceSample> [php] // 프리퍼런스 생성 pref = getSharedPreferences(PREF_NAME, 0); // 0은 읽기/쓰기 모두 가능하다 (1) prefEdit = pref.edit(); (2) … 생략 // 프리퍼런스에 데이터 저장 prefEdit.putBoolean("checkBoxValue", true); (3) prefEdit.putString("name", preferenceSampleName.getText().toString()); (4) prefEdit.putString("email", preferenceSampleEmail.getText().toString()); prefEdit.commit(); (5) … 생략 // 프리퍼런스로부터 값을 가져온다 …

Read more

Android -11. Thread와 Handler

11.1. Thread <step9/ThreadSample> [php] Thread changeTextView1 = new Thread(start1); Thread changeTextView2 = new Thread(start2); // activity가 종료되면 쓰레드도 종료시킴 changeTextView1.setDaemon(true); (1) changeTextView2.setDaemon(true); changeTextView1.start(); (2) … 생략 private Runnable start1 = new Runnable() { public void run() { final int total = 150; while(count1 < total) { try { // UI 작업은 handler에서 처리, 핸들러로 메세지를 …

Read more

Android -10. 2D 그래픽 처리 및 애니메이션

10.1. 2D 그래픽 처리 – 도형 <step8/ GraphicSample> [php] setContentView(new GraphicSampleView(GraphicSample.this)); [/php] <step8/ GraphicSampleView> [php] public GraphicSampleView(Context context) { super(context); mPaint = new Paint(); // 페인트 객체 생성 mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon9); mRect = new Rect(10, 10, 100, 100); // 사각형 생성 mRectF = new RectF(110, 10, 200, 100); } … 생략 // 실제 그리기를 …

Read more

Android -9. 선택 위젯 및 커스텀 뷰

9.1. Fragment 프래그먼트는 태블릿과 같은 큰 화면을 가지는 단말에서 애플리케이션이 화면을 더 효율적으로 활용할 수 있도록 도와준다. 기존에는 애플리케이션 화면을 구성하는 큰 틀이 액티비티(Activity) 하나였고, 이 안을 여러 뷰로 구성하여 정보를 표시하고, 상호작용을 수행했었다. 그런데, 뷰만을 사용해서 다양한 내용을 보여주기는 매우 어려웠다. 특히 전체적인 UI 틀은 고정되어 있으면서 특정 부분만 변화하며 다른 내용을 표시하도록 하려면 …

Read more

Android -8. 여러가지 위젯

8.1. 웹뷰 웹 페이지를 보여주는 위젯으로, 네트워크 입출력, 캐싱, 링크 클릭 처리, 확대, 축소, 히스토리 관리 등 웹브라우저가 제공하는 모든 기능을 자체적으로 제공. 안드로이드 내장 웹킷(WebKit)라이브러리가 모든 것을 처리, 웹킷은 오픈 소스이며 사파리, 크롬등에 채용되어 이미 성능 입증,신뢰성이 높다. <퍼미션 등록> <AndroidManifest.xml> [php] <uses-permission android:name="android.permission.INTERNET" /> <webview_sample.xml> <WebView android:id="@+id/webViewSampleWebView" android:layout_width="match_parent" android:layout_height="match_parent" /> [/php] < step6/WebViewSample …

Read more

Android -7. 이벤트 처리 및 알림(Notification)

7.1. onClick 이벤트 말 그대로 어떠한 것을 클릭했을 때 일어나는 이벤트이다.(ex. 버튼) <step5/onClickEventSample> [php] eventSampleButton = (Button) findViewById(R.id.eventSampleButton); (1) // 버튼이 눌려질때 이벤트 eventSampleButton.setOnClickListener(new View.OnClickListener() { (2) @Override public void onClick(View v) { (3) // 토스트 메세지 ToastUtil.show(OnClickEventSample.this, "버튼을 눌렀습니다."); (4) } }); [/php] 7.2. onKeyDown 이벤트 휴대폰의 어떤 키가 눌려졌을 때 발생하는 이벤트(ex. 볼륨 …

Read more

Android -6. 서비스 및 브로드캐스트

6.1. Service 화면없이 뒤에서 실행되는 기능. 예를 들어 음악재생 처럼 다른 작업을 하고 있는 도중에도 계속 노래를 재생해야 하는 작업 등 을 말한다. 현재 사용자가 화면(Activity) 을 보고 있지 않아도 백그라운드에서 실행 되는 것이 바로 Service이다. <AndroidManifest.xml> [php] … 생략 <service android:name="com.ahope.tutorial.activity.step4.ServiceSample" android:exported="false" > (1) <intent-filter> (2) <action android:name="com.ahope.tutorial.activity.step4.ServiceSample" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </service> …

Read more