총 게시물 83건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

(안드로이드+php) 이미지/텍스트 전송하는거 질문이요

글쓴이 : sujji2 날짜 : 2016-09-22 (목) 19:32 조회 : 1268
 
  임베디드 시스템 마이크로비젼
임베디드 개발보드, 개발용역, IAR 컴파일러 총판, 에뮬레이터.
www.mvtool.co.kr
  안드로이드/태블릿은 디퍼세븐
안드로이드 태블릿모니터,DID,사이니지,키오스크,디지털액자등(하드웨어및솔루션)
www.dippersevenmall.com
  IT뱅크 JAVA교육 정지민
자바 프로그래밍 실무교육, 코딩 기초~심화, IT자격증, 개발자 취업, 상담 신청
www.kgitbank-jm.co.kr
신청하기


Screenshot_2016-09-22-19-16-46.png

(위 이미지는 테스트용으로 이미지를 아무거나 추가한 것입니다. 절대 게임에 홍보성?은 절대 없습니다,)

DB테이블안에 id,image,content 3개의 필드가 있습니다.

현재 id,image(blob형식)은 들어가는데 content까지 넣고싶습니다.

php는 수정했는데 안드로이드 코딩을 어떻게해야할지 잘모르겠어요.doingbackground에서 인자를 bitmap..param으로 받았는데 이 안에서 String형인 content를 어떻게 넣어야할지 모르겠습니다.

조언좀 해주세요ㅠㅠ

전체코드입니다.


MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

public static final String UPLOAD_URL = "웹서버 주소/upload.php";
public static final String UPLOAD_KEY = "image";
public static final String TAG = "MY MESSAGE";

private int PICK_IMAGE_REQUEST = 1;

private Button buttonChoose;
private Button buttonUpload;
private Button buttonView;
private EditText content; // content 내용을 적는 에디트텍스트
private ImageView imageView;

private Bitmap bitmap;

private Uri filePath;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

buttonChoose = (Button) findViewById(R.id.buttonChoose);
buttonUpload = (Button) findViewById(R.id.buttonUpload);
buttonView = (Button) findViewById(R.id.buttonViewImage);
content = (EditText)findViewById(R.id.editText);
imageView = (ImageView) findViewById(R.id.imageView);

buttonChoose.setOnClickListener(this);
buttonUpload.setOnClickListener(this);
}

private void showFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {

filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}

public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}

private void uploadImage(){
class UploadImage extends AsyncTask<Bitmap,Void,String> {

ProgressDialog loading;
RequestHandler rh = new RequestHandler();

@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(MainActivity.this, "Uploading Image", "Please wait...",true,true);
}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show();
}

@Override
protected String doInBackground(Bitmap... params) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);

HashMap<String,String> data = new HashMap<>();
data.put(UPLOAD_KEY, uploadImage);

String result = rh.sendPostRequest(UPLOAD_URL,data);

return result;
}
}

UploadImage ui = new UploadImage();
ui.execute(bitmap);
}

@Override
public void onClick(View v) {
if (v == buttonChoose) {
showFileChooser();
}
if(v == buttonUpload){
uploadImage();
}
}
}


RequestHandler.java
public class RequestHandler {

public String sendGetRequest(String uri) {
try {
URL url = new URL(uri);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));

String result;

StringBuilder sb = new StringBuilder();

while((result = bufferedReader.readLine())!=null){
sb.append(result);
}

return sb.toString();
} catch (Exception e) {
return null;
}
}

public String sendPostRequest(String requestURL,
HashMap<String, String> postDataParams) {

URL url;
String response = "";
try {
url = new URL(requestURL);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);


OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getPostDataString(postDataParams));

writer.flush();
writer.close();
os.close();
int responseCode = conn.getResponseCode();

if (responseCode == HttpsURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
response = br.readLine();
} else {
response = "Error Registering";
}
} catch (Exception e) {
e.printStackTrace();
}

return response;
}

private String getPostDataString(HashMap<String, String> params) throws UnsupportedEncodingException {
StringBuilder result = new StringBuilder();
boolean first = true;
for (Map.Entry<String, String> entry : params.entrySet()) {
if (first)
first = false;
else
result.append("&");

result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
}

return result.toString();
}
}




sujji2 님의 문제/에러 해결 LIB 최신글 [더보기]


추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

안사 이쁜이 2016-09-22 (목) 19:32
축하드립니다. ;)
sujji2님은 안사 이쁜이에 당첨되어 6 포인트 지급되었습니다.
hi
이전글  다음글  목록 글쓰기

총 게시물 83건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 추천 조회
공지  문제/에러 해결게시판의 성격에 맞는 글들만 … 5 수아 02-26 2 3707
안드로이드  이 게시판의 용도 9 카이로 07-10 8 5256
83 안드로이드  자바소스를 안드로이드용으로 변경 도움 부… 1 오마로 01-09 0 83
82 안드로이드  앱이 실행중이지 않을때 FCM 푸시 수신 후 노… 뜬구름 11-06 0 197
81 안드로이드  소스 수정 도와 주실분~~~ 2 맘여린왕자 10-16 0 325
80 안드로이드  (왕초보)SQLite를 이용한 고객관리 정보 어플 … 어플메이커 10-25 0 928
79 안드로이드  (안드로이드+php) 이미지/텍스트 전송하는거 … 1 sujji2 09-22 0 1269
78 안드로이드  리스트뷰 인텐트 질문이요 2 sujji2 08-08 0 1111
77 안드로이드  카드뷰 인데 궁금한게있씁니다 마쉘로 07-28 0 763
76 안드로이드  완전 초짜 질문입니다. 2 겨울이야기 07-08 0 1364
75 안드로이드  소프트키보드를 사용해서 천지인 키보드를 … 재와니 03-30 0 1874
74 안드로이드  안드로이드 갤러리에서 사진 가져오기 ㅠㅠ 2 히미여소사라 02-03 0 3593
73 안드로이드  안드로이드 스튜디오 빨간줄표시 osd0909 12-11 0 2055
72 안드로이드  java.lang.RuntimeException: Unable to start activity Compone… 1 레드썬 11-24 0 1271
71 안드로이드  안드로이드 스튜디오 AVD실행시에 에러입니다… 나이th 11-15 0 1341
70 안드로이드  구글맵을 사용하려고 하는데 진행이 안되요 흥그븡그 09-13 0 1479
69 안드로이드  안드로이드 스튜디오에서 drawable.. 4 elite1111 08-13 0 2164
68 웹앱  웹앱에서 동영상 보기 짱구짱구짱구 07-01 0 1353
67 웹앱  웹사이트 임포트후 전화걸기 문제입니당....… 2 짱구짱구짱구 07-01 0 2076
66 안드로이드  웹사이트 임포트후 전화걸기 문제입니당....… 짱구짱구짱구 07-01 0 1334
65 웹앱  웹사이트 임포트후 전화걸기 문제입니당....… 9 짱구짱구짱구 07-01 0 1992
64 안드로이드  안드로이드 gps좌표를 TCP/IP로 비주얼 스튜디… 련양갱 06-03 0 2105
 1  2  3  4  5  맨끝
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기