Android Group List 만들기 2

Group화된 리스트 만들기 2번째 입니다.
이번에는 리스트에 뿌릴 데이터를 보관하기 위해 DB를 사용할 예정입니다.

아시다시피 Android는 자체적으로 sqlite 라는 모바일 DBMS를 내장하고 있습니다.

App 실행시 만들어진 db 파일은 이클립스에서 DDMS를 이용해 추출할수 있으며
(에뮬에서 실행해야만 추출이 가능합니다.) 이를 확인하기 위해서는 SQLite Expert
라는 DB툴을 사용하게 될 것입니다.  이 DB툴은
http://www.sqliteexpert.com/download.html
에서 다운로드 받으실 수 있습니다. 개인 버전은 공짜입니다. 위 링크로 들어가셔서
아래 그림처럼 나오면 아래쪽 빨간 박스 버튼 누르셔서 다운로드 받으시면 됩니다.

이번 프로젝트에서 사용할 그림 파일이 하나 있는데 그것은 아래 링크로 다운로드 받으세요
btn_search.png

자 그럼 프로젝트를 만들고 시작하겠습니다. 프로젝트명은 GroupList 로 하시고 패키지는 com.android.grouplist 로 하시면 되겠습니다. activity명은 GroupList 로 합니다.
먼저 main.xml 파일을 수정합니다.
***********************************main.xml***********************************
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
  <!-- 검색 바 -->
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingTop="5px"
    android:background="#E3E3E3">
    <EditText
      android:id="@+id/etSearchTxt"
      android:layout_width="wrap_content"
      android:layout_height="45dip"
      android:layout_gravity="center_vertical"
      android:layout_weight="1"
      android:textSize="18sp"
      android:singleLine="true"
    />
    <ImageButton
      android:id="@+id/ibtnSearch"
      android:layout_height="45dip"
      android:layout_width="45dip"
      android:layout_gravity="right|center_vertical"
      android:scaleType="centerCrop"
      android:src="@drawable/btn_search"
    />
  </LinearLayout>
 
  <!-- 목록 -->
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:layout_weight="1">
    <ListView
      android:id="@android:id/list"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:cacheColorHint="#00000000"
      android:drawSelectorOnTop="false"
    />
    <TextView
      android:id="@android:id/empty"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:gravity="center_horizontal|top"
      android:textSize="20sp"
      android:text="No Data"
    />
  </LinearLayout>  
</LinearLayout>
*******************************************************************************

다음은 GroupList.java 파일을 수정합니다.
*******************************GroupList.java**********************************
package com.android.grouplist;

import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.LayoutInflater;

public class GroupList extends ListActivity
{
  private LayoutInflater mInflater;
 
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    getListView().setTextFilterEnabled(true);
   
    mInflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
   
  }
}
*******************************************************************************

위에서 받은 btn_search.png 파일은 프로젝트의 res/drawable-hdpi 폴더에 넣어 줍니다.

여기까지 코딩하고 프로젝트를 실행시키면 아래 그림과 같이 실행됩니다.


프로젝트는 다음 그림처럼 되어 있어야 합니다.

다음편에 계속 하겠습니다.

by 선지헌 | 2011/03/16 19:03 | Android | 트랙백 | 덧글(3)

트랙백 주소 : http://jeehun.egloos.com/tb/3998746
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by .. at 2011/10/03 20:46
저... 프로젝트명, 패키지명을 다르게 설정하고 했더니 자바파일에서 오류가 나는데요..
getListView().setTextFilterEnabled(true); <<여기에서 getListView 이게 계속 오류가 나던데 어떻게 수정을 해야하나요?
님이 올리신대로 그냥 그대로 하면 오류가 안나던데..ㅜ.ㅜ
Commented by abduljava at 2011/10/18 10:11
public class 클래스명 extends ListActivity
Activity 를 -> ListActivity 으로 변경 해주셔야 됩니다.
getListView 라는 함수는 Activity 에 존재 하지 않기 때문에 나는 에러입니다.
Commented by 김병희 at 2017/07/06 09:49
패키지명은 임의로 해도 되지만
extends ListActivity
필수네요.
감사합니다.

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