Android

And_181120

tmxhsk99 2018. 11. 21. 17:34
SQLite DB연결 

깃허브 - 리눅스 git….(git 관련 명령어)

adb를 사용한다.

C:\Users\kgitbank

alt 도구 폴더옵션 폴더옵션 숨긴파일 표시로 

AppData를 보이게 한다 

C:\Users\kgitbank\AppData\Local\Android\Sdk\platform-tools

안에 adb.exe파일이 있다 

sqlite3.exe파일이 있다 .

win break

고급 설정 -> 환경 변수 설정 

시스템 변수 설정 path

변수값에

시스템 변수 추가  

이름 ADB_HOME

변수 값 C:\Users\kgitbank\AppData\Local\Android\Sdk\platform-tools 

다시 cmd창에 adb를 치면 등록 됐음을 알 수 있다 

———————————————————————————————

adb devices

adb -e shell 

ls 

cd data

ls

cd data

ls

만든 이름으로 들어감  

간단한 코드 

adb -e shell

cd /data/data/com.example.kgitbank.kakao

cd databases

sqlite3 kakao.db

select * from member;

중간 오류 해결

near “$s”: syntax error (code 1)
java code상 문제 -스프링 때 쓰던 습관으로 % 대신에 $를 사용함 

다시 cmd에서 db내용을 sql 문으로 확인 할수 있다 

Main.java의 

코드 

package com.example.kgitbank.kakao;

import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import java.util.List;

public class Main extends AppCompatActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       final Context ctx = Main.this;

       findViewById(R.id.moveLogin).setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               SqliteHelper helper  = new SqliteHelper(ctx);
               //helper라는 객체를 만드는 것은
               //곧 SQLite DB를 만드는 것이다.
               startActivity(new Intent(ctx,Login.class));

           }
       });

   }
   static interface ExcuteService{//재활용이 유용하기에 static으로 선언
       public void perform();
   }
   static interface ListService{
       public List<?> perform();
   }
   static interface OjectService{
       public Object perform();
   }
   static abstract class QueryFactory{
       Context ctx;

       public QueryFactory(Context ctx) {
           this.ctx = ctx;

       }
       public  abstract SQLiteDatabase getDatabase();
   }
   static class SqliteHelper extends SQLiteOpenHelper{

       public SqliteHelper(Context context) {
           super(context, DBInfo.DBNAME, null, 1);
           this.getWritableDatabase();
       }

       @Override
       public void onCreate(SQLiteDatabase db) {//객체가 만들어지면 작동
           String sql = String.format(
                           " CREATE TABLE IF NOT EXISTS %s " +
                           " ( %s INTEGER PRIMARY KEY AUTOINCREMENT," +
                           " %s TEXT," +
                           " %s TEXT," +
                           " %s TEXT," +
                           " %s TEXT," +
                           " %s TEXT," +
                           " %s TEXT " +
                           " ) ",
                   DBInfo.MBR_TABLE,
                   DBInfo.MBR_SEQ,
                   DBInfo.MBR_NAME,
                   DBInfo.MBR_EMAIL,
                   DBInfo.MBR_PASS,
                   DBInfo.MBR_ADDR,
                   DBInfo.MBR_PHONE,
                   DBInfo.MBR_PHOTO
           );
           Log.d("실행할 쿼리 ::",sql);
           db.execSQL(sql);
           Log.d("==================","쿼리 실행");
           String[] names = {"강동원","윤아","암수정","박보검","송중기"};
           String [] email ={"kang@naver.com","yun@naver.com","lim@gmail.com","park@gamail.com","song@gamil.com"
           };
           String [] addr ={"강동구","강서구","중구","서대문구","종로구"};
           for(int i =0 ; i<names.length;i++){
            Log.d("입력할 이름 ::",names[i]);
            db.execSQL(String.format(
                    " INSERT INTO %s " +
                            " ( %s," +
                            "  %s," +
                            "  %s," +
                            "  %s," +
                            "  %s," +
                            "  %s " +
                            ")VALUES( " +
                            " '%s'," +
                            " '%s'," +
                            " '%s'," +
                            " '%s'," +
                            " '%s'," +
                            " '%s' " +
                            ")",
                    DBInfo.MBR_TABLE, DBInfo.MBR_NAME, DBInfo.MBR_EMAIL, DBInfo.MBR_PASS,
                    DBInfo.MBR_ADDR, DBInfo.MBR_PHONE, DBInfo.MBR_PHOTO,
                    names[i],email[i],'1',addr[i],"010-1234-567"+i,"PHOTO_"+i
            ));
           }
           Log.d("**********************************","친구등록완료");

       }
       
       @Override
       public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS "+DBInfo.MBR_TABLE);
            onCreate(db);
       }
   }
}