Manifest에 엑티비티 생성

1
2
<activity 
     android:name=".SelectActivity"></activity>
cs

activity_select.xml

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <ListView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/select_listview"></ListView>    
 
</LinearLayout>
 
cs


item_list.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/item_name_tv"/>
    <TextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/item_phoneNum_tv"/>
    <TextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/item_ageAndGender_tv"/>
 
</LinearLayout>
 
cs

Person.java 모델클래스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Person {
    private String name;
    private String phoneNum;
    private String age;
    private String gender;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhoneNum() {
        return phoneNum;
    }
    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    
}
cs


PersonAdapter.java 어댑터

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
 
import java.util.List;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
 
public class PersonAdapter extends ArrayAdapter<Person>{
    private Context context;
    private int resource;
    private List<Person> personList;
    
    public PersonAdapter(Context context, int resource, List<Person> objects) {
        super(context, resource, objects);
        // TODO Auto-generated constructor stub
        this.context = context;
        this.resource = resource;
        this.personList = objects;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
//        return super.getView(position, convertView, parent);
        if(convertView == null)
        {
            LayoutInflater inflater = (LayoutInflater)
                    context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(resource, parent,false);
            
        }
        final Person person = personList.get(position);
        TextView nameTv = (TextView) convertView.findViewById(R.id.item_name_tv);
        TextView phoneNumTv = (TextView) convertView.findViewById(R.id.item_phoneNum_tv);
        TextView ageAndGenderTv = (TextView) convertView.findViewById(R.id.item_ageAndGender_tv);
        
        nameTv.setText(person.getName());
        phoneNumTv.setText(person.getPhoneNum());
        ageAndGenderTv.setText(person.getAge()+"세, "+"성별 : "+person.getGender());
        
        return convertView;
    }
    
 
}
 
cs


SelectActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class SelectActivity extends Activity{
    private PersonAdapter adapter;
    private List<Person> personList;
    private ListView listView;
    
    private SQLiteDatabase db;
    private static final String DBNAME = "person.db";
    private static final String TABLE_NAME = "person";
    
    private static final String DB_PATH = 
            Environment.getExternalStorageDirectory().getPath().toString();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_select);
        listView = (ListView) findViewById(R.id.select_listview);
        //List객체 만들고 디비에서 조회해와서 데이터를 리스트뷰에 바인딩
        personList = new ArrayList<Person>();
        db = openOrCreateDatabase(DB_PATH + "/" + DBNAME, Context.MODE_PRIVATE, null);

        
        db.rawQuery("select * from person",null);
       1
2
3
//where절을 포함한 sql문을 직접 생으로 만들어서 넣어도 되고

db.rawQuery("select * from person where id=?"new String[]{"id"});

//where절을 ?으로 남겨두고 , 두번째 인자값에 배열로 값을 남겨줘도 된다.
cs

    }
    
}
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        Cursor cursor = db.rawQuery("select * from person"null);
        cursor.moveToFirst();
        while(cursor.moveToNext())
        {
            Person p =  new Person();
            p.setName(cursor.getString(1));
            p.setPhoneNum(cursor.getString(2));
            p.setGender(cursor.getInt(3== 0 ? "남자" : "여자");
            p.setAge(cursor.getInt(4+ "");
            personList.add(p);
            
        }
//        while(cursor.isAfterLast()){
//            cursor.moveToNext();
//        }
cs


1
2
        Cursor cursor = db.query(TABLE_NAME, new String[]{"name""phoneNum""gender""age"}, null,null,null,null,null);
        //테이블명, 조회할 컬럼명, 조건절, 조건절에 들어갈 값, 헤빙절에 들어갈 값, 그룹바이절에 들어갈 값, 오더바이에 들어갈 값
cs


1
2
        adapter = new PersonAdapter(this,R.layout.item_list, personList);
        listView.setAdapter(adapter);
cs


MainActivity.java

1
2
3
4
5
6
7
8
9
10
        selectBtn.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //여기에서 모든 레코드를 리스트뷰로 출력하는 다른 엑티비티를 호출
                Intent intent = new Intent(MainActivity.this, SelectActivity.class);
                startActivity(intent);
            }
        });
cs


' IOT 기반 응용 SW과정 > Android, Arduino' 카테고리의 다른 글

Day99 안드로이드 파일 복사  (0) 2016.08.08
Day98_2 안드로이드 OpenHelper  (0) 2016.08.05
Day97  (0) 2016.08.04
Day95  (0) 2016.08.02
Day94 안드로이드 listview  (0) 2016.08.02

+ Recent posts