Quck Way to Connect Android with PHP, MySQL(Part 2) – Update MySQL Database

안녕하세요 여러분! 내 이름은 Oum Saokosal입니다 다시 한번 PHP MySQL과 안드로이드를 연결하는 방법에 대해 이야기 할 것입니다

이 비디오에서는 Android에서 데이터를 삽입하고 업데이트하는 방법에 대해 설명 할 것입니다 PHP MySQL에 이 동영상을 처음 접한다면이 부분은 두 부분입니다 YouTube로 돌아가시기 바랍니다 첫 번째 동영상 인 'oumsaokosal'채널을 열고 'PHP와 Android를 어떻게 연결하고 데이터를 읽고 JSON 파서와 ListView로 데이터를 전달하고 또한 피카소 유니버설 이미지 로더 사용법

해당 비디오 또는 ListView 내 라이브러리에서 일반적인 asynctask v2입니다 첫 번째 버전은 오래된 버전이므로 사용하지 마세요 ListView에서 JSONConverter를 사용하여 JSON 텍스트를 JSON 객체로 변환하는 방법에 대해 설명합니다 그리고 Fudapter를 사용하여 사용자 지정 ListView에 데이터를 적용하는 방법을 소개했습니다 Picasso 및 Universal Image Loader 사용 방법

그래서 당신이 새로운 아마 어쩌면이 비디오를 먼저보아야하지만 당신이 오래된 고객이라면, 나와 함께 가자 그래서 이것이 우리가 마지막으로했던 비디오입니다 우리는 마침내 텍스트에서 이미지 디스플레이를 얻었지만 뭔가 잘못 되었기 때문에 내가 너에게 보여주고 싶은 뭔가가있다 그 우선 패딩은 아래와 아래에 공백이있는 것처럼 올바르지 않습니다

그래서 우리는 패딩이 있는지 확인하십시오 그래서 세부 활동으로 가서 이미지 로더는 "ivImagesetPadding (0,0,0,0)"이라고 말할 수 있습니다 이렇게하면 setAdjustViewBound를 호출하고 true로 설정합니다 세부 사항에 대한 더 많은 것들이 있습니다

MySQL을 다운로드하면 클릭 할 수 없습니다 뒤로 버튼을 오른쪽과 같이 사용하면 콘텐츠 세부 정보로 이동하는 것입니다 상대 레이아웃을 추가해야하는 텍스트로 이동하십시오 사실이 문서에서 복사하여 붙여 넣기 만하면됩니다 3 개의 이름 간격, Android 앱, 도구 및 Padding

