*Market Db 프로그램
Market Db는 프로그램기반으로 구동되며
3대오픈마켓 판매 사업자들의 정보를 얻을수 있는 디비생성프로그램 으로서
상호/ 대표번호 / 주소 / 핸드폰 번호 수집등의 기능으로 99%이상의 유효 디비생성프로그램 으로 활용 가능하십니다
오픈마켓 사업자들의 샵, 이메일, 주소, 연락처, 법인(개인) 사업자 정보 를 통해서 필터링 되는만큼 온라인 유통업체, 홈페이지 제작업체, 마케팅 업체등 다양한 업종의 영업에 적재적소로 활용할수 있는 필수적인 디비생성프로그램입니다.
*마케팅몬스터 구매 문의
☏ 카카오톡 aramis0104
☏ HP 010-7424-0013
☏ 오픈채팅 https://open.kakao.com/o/s4CWZYH
☏ 프로그램 상세보기 https://marketingmonster.kr/detail.siso?CODE=68
☏ 프로그램 구동영상 https://youtu.be/FK_v7liC54w
xmlConstraintLayoutxmlns:android=”http://schemas. android. constraint. support.
com/tools”xmlns:app=”http://schemas. android. android. com/apk/res/android”xmlns:tools=”http://schemas.
491″app:layout_constraintTop_toTopOf=”parent”/>
ktpackage com. example. MainActivity. ConstraintLayout> 2.
Contextimport android. database. content. simplediaryimport android.
sqlite. SQLiteDatabaseimport android. database. Cursorimport android.
SQLiteOpenHelperimport android. support. sqlite. database.
AppCompatActivityimport android. os. app. v7.
Viewimport kotlinx. android. view. Bundleimport android.
activity_main. *import org. main. synthetic.
toastclass MainActivity : AppCompatActivity() {lateinit var myHelper:MyDBHelper // 디비 생성 도우미lateinit var sqlDB:SQLiteDatabase //디비 생성 클래스override fun onCreate(savedInstanceState: Bundle?) {super. onCreate(savedInstanceState)벌ContentView(R. anko. jetbrains.
myHelper = MyDBHelper(this, “DiaryDB”, null, 1)//db 명목은 DiaryDB이다sqlDB = myHelper. writableDatabase // 데이터베이스 글짓기 가능 모드//myHelper. activity_main)//엑티비티가 활성화되면 데이터베이스를 사용하기 위한 각오를 한다. layout.
visibility = View. INVISIBLEmodificationBtn. 벌OnDateChangeListener { _, year, month, dayOfMonth -> //날짜가 발췌되면saveDiary. onUpgrade(sqlDB,1,2)calendarView.
visibility = View. INVISIBLEselectDate. INVISIBLEdeleteBtn. visibility = View.
VISIBLE //발췌된 날짜를 텍스트뷰에 띄우고 그 텍스트뷰 비져블화 한다diaryContents. 벌Text(“”)diaryContents. visibility = View. 벌Text(“$year 년 ${month+1} 월 $dayOfMonth 일”)selectDate.
visibility = View. VISIBLEsqlDB = myHelper. VISIBLEsaveBtn. visibility = View.
val c1:Cursor//커서를 사용하기 위해 커서 클래스 생김새의 객체를 생성한다c1 = sqlDB. rawQuery(“select * from DiaryTBL;”, null)//커서 객체에 DiaryTBL 상의 내역들을 담는다var strSaveDiary1:String //난생처음에는 var strSaveDiary1:String = “” 로 초엽화 시켜줬는데 // 빌드 창에서 strSaveDiary1이 무익하다 중복을 하고 위치하다고 말해줘서 // 초엽화를 안 시켜줬다. 이 아래쪽 국부은 데이터베이스의 약속 컬럼에 발췌한 날짜와 같은 날짜가 위치하다면 그 날짜와//같은 row에 있는 diary컬럼의 내역을 가져와서 텍스트뷰에 표시하고 수정 버튼과 삭제버튼이 활성화 된다. readableDatabase //이 윗 국부 까지는 발췌한 날짜가 데이터베이스에 불가능하다면 빈 플레인 텍스트와//저장버튼이 도래하다다.
getString(0)//DiaryTBL의 첫 줄에서(while문에 반복되면서 내리 나중 줄로 커서가 이동한다) 0번째 컬럼(즉, 약속 컬럼)의 내역을//불러와서 columDate1에 입력한다. var selDate1:String = selectDate. moveToNext()){//moveToNext()는 커서를 한 줄씩 내려주는 몫을 한다var columDate1:String = c1. 왜 초엽화를 안해줘도 되는지는 잘 모르겠으니 질문하자while (c1.
getString(1)diaryContents. visibility = View. toString()//양달력에서 발췌한 날짜를 스트링화하여 selDate에 입력한다if (columDate1 == selDate1){ // columDate1와 selDate1가 같은 내역이라면 if문의 바디를 수행하고//같은 내역이 아니면 if문을 수행하지 않는다strSaveDiary1 = c1. text.
INVISIBLEsaveDiary. text = strSaveDiary1saveDiary. visibility = View. INVISIBLEsaveBtn.
visibility = View. VISIBLEdeleteBtn. VISIBLEmodificationBtn. visibility = View.
벌OnClickListener {//수정버튼을 클릭한다면saveDiary. visibility = View. VISIBLEmodificationBtn. visibility = View.
INVISIBLEdeleteBtn. visibility = View. visibility = View. INVISIBLEmodificationBtn.
text. toString())diaryContents. 벌Text(saveDiary. INVISIBLEdiaryContents.
visibility = View. VISIBLEsaveBtn. VISIBLEsaveBtn. visibility = View.
execSQL(“up약속 DiaryTBL 벌 diary = ‘”//수정버튼을 누르고 저장을 하는 것이기 까닭에 up약속를 쓴 것이다!!!+diaryContents. text. writableDatabase //저장을 하기 위해 db를 글짓기 가능 모드로 바꿨다sqlDB. 벌OnClickListener {sqlDB = myHelper.
toString()+”‘);”)diaryContents. visibility = View. text. toString()+ “‘ where (약속 = ‘”+selectDate.
INVISIBLEsaveDiary. visibility = View. visibility = View. INVISIBLEsaveBtn.
VISIBLEdeleteBtn. visibility = View. visibility = View. VISIBLEmodificationBtn.
visibility = View. INVISIBLEmodificationBtn. 벌OnClickListener {//삭제버튼을 클릭한다면saveDiary. VISIBLE}}deleteBtn.
visibility = View. INVISIBLEdiaryContents. INVISIBLEdeleteBtn. visibility = View.
execSQL(“delete from DiaryTBL where (약속 = ‘”// 발췌한 날짜의 내역을 지우기 위해 삭제버튼을 클릭하는 것이다// 그러므로 데이터베이스에 발췌한 날짜와 같은 날짜가 있는 약속 컬럼을 찾아서 그 줄을(즉, 행을)// 다 지우는 것이다+selectDate. text. writableDatabase //삭제를 하기 위해 db를 글짓기 가능 모드로 바꿨다sqlDB. 벌Text(“”)sqlDB = myHelper.
VISIBLEsaveBtn. visibility = View. visibility = View. toString()+”‘);”)diaryContents.
text. toString() == “”) { //diaryContents에 내역이 불가능하다면toast(“저장할 내역이 없습니다”)} else {//diaryContents에 내역이 위치하다면 발췌한 날짜에 내역을 저장하고 그 내역을 보기 위한 경로diaryContents. 벌OnClickListener {//저장 버튼 클릭 시if (diaryContents. VISIBLE}}}saveBtn.
visibility = View. INVISIBLEsqlDB. INVISIBLEsaveBtn. visibility = View.
toString()+”‘,'”+diaryContents. text. text. execSQL(“insert into DiaryTBL values(‘”+selectDate.
rawQuery(“select * from DiaryTBL;”, null)var strSaveDiary:String = “”while (c. moveToNext()){var columDate:String = c. readableDatabase //db의 DiaryTBL 상의 내역을 읽어들이기 위해 읽기 가능 모드로 만듬val c:Cursorc = sqlDB. toString()+”‘);”)sqlDB = myHelper.
toString()if (columDate == selDate){strSaveDiary = c. getString(1)}}saveDiary. text. getString(0)var selDate:String = selectDate.
VISIBLEmodificationBtn. visibility = View. visibility = View. text = strSaveDiarysaveDiary.
VISIBLE}}}}override fun onDestroy() {//엑티비티가 소멸 될 때, 즉 곡목 끝막음시sqlDB. close()//사용했던 db 닫기!!super. visibility = View. VISIBLEdeleteBtn.
execSQL(“create table DiaryTBL(약속 char(30), diary char(1000))”)//상 구조를 생성}override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {//아래쪽 현는 DiaryTBL 상이 존재하면 상을 없애는 국부인데 또다시 앱을 실행했을 때 상에 저장된 내역이//있어야 해서 아래쪽 현는 노트감당 했다. //db?. CursorFactory?, version: Int) :SQLiteOpenHelper(context, name, factory, version) {override fun onCreate(db: SQLiteDatabase?) {db?. onDestroy()}//SQLiteOpenHelper를 계승받는 MyDBHelper 클래스//MyDBHelper로 디비 생성class MyDBHelper(context: Context?, name: String?, factory: SQLiteDatabase.
앱 실행 동영상데이터베이스에 앱으로 저장한 내역이 들어가 있는 것을 확인할 수 위치하다!!!. execSQL(“drop table if exists DiaryTBL”)//onCreate(db)}}} 3.