Изображение галереи Android в строке 64 base - PullRequest
0 голосов
/ 01 декабря 2011

Мое приложение позволяет пользователю выбрать изображение из галереи и загрузить его на сервер.В настоящее время я могу отображать изображение, но не загружать его.Я не получаю ошибку.Ниже мой код, я надеюсь, что он понятен.

public void submit_click(View view) {
    TextView err=(TextView) findViewById(R.id.err);
    if (thumbnail != null) {
        // TextView err = (TextView) findViewById(R.id.err);
        try{
            byte[] bitmapdata = imagetoArray();
            img = decodeUTF8(bitmapdata);

            if (updateImage() == true) {
                Intent myIntent = new Intent(view.getContext(), ProfileActivity.class);
                startActivityForResult(myIntent, 0);    
            } else {
                err.setText("Error update image");
            }
        }
        catch(Exception ex)
        {
            err.setText(ex.getLocalizedMessage());
        }    
    }    
}

private boolean updateImage() {
    boolean status = false;
    TextView err=(TextView) findViewById(R.id.err);
    String username = SessionManager.getMaps("user");
    String postData = "{\"UserImage\":\"" + img + "\",\"UserName\":\"" + username + "\"}";
    try {
        String domain = getString(R.string.domain);
        HttpClient httpclient = new DefaultHttpClient();
        HttpResponse response;
        HttpPost httppost = new HttpPost(domain + "updateUserImage");
        StringEntity se = new StringEntity(postData.toString(), "utf-8");
        se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
        httppost.setEntity(se);
        httppost.setHeader("Accept", "application/json");
        httppost.setHeader("Content-type", "application/json");
        response = httpclient.execute(httppost);
        if (response != null) {
            HttpEntity r_entity = response.getEntity();
            String json = EntityUtils.toString(r_entity);
            status = Boolean.parseBoolean(json);
        }    
    } catch (Exception e) {
        err.setText(e.getLocalizedMessage());
    }

    return status;
}

private byte[] imagetoArray() {
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    TextView err=(TextView) findViewById(R.id.err);
    try{           
        thumbnail.compress(Bitmap.CompressFormat.PNG, 100, stream);
    }
    catch(Exception ex)
    {
        err.setText(ex.getLocalizedMessage());
    }
    return stream.toByteArray();
}


private String decodeUTF8(byte[] bytes) {
    String sw="";
    TextView err=(TextView) findViewById(R.id.err);
    try{
        sw= Base64.encodeToString(bytes, Base64.NO_WRAP);
    }
    catch(Exception ex)
    {
        err.setText(ex.getLocalizedMessage());
    }
    return sw;
}

1 Ответ

1 голос
/ 01 декабря 2011

Если вы хотите обработать событие щелчка, было бы неплохо добавить обработчик события к кнопке.

      submit.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onClick(View v) {
            submit_click(v);
        }          
      });

PS: сердечно относитесь к вашему коллеге-программисту и прочитайте следующее: Java Code Conventions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...