그리고 이것은 매우 중요한 것입니다 : 레이아웃, 컨텍스트 표시 그리고 당신은 ScrollView 및 RelativeLayout 왜냐하면 우리는 편집 텍스트`를 사용하기를 원하기 때문에 우리는 우리가 편집 텍스트를 디자인하기를 원합니다 우리는 이것과 같은 것을 만들 필요가없는 또 다른 상대적 레이아웃을 가지고있다 부모와 높이가 일치하는 부모와 일치합니다 프로그램을 다시 테스트하려면 패딩은 없지만 여기에는 패딩이 있으므로 돌아가서 목록 활동에서 무언가를 바꾸고 싶습니다

이와 같은 것을 바꾸려면 이제 괜찮습니다 그래서 계속해서 MySQL에 데이터를 삽입하려면 실제로 PHP, Python, Ruby로 작성할 수있는 것처럼 웹 페이지를 가지고 있습니다하지만 마지막으로 사용한 비디오 PHP를 사용 했으므로 PHP를 다시 사용하십시오 그래서 삽입을 위해 우리는 데이터, 이름, 수량, 가격, 이미지 URL을 삽입해야합니다 데이터베이스 데이터베이스 뷰어를 살펴 보겠습니다

고객 및 제품보기 : 이름, 수량, 가격, 이미지 URL 자동 증분이고 기본 키이므로 PID를 추가 할 필요가 없습니다 그래서 우리는 그것을 만지는 것을 원하지 않습니다 따라서 우리 코드에는 이름, 수량, 가격, 이미지 URL 만 필요합니다 그리고 우리는 Isset으로 체크인해야하고 데이터를 얻은 후에 우리는 MySQL에 데이터를 삽입한다

그리고 MySQL을 사용하고 결과가 0보다 크면 데이터가 삽입되었다는 것을 의미합니다 성공을 표시 할 수 있습니다 그리고 나는 당신에게 여기에 하나의 트릭을 보여주고 싶습니다 : 그것은 모바일입니다, 나는 모바일처럼 설정되어 있고 모바일이 안드로이드와 같으면 단어가 성공하고 종료됩니다 그렇지 않으면 정상적인 반향을 표시합니다 왜 그렇게해야합니까? 왜냐하면 내가 안드로이드뿐만 아니라 사용자 브라우저에서 웹 페이지에서 삽입을 사용하고 싶습니다

그래서 그것을 시험하게하십시오 따라서 "localhostcutomerinsertphp"로 이동합니다 실제로 여기에는 실제 파일 인 insert 여기에 그리고 정확히 입력하면 콜크, 10, 5, 콜라, jpg라고합시다

이제 데이터가 데이터베이스에 올바르게 삽입되어 웹에서 사용할 수 있습니다 브라우저뿐입니다 그러나 우리는 안드로이드에 html 부분을 표시하고 싶지 않습니다 왜냐하면 우리는 단지 단어 성공 또는 성공 없음 그래서 나는 다른 조건을 가져야 만하고 나는 그 비밀 코드처럼 발명했다

모바일 및 모바일 Android와 같은 에코는 성공하고 우리는 종료합니다 즉, 여기에서 코드를 멈추게 할 것이고, 아래에 어떤 심볼도 표시하지 않을 것입니다 자, 데이터베이스를 먼저 확인해 봅시다 새 레코드가 이미 추가 된 것을 볼 수 있습니다 이미지에 문제가있어 이미지 URL을 변경해야합니다

그래서 저는이 이미지를 이와 같이 변경합니다 그렇지 않으면 빈 이미지가 나타납니다 이제 Android로 돌아가서 다른 활동, 빈 활동 및 이제는 insert를 호출하고 메인 페이지, 그 목록은 무엇입니까? 좋아요 삽입물은 세부 사항과 매우 흡사합니다 그래서 여기로 가서 모두 복사하십시오

코드 여기 상대방에서 아래쪽으로 복사 해 봅시다 여기를 통과합니다 당신은 다른 상대적인 레이아웃과 상대적 레이아웃을 가질 수 있습니다 괜찮습니다

예, 이미지를 이미지로 남겨두고 삽입 및 "btnInsert"로 변경하지 않으려합니다 그것은 우리 수업의 일부가 아니기 때문에 이것을 삭제해야한다는 것을 제외하고는 좋아 보인다 그래서 당신은 활동 삽입에 가서이 이미지는 왼쪽에 있기 때문에이 코드를 삭제할 수 있습니다 그래서 우리는 활동을 삽입하고이 부분을 삭제해야합니다 그리고 만약 당신이 로그인에서 삭제뿐만 아니라 그것을 삭제하고 싶습니다 활동 로그인이 로그인 활동을 삭제 하고이 코드를 삭제뿐만 아니라 삭제하십시오

목록 활동에서 삽입 활동을 열려고합니다 목록 활동입니다 그리고 이것은 활동 목록입니다, 우리는이 버튼을 클릭하기를 원합니다 그리고 우리는 삽입물로갑니다 활동 자, 이것을 (IC, add)와 같이 변경해 봅시다

그러나 당신이 볼 수 있듯이 버튼은 좋지 않은 녹색입니다 그럼 좋은 자료를 다운로드하자 자료 디자인 아이콘으로 갈 수있어 이것이 공식이다 웹 사이트에서 응용 프로그램의 아이콘을 다운로드 할 수 있습니다 그냥 플러스 아이콘을 찾으십시오

입력 한 후에 플러스 아이콘을 볼 수 있습니다 여기 아이콘을 클릭하면 흰색 또는 검정색을 다운로드 할 수 있습니다 이제 우리는 흰색을 필요로합니다 그리고 저는 48 픽셀이 필요합니다 실제로는 이미 하나 있습니다

이 하나 그냥 복사해야합니다 Android로 돌아가서 드로어 블 및 붙여 넣기로 이동합니다 이미 오버런을 허용하도록 설정했기 때문에 두 번 클릭 할 수있는 더하기 기호입니다 이것에 더하기 기호를 볼 수 있으며 텍스트로 이동하여 drawable / plus를 추가하면됩니다 이런 식의 흰색 더하기 기호를 보면이 이미지를 클릭하고 나서 삽입물에

그래서 우리는 활동을 나열하려고합니다 그래서 여기에 가십 시요 이것은 14 가지 악센트를위한 이벤트입니다 버튼을 클릭하고 이것을 삭제하면 코드를 추가 할 수 있습니다 이제 Intent라고 부르는 것을 열어서 activity

class를 삽입하려고합니다 우리는 활동을 시작하고 그것을 실행합시다 여기서 볼 수 있듯이 여기에 아이콘이 없으며 정확한 비밀번호 만 갖고 있습니다 이제 우리는 더하기 기호를 클릭합니다 이제 삽입 활동을 볼 수 있습니다

자 이제 여기에 코드를 작성해야합니다 먼저 모든 편집 텍스트를 코딩해야합니다 그리고 버튼을 사용하여 이것을 좋아하고 etName, etQuantity, etPrice, etImageUrl 및 버튼, btnInsert 그리고 나서 우리는 ID로보기를 발견하고, 이와 비슷한 것을 보았습니다 그런 다음 코드를 작성합니다 버튼을 설정하고 이것을 클릭하면됩니다

이제이 경우에도 코드를 연기하고 응답 할 수 있습니다 이것은 내가 사용하는 라이브 읽기입니다 내 첫 번째 비디오에서 제대로 라이브러리를 추가해야합니다 어떻게해야할지 모르겠다면 돌아가서 첫 번째 비디오를 먼저 볼 수 있습니다 그런 다음 taskInsert, new, post 및 this 및 postdata와 새로운 asyncresponse를 코딩 한 다음 여기에 게시물 데이터에 데이터를 추가해야하므로 hashmap postdata, 새 해시 맵, postdata 넣어

자, 여기서 중요한 것은 우리가 알고 있어야 할 데이터에 게시하는 것입니다 키 따라서이 키와 정확하게 일치시켜야하는이 페이지로 데이터를 보낼 때이 키가 중요합니다 같은, 그래서 일반적으로 그냥 복사 및 붙여 넣기 같은 이름, 수량, 가격, 이미지 URL은이 URL과 완전히 동일하므로 편집 텍스트에서 텍스트를 호출 할 수 있습니다 위에, name

getText () toString () 이제 활동에서 입력 한 데이터를 postdata 및 postdata에 넣습니다 웹 페이지로 보낼 것입니다 그러나 우리는 웹 페이지를 코딩해야합니다

웹 페이지 란 무엇입니까? 우리는 execute를 호출하고 우리 웹 페이지는 http://10032이고 customer 인 insertphp입니다

우리의 결과는 무엇입니까? 우리의 성과는 성공입니다 그러나 성공을 얻으려면 안드로이드 용 데이터 모바일을 설정해야합니다 이것이 중요합니다 부분 (모바일은 여기 안드로이드)이므로 여기에서 로그를 사용하십시오 여기서 최종 문자열을 선언해야합니다

로그를 호출하고 이름을 클래스 이름으로 지정해야합니다 그렇게하는 것이 매우 쉽습니다 이 로그를 사용하여 여기에 로그를 전달하면 결과가 문자열이됩니다 이제 당신이 갈 수있는 유형을 편집하기위한 힌트를주고 싶다면 여기에 로그인을 볼 수 있습니다 레이아웃을 보았지만 이제는 데이터를 테스트 해 봅시다

그것은 이름이어야합니다 Pepsi, insert, 코드를 작성합시다 이제 데이터가 성공한 것을 볼 수 있으므로 이렇게 웹을 작성하는 것이 매우 쉽습니다 사용자에게 표시되지 않고 디버깅을 위해 로그를 삭제할 필요가 없습니다 단지 여기 그대로 두십시오

그래서 지금 결과는 성공이고 우리는 '그것이 성공을 포함하는지 말할 수 있습니다 마지막 동영상은 포함해야하는 이유는 동등한 의미가 정확히 동일해야하기 때문입니다 그리고 시작하십시오, 당신은 성공으로 시작할 수 있습니다 그러나 때때로 당신 앞에 약간의 공간이 있습니다 알아요, 당신은 더 쉽게 사용할 수 있습니다

여기에 토스트 할 수 있으므로 성공 후에는 인서트 활동에서 돌아 가기를 원합니다 list 활동을 사용하면 'Zenya, imageUrl'과 같은 의도를 불러올 수 있으므로 다시 삽입하십시오 그래서 성공적으로 삽입되면 단어를 성공적으로 삽입해야합니다 그리고 당신은 돌아갑니다 목록에 좋아, 이것이 Zenya이므로 이미지가 틀릴 수도 있습니다 괜찮습니다

이제 세부 활동의 데이터를 편집하여이 데이터와 매우 유사하게 만들려고합니다 그래서 당신은 'btnupdate'버튼을 호출하고 바로 여기 'setonclicklistener this 세부 사항 활동 만들기 onclick 리스너 구현 ' 좋아요, 코드는 매우 유사하므로 이것을 복사 해 봅니다 그래서 taskinsert를 바꾸고 싶습니다 refractor 및 이름 바꾸기 및 나는 그것을 작업 업데이 트라고하고 이것은 하나의 세부 활동, 사본 좋습니다

성공적으로 업데이트하고 로그를 복사하여 여기에 로그를 복사하십시오 여기에 세부 정보가 있습니다 마지막으로 우리는 업데이트를 변경합니다 그래서 우리는 업데이트를 위해 다른 페이지 업데이트를해야합니다 우리가 그것이 모바일인지 테스트하기를 원했기 때문에 성공했습니다

그러면 성공했습니다 성공했다가 나간다 그렇지 않으면 우리는 단지 사용자 html을 표시하지만 지금은 html에 대해 더 이상 신경 쓰지 않습니다 우리 프로세스의 속도를 높이려면이 점을 신경 써야합니다 이제는 괜찮을 것입니다

모바일 PID와 매우 유사합니다 PID가 필요한 이유는 PID가 필요하다는 것입니다 왜냐하면 업데이트가 ID없이 업데이트하십시오 그래서 우리는 게시물에 ID를 보내야합니다 'put and textpid'그리고 우리가 ID는 제품에서 가져온 것이므로이 제품은 내부 (들리지 않음)로 신고해야합니다

이것과 같이 사유 제품 밖에 선언 해, PID 내의 선언을 삭제합니다 이제 제품을 사용할 수 있습니다 (들리지 않음) 그래서 'productpid'라고 부르면 제품 PID는 문자열이 아니고 정수입니다 그것을 문자열에 전달하여 문자열인지 확인해야하므로 (들리지 않음) 그리고 더하기 그것은 문자열로 돌아갈 수 있습니다

이제는 괜찮을 것입니다 고양이와 고양이, 1, 101로 변경하면 이제는 정상적으로 업데이트됩니다 이제 업데이트를 삭제해야합니다 테스트 용이므로 삭제해야합니다 PHP와 Android가 다르므로 안드로이드를 다시 시작할 필요가 없습니다

지금 괜찮을거야 마지막으로 ListView에서 삭제하고 싶을 때이 메뉴에 대한 긴 클릭이 있어야합니다 해당 컨텍스트 메뉴 그래서 당신은 listactivity에 가서 여기에 '컨텍스트 메뉴에 등록'이라고 말하면 컨텍스트 메뉴를 표시 할보기를 묻습니다 실제로 'lvproduct'에 표시하고 싶습니다

'lvproduct'가 여기에 있으므로 잘되어야합니다 그런 다음 여기에서 '상황에 맞는 메뉴 만들기'라고하고 다른 방법으로 'oncontext 아이콘을 선택했습니다' 그래서 이것은 여러분이 프로젝트에 가기 위해 표시하고자하는 메뉴이고 여러분은 메뉴로갑니다 여기에는 메인 메뉴가 있습니다 컨텍스트 메뉴가 없으므로 복사해서 붙여 넣기 만하면됩니다 '목록 상황에 맞는 메뉴'이므로 여기서의 문맥은 '목록 활동'이어야하며 여기에있는 ID는 메뉴입니다

1 번 업데이트 ', 제목은 업데이트, 복사, 붙여 넣기'메뉴 제거, 2 번 주문 제거 ', 당신은 목록으로 돌아가서 '메뉴 팽창기 팽창기, 메뉴 팽창기 팽창기 가져 오기 팽창' 그런 다음 어떤 메뉴 이제 'Rmenulistcontextmenu 및 menu'를 호출하여 마지막 메뉴가 컨텍스트 메뉴가되도록하십시오

여기서는 lvproduct 뷰를 호출하여이 행을 복사하여 붙여 넣어야합니다 컨텍스트 메뉴에 대한 레지스터를 호출합니다 예, 업데이트 및 제거가 있었으므로 업데이트를 클릭하고 업데이트하려고합니다 제거를 클릭하면이 항목을 목록에서 제거하려고합니다 그래서 우리는 '모든 컨텍스트 항목을 선택했습니다'라는 또 다른 메서드가 필요하며 사용자는 'item

getmenuinfo'를 호출하고 반환 부분은 Adapter context menu '이며 이것과 같은 어댑터 컨텍스트 메뉴 정보에 캐스트하면 다음과 같은 정보가 제공됩니다 클릭 한 항목 예를 들어 '정보 위치'는이 위치에서 필요한 유일한 위치입니다 그래서 우리는 어댑터에서 호출 할 수 있습니다, 그래서 우리의 어댑터는 어디에 있습니까? 당신이 여기에서 제품을 얻을 수 있도록, 여기 저기에 밖에서 선언해야합니다 나는 그것을 제품과 같이 부르고 당신은 'adapter get item'이라고 부르며 거기에서 정보를 가져와야한다 좋아

그래서이 라인은 기본적으로 당신이 클릭하는 제품을 얻게되어 정보가 알게 될 것입니다 어댑터는 어느 항목이 먼저 선택 되었는지를 먼저 확인하기 만하면됩니다 따라 와서, '이름'을보기 쉽게 선택했을 수도 있습니다 그래서 여기 디버그에서 클래스의 이름을보아야합니다 이것은 로그 이름입니다

보겠습니다 업데이트를 클릭하십시오 좋아, 이제는 펩시 야 그래서 네가 펩시에서 물건을 가져간다는 뜻이야 여기 고양이를 클릭하십시오, 이제 우리는 제품을 얻습니다, 그래서 우리는 우리가 선택하도록해야합니다

메뉴에서 업데이트를 클릭 했는데도 알 수 있듯이 여전히 고양이이므로 고양이 이제는 메뉴를 얻을 수 있지만 메뉴는 괜찮습니까? 그래서 우리는 원하는 메뉴를 테스트해야합니다 그래서 'if itemgetitem ID R

Idmenu update 'ok 이것은 업데이트 메뉴를위한 것입니다'메뉴 제거 '를위한 것입니다 우리가 세부 정보 페이지를 열었 기 때문에 쉽다 새로운

에서 'listactivity에서 당신은 세부 활동에 간다' 제거를 위해 약간 복잡합니다 어떤 항목을 제거하고 싶습니다 이제 우리는 그 아이템 그리고 우연히 삭제하려고하지 않도록해야합니다

다른 경고 메시지가 있습니다 그래서 당신은 'alertdialog'라고 부릅니다 빌더와 당신은 alert alialial '이라고 불러서 이렇게 경고 대화를하고 나서 당신은 당신이 그 (것)들을 묻고 싶다 그래서 당신은 어떤 원본을, 어쩌면 메시지 놓기 위하여 놓고 싶다? 그때 우리 제품 이름 그리고 그 후에 우리는 'remove and new onclicklistener and the button'을 호출합니다 긍정적이고 부정적인 '이 하나는 우리가 떠날 필요가 없기 때문에 취소합니다 그들 null '그리고 마지막으로'alert

show ' 그래서 여기에 코드를 작성하려고하지만 처음에는 실행 및 테스트를 수행합니다 그것 다시 로그인하여 Cat을 클릭하고 업데이트하십시오 이제 세부 정보 페이지로 이동합니다

데이터는 여기에 데이터를 저장하지 않기 때문에 '추가 저장'이라고 부르며 세부 정보로 이동하면 페이지에서 볼 수 있으며 '직렬화 가능 추가 제품'이 있으므로 제품에 당신은 '선택된 제품'을 부를 수 있습니다, 괜찮을 것입니다 고양이 다시, 알았어 우리가 간다, 우리가 정보를 얻었으니, 여기로 돌아갈 수있어 당신은 ok를 클릭하기 만하면됩니다 바로 여기에서 우리는이 항목을 제거하고 싶다고 말해야합니다

그래서 우리는 두 가지가 있다는 것을 제거하기 위해 먼저 목록에서 제거하고 두 번째 것은 제거합니다 데이터베이스에서 제거하십시오 먼저 ListView에서 먼저 제거해 봅시다 제거하려면 '제품 목록'을 말해야합니다 제거하고 선택한 제품을 말할 수 있습니다 '

그런 다음 '어댑터 알림 변경'이라고 불러야합니다 이렇게하면 문제가 해결됩니다 다시 테스트하십시오 이제이 파일을 삭제하고, 예를 제거하고, 제거하십시오 데이터베이스를 살펴 보겠습니다

언론에서 알 수 있듯이, 데이터베이스에서 제거하지 않기 때문에 여기에서 삭제 된 데이터가 없습니다 그냥 ListView에서 제거하십시오 그래서 우리는 돌아가서 코드를 추가해야하므로 PostResposneasyncTask를 호출해야합니다 다시 이것은 코드 포스트 응답 asynctask이므로 삭제할 또 다른 PHP가 있어야합니다 그래서 이것은 PHP를 제거하는 페이지입니다

제거를 위해 우리는 PID를 제외하고는 아무것도 필요하지 않습니다, 모바일은 우리가 원하는 것입니다 깊숙이 박다 PID에서 PID가 0보다 큰 테이블의 목록입니다 그래서이 코드를 복사하면 여기로 이동합니다이 코드는 필요 없습니다 선택한 PID 및 이것은 listactivity이며 성공적으로 삭제라고 말하면 사용자는 그렇지 않습니다

어디서나 여기로 가야합니다 이 문제와 다른 PID를 호출하기 때문에 여기에 몇 가지 문제가 있습니다 'PID'로 변경하십시오 좋아요 다시 실행합시다

좋아요 첫 번째를 지우고, 제거하십시오, 예, 데이터베이스로 돌아가십시오 이제 제거되었습니다 중간에 다른 것을 시험해 봅시다 테스트 2 테스트를 제거하고 지금 test2를보고 다시 찾아보기

이제 수업의 마지막에 도달했습니다 즐기는 경우 내 채널을 구독하십시오 나는 다음 비디오에서 너를 볼거야 고맙습니다