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

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

글쓴이 : sujji2 날짜 : 2016-09-22 (목) 19:32 조회 : 1722
 
  오라클자바교육센터 구로본점
안드로이드전문교육, SDK실무개발, APP개발프로젝트, 실습폰지원, 재직자환급
www.oraclejava.co.kr
  임베디드 개발 마이크로비젼
임베디드 개발용역, 개발보드, 에뮬레이터.
www.mvtool.co.kr
  KG아이티뱅크 교육수강문의
안드로이드학원, 앱개발, 국비지원, 학원방문상담예약, IT실무교육, 수강료조회.
www.hrditbank.com
신청하기


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
이전글  다음글  목록 글쓰기

총 게시물 84건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 추천 조회
공지  문제/에러 해결게시판의 성격에 맞는 글들만 … 5 수아 02-26 2 4096
안드로이드  이 게시판의 용도 9 카이로 07-10 8 5625
84 하이브리드  이클립스 로그캣보는데 문자가 이상하게 나… 오룡 06-29 0 79
83 안드로이드  자바소스를 안드로이드용으로 변경 도움 부… 1 오마로 01-09 0 777
82 안드로이드  앱이 실행중이지 않을때 FCM 푸시 수신 후 노… 뜬구름 11-06 0 628
81 안드로이드  소스 수정 도와 주실분~~~ 2 맘여린왕자 10-16 0 667
80 안드로이드  (왕초보)SQLite를 이용한 고객관리 정보 어플 … 어플메이커 10-25 0 1188
79 안드로이드  (안드로이드+php) 이미지/텍스트 전송하는거 … 1 sujji2 09-22 0 1723
78 안드로이드  리스트뷰 인텐트 질문이요 2 sujji2 08-08 0 1569
77 안드로이드  카드뷰 인데 궁금한게있씁니다 마쉘로 07-28 0 1121
76 안드로이드  완전 초짜 질문입니다. 2 겨울이야기 07-08 0 1774
75 안드로이드  소프트키보드를 사용해서 천지인 키보드를 … 재와니 03-30 0 2249
74 안드로이드  안드로이드 갤러리에서 사진 가져오기 ㅠㅠ 2 히미여소사라 02-03 0 4251
73 안드로이드  안드로이드 스튜디오 빨간줄표시 osd0909 12-11 0 2543
72 안드로이드  java.lang.RuntimeException: Unable to start activity Compone… 1 레드썬 11-24 0 1637
71 안드로이드  안드로이드 스튜디오 AVD실행시에 에러입니다… 나이th 11-15 0 1628
70 안드로이드  구글맵을 사용하려고 하는데 진행이 안되요 흥그븡그 09-13 0 1757
69 안드로이드  안드로이드 스튜디오에서 drawable.. 4 elite1111 08-13 0 2546
68 웹앱  웹앱에서 동영상 보기 짱구짱구짱구 07-01 0 1610
67 웹앱  웹사이트 임포트후 전화걸기 문제입니당....… 2 짱구짱구짱구 07-01 0 2372
66 안드로이드  웹사이트 임포트후 전화걸기 문제입니당....… 짱구짱구짱구 07-01 0 1641
65 웹앱  웹사이트 임포트후 전화걸기 문제입니당....… 9 짱구짱구짱구 07-01 0 2340
 1  2  3  4  5  맨끝
 


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