마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 DB연동해서 리스트뷰 띄우려하는데 ...

0 추천

 

 

메인화면

 

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView)findViewById(R.id.lv);
        btAddMember = (Button)findViewById(R.id.btAddMember);
        btAddMember.setOnClickListener(this);
        adapter = new AdapterListView();


        DBHelper dbHelper = new DBHelper(this);
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        Cursor cursor = db.rawQuery("SELECT * FROM member", null);

        if(cursor != null){
//            cursor.moveToFirst();
            startManagingCursor(cursor); //db객체 열면 자동으로 닫아주는거  db.close를 대신해주는 역할

            while(cursor.moveToNext()){
                String name = cursor.getString(cursor.getColumnIndex("name"));
                String phone = cursor.getString(cursor.getColumnIndex("phone"));
                String mail = cursor.getString(cursor.getColumnIndex("mail"));
                adapter.addItem(name, phone, mail);
                adapter.notifyDataSetInvalidated();

            }
        }
        lv.setAdapter(adapter);
    }
* DB SQLite 화면
public class DBHelper extends SQLiteOpenHelper {
    public static final int DATABASE_VERSION = 1;
    public DBHelper(Context context) {
        super(context, "database", null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        String sql = "CREATE TABLE member " +
                "(_id integer PRIMARY KEY AUTOINCREMENT, " +
                "name TEXT, " +
                "phone TEXT, " +
                "mail TEXT);";
        sqLiteDatabase.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        sqLiteDatabase.execSQL("drop table member");
        onCreate(sqLiteDatabase);
    }
}
익명사용자 님이 2018년 11월 1일 질문
혹시나 해서 편집화면도 드릴게요


  @Override
    public void onClick(View v) {


        //버튼 btCancel
        if(v == btCancel){
            finish();

        }
        if(v == btSave){
            String name = etName.getText().toString();
            String phone = etPhone.getText().toString();
            String mail = etMail.getText().toString();

            DBHelper helper = new DBHelper(this);
            SQLiteDatabase db = helper.getWritableDatabase();
            ContentValues values = new ContentValues();

            values.put("name", name);
            values.put("phone", phone);
            values.put("mail", mail);

            db.insert("mail", null, values);
            db.close();


            Toast.makeText(this, "정보가 저장되었습니다.", Toast.LENGTH_SHORT).show();

            Intent i = new Intent(getApplicationContext(), MainActivity.class);
            startActivity(i);
            finish();

        }
    }
관련이 있는 코드는 http://www.masterqna.com/android/1 참조해서 본문에 적으세요. 그리고 어떤 증상이 있는지도 적어야 누군가 답변을 하겠죠.
https://susemi99.gitbook.io/howto-for-beginners/2

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...