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);
} } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Cursor cursor = db.rawQuery("select * from person", null); 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 |