*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
example. boram. main package com. mytripimport android.
v7. app. support. AppCompatActivityimport android.
Bundleimport android. support. os. v4.
ContextCompat. startActivityimport com. content. example.
mytrip. R. boram. id.
android. synthetic. startBtnimport kotlinx. main.
*import kotlinx. android. activity_main. synthetic.
fragment_photo. *import org. main. jetbrains.
startActivityclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super. onCreate(savedInstanceState)벌ContentView(R. anko. lay아웃사이드.
벌OnClickListener {startActivity
Manifestimport android. app. mytripimport android. Activityimport android.
ClipDataimport android. content. content. Contextimport android.
Intentimport android. content. content. pm.
database. Cursorimport android. PackageManagerimport android. database.
SQLiteDatabaseimport android. database. sqlite. sqlite.
media. MediaPlayerimport android. SQLiteOpenHelperimport android. os.
support. v7. Buildimport android. app.
os. Bundleimport android. AppCompatActivityimport android. os.
os. Parcelableimport android. Parcelimport android. preference.
support. v4. PreferenceManagerimport android. app.
support. v4. ActivityCompatimport android. content.
jetbrains. anko. ContextCompatimport org. *import android.
MediaStoreimport android. provider. provider. MediaStore.
Media. getBitmapimport android. Images. support.
RequiresApiimport android. support. annotation. design.
id. containerimport android. R. support.
app. Fragmentimport android. v4. support.
view. ViewPagerimport android. v4. util.
util. Logimport android. AttributeSetimport android. view.
widget. ImageViewimport android. Viewimport android. widget.
example. boram. Toastimport com. mytrip.
id. *import kotlinx. R. android.
main. activity_my_gallery. synthetic. *import kotlinx.
synthetic. main. android. fragment_photo.
io. FileNotFoundExceptionimport java. *import java. lang.
util. ArrayListclass MyGallery() : AppCompatActivity() {private val REQUEST_READ_EXTERNAL_STORAGE = 1000lateinit var selectedImagePath: Stringlateinit var uriStr: ArrayList
lay아웃사이드. activity_my_gallery)if (ContextCompat. onCreate(savedInstanceState)벌ContentView(R. checkSelfPermission( // 앱에 권능이 부여되었는지 확인.
permission. READ_EXTERNAL_STORAGE)!= PackageManager. this,Manifest. PERMISSION_GRANTED) {// 밖저데 읽기가 용인되지 않았다면아래쪽 if 문이 단행 GRANTED = 용인됨.
if (ActivityCompat. shouldShowRequestPermissionRationale(this,Manifest. // 사절를 한가이 없다면,메세지창 없이권능요망. permission.
“,”권능이 긴하다 까닭”) {yesButton {ActivityCompat. requestPermissions(this@MyGallery, arrayOf(Manifest. READ_EXTERNAL_STORAGE) // shouldShowRequestPermissionRationale =사절를 한가이 위치하다면 true를 반환하는메소드// 사절한가이 위치하다면재단행시 alert의 구절 단행 되며 yes,no버튼발췌) {alert(“조영 첩보를 얻으려면 밖 저데 권능이 불가무로 필요합니다. permission.
onRequestPermissionResult 부름 . )}noButton {}}. READ_EXTERNAL_STORAGE),REQUEST_READ_EXTERNAL_STORAGE //권능 재요망 . 가장()} else {ActivityCompat.
permission. READ_EXTERNAL_STORAGE),REQUEST_READ_EXTERNAL_STORAGE)}} else { // 시작에 권능이 용인되어위치하다면 단행. requestPermissions(this,arrayOf(Manifest. this.
onRequestPermissionsResult(requestCode, permissions, grantResults)when (requestCode) {REQUEST_READ_EXTERNAL_STORAGE -> {if ((grantResults. isNotEmpty() && grantResults[0] == PackageManager. getAllPhoto()}}override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<아웃사이드 String>, grantResults: IntArray) {super. PERMISSION_GRANTED)) {getAllPhoto()} else {toast(“권능 사절됨.
}}}private fun getAllPhoto() {val nationTitle: String = intent. getStringExtra(“nationName”)toast(nationTitle+”로 이동합니다. “)}return// onRequestPermissionsResult 는 위의 권능요망이-사절일때 초출됨. “)val cursor = contentResolver.
Images. Media. query(MediaStore. EXTERNAL_CONTENT_URI,null,MediaStore.
Media. DATA + ” like ? “,arrayOf(“%/” + nationTitle + “/%”),null)// 전문적바이더라는 컴포넌트를 이용해서 앱의 데이터인접을 딴앱에 용인 . Images. val fragment = ArrayList
getString(cursor. getColumnIndexOrThrow(MediaStore. moveToNext()) { // hasnext()처럼 계제 확인val uri = cursor. Images.
DATA))Log. d(“MainActivity”, uri)fragment. Media. add(PhotoFragment.
close() // 기억력 누수방비를 위하여 닫아줌. } val adapter = MypageAdapter(supportFragmentManager)adapter. newInstance(uri))uriStr = arrayListOf(uri)}cursor. up약속Fragments(fragment)viewPager.
} myPhoto Fragment package com. example. adapter = adapter// 갤러리에 있는 온갖조영이 앱에 담김. boram.
annotation. SuppressLintimport android. mytripimport android. content.
database. Cursorimport android. Contextimport android. database.
SQLiteDatabaseimport android. database. sqlite. sqlite.
os. Bundleimport android. SQLiteOpenHelperimport android. support.
app. Fragmentimport android. v4. util.
view. Lay아웃사이드Inflaterimport android. Logimport android. view.
view. ViewGroupimport android. Viewimport android. widget.
widget. EditTextimport android. Buttonimport android. widget.
widget. Toastimport com. TextViewimport android. bumptech.
Glideimport com. example. glide. boram.
R. drawable. mytrip. tripimport kotlinx.
synthetic. main. android. fragment_photo.
= static 과 같다고 보면됨. lateinit var myHelper: PhotoFragment. *private const val ARG_URI = “uri”// (1) 클래스 공표 밖에 const 키워드를 사용하여 운수를 정당하면 컴기록철 때에// 결정된 운수가 되고 이 기록철 내에서 어디든지 사용할 수 있음. MyDBHelper // 디비 생성 도우미lateinit var sqlDB: SQLiteDatabase //디비 생성 클래스class PhotoFragment : Fragment() {private var uri: String? = nullprivate var mContext: Context? = nulloverride fun onCreate(savedInstanceState: Bundle?) {super.
let {uri = it. getString(ARG_URI)}Log. onCreate(savedInstanceState)arguments?. d(“이거” , uri)}override fun onCreateView( //프레그먼트에 표시될 뷰 생성.
): View? {val view = inflater. inflate(R. inflater: Lay아웃사이드Inflater , container: ViewGroup? ,savedInstanceState: Bundle? // 어플간에 전달되는 초엽값. lay아웃사이드.
findViewById(R. id. fragment_photo , container , false)val saveBtn = view. saveBtn) as Buttonvar tripDiary = view.
id. tripDiary) as EditTextval deleteBtn = view. findViewById(R. findViewById(R.
deleteBtn) as ButtonmyHelper = MyDBHelper(mContext , “DiaryDB” , null , 1)//db 명목은 DiaryDB이다sqlDB = myHelper. wri상Database // 데이터베이스 글짓기 가능 모드sqlDB = myHelper. id. readableDatabaseval c: Cursorc = sqlDB.
moveToNext()) { do { var columimg: String = c. getString(0) var realimg = uri if (columimg == realimg) { strTripDiary = c. rawQuery(“select * from DiaryTBL;” , null)var strTripDiary = “” if (c. getString(1) } } while (c.
벌Text(strTripDiary) if(tripDiary. text. moveToNext()) tripDiary. length !=0 ){ saveBtn.
INVISIBLE deleteBtn. visibility = View. visibility = View. VISIBLE } else{ saveBtn.
VISIBLE deleteBtn. visibility = View. visibility = View. INVISIBLE } saveBtn.
text. toString() == “”) { Toast. 벌OnClickListener { if (tripDiary. makeText(context , “갈무리할 내역이 없습니다.
LENGTH_합선). 가장() } else { saveBtn. ” , Toast. visibility = View.
makeText(context , “갈무리끝막음” , Toast. LENGTH_합선). INVISIBLE Toast. 가장() sqlDB.
text. toString() + “‘);” ) sqlDB = myHelper. execSQL( “insert into DiaryTBL values(‘” + uri + “‘,'” + tripDiary. readableDatabase val c: Cursor c = sqlDB.
moveToNext()) { do { var columimg: String = c. getString(0) var realimg = uri Log. rawQuery(“select * from DiaryTBL;” , null) var strTripDiary = “” if (c. d(“아” , columimg) Log.
getString(1) } } while (c. moveToNext()) tripDiary. d(“오” , realimg) if (columimg == realimg) { strTripDiary = c. 벌Text(strTripDiary) } deleteBtn.
VISIBLE } } deleteBtn. 벌OnClickListener { Toast. visibility = View. makeText(context , “말살되었습니다.
LENGTH_합선). 가장() deleteBtn. ” , Toast. visibility = View.
벌Text(“”) sqlDB = myHelper. wri상Database //말살를 하기 가해 db를 글짓기 가능 모드로 바꿨다 sqlDB. INVISIBLE tripDiary. execSQL( “up약속 DiaryTBL 벌 diary = ‘” + tripDiary.
toString() + “‘ where (약속 = ‘” + uri + “‘);” ) saveBtn. visibility = View. text. VISIBLE } }return view// 액티비티가 아닌 곳에서 레이아웃 리소스를 아지고 오려면 Lay아웃사이드lnflater객관의// inflater() 메소드 사용하여야 한다.
onViewCreated(view , savedInstanceState)Glide. with(this). } override fun onViewCreated(view: View , savedInstanceState: Bundle?) {super. load(uri).
apply {arguments = Bundle(). apply {putString(ARG_URI , uri)}}}override fun onDestroy() {//엑티비티가 소실 될 때, 즉 곡목 끝막음시sqlDB. into(imageView)}companion object {@JvmStaticfun newInstance(uri: String) = // 프레그먼트를 생성하는 메소드PhotoFragment(). close()//사용했던 db 닫기!!super.
CursorFactory? , version: Int) :SQLiteOpenHelper(context , name , factory , version) {override fun onCreate(db: SQLiteDatabase?) {db?. execSQL(“create 상 DiaryTBL(약속 char(30), diary char(1000))”)//상 구조물를 생성}override fun onUpgrade(db: SQLiteDatabase? , oldVersion: Int , newVersion: Int) {//아래쪽 코드는 DiaryTBL 상이 존재하면 상을 없애는 국부인데 또다시 앱을 단행했을 때 상에 갈무리된 내역이//있어야 해서 아래쪽 코드는 노트감당 했다. onDestroy()}class MyDBHelper(context: Context? , name: String? , factory: SQLiteDatabase. //db?.
execSQL(“drop 상 if exists DiaryTBL”)//onCreate(db)}}override fun onAttach(context: Context?) {super. onAttach(context)mContext = context} .
