いつもお世話になります。
表記の通り、BitmapFactory.decodeByteArray(sbyte, 0, sbyte.length);の戻り値がnullになってしまって前に進めないです。
流れとしては、引数resultからbyteデータに置き換えて、Bitmapに変換したいのですがうまくいきません
resultのデータはサーバからくるデータと考えおります。
サーバー側のソースは以下の以下の通り
ちなみにresultからくるデータは以下の以下の以下通り。
java
1 2//クライアント側 再編集 3public class AsyncNetworkTask extends AsyncTask<Void, Void, byte[]> { 4 5 private ImageView imageview; 6 7 public AsyncNetworkTask(Context context) { 8 super(); 9 MainActivity activity = (MainActivity)context; 10 imageview = (ImageView)activity.findViewById(R.id.iv); 11 } 12 13 @Override 14 protected byte[] doInBackground(Void... voids) { 15 16 byte[] data; 17 18 StringBuilder builder = new StringBuilder(); 19 try { 20 URL url = new URL("http://192.168.3.5:8080/book777/chapter3"); 21 HttpURLConnection con = (HttpURLConnection)url.openConnection(); 22 con.setRequestMethod("GET"); 23 BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8")); 24 String line; 25 while ((line = reader.readLine()) != null){ 26 builder.append(line); 27 } 28 } catch (IOException e) { 29 e.printStackTrace(); 30 } 31 32 String i = builder.toString(); 33 data=i.getBytes(); 34 return data; 35 } 36 37 @Override 38 protected void onPostExecute(byte[] result) { 39 Bitmap bmp2 = null; 40 41 if (result != null) { //byte配列をBitmapオブジェクトに変換する 42 bmp2 = BitmapFactory.decodeByteArray(result, 0, result.length);//nullになってしまう 43 } 44 if (bmp2 == null){ //bmp2がnullかどうか調べる 45 imageview.setImageResource(R.drawable.monster);//<----ここに入ってしまう!!! 46 } 47 48 imageview.setImageBitmap(bmp2);//nullになってしまうため画像が表示されない 49 } 50}
java
1//サーバー側 2@WebServlet(urlPatterns={"/chapter3/*"}) 3public class Hello3 extends HttpServlet{ 4 5 @Override 6 public void doGet( 7 HttpServletRequest request, 8 HttpServletResponse response 9 ) throws ServletException, IOException { 10 response.setContentType("image/jpeg ;charset=UTF-8"); 11 response.setHeader("Content-Disposition" ,"attachment"); 12 13 OutputStream out = response.getOutputStream();//ここでストリームをつなげる 14 15 try { 16 FileInputStream input =new FileInputStream("/Applications/Eclipse_4.7.2.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/book777/WEB-INF/classes/chapter3/1.jpg"); 17 18 19 int i = input.read(); 20 while(i !=-1) { 21 char c = (char)i; 22 out.write(c);//ここでクライアントにデータを流す 23 System.out.print(c) 24 i = input.read(); 25 } 26 input.close(); 27 out.close(); 28 29 }catch(Exception e) { 30 System.out.println("意味不明のエラーです"); 31 }catch (Throwable e) { 32 System.out.println("byte[] data = IOUtils.toByteArray(input);でエラーです"); 33 } 34 } 35 36}
������JFIF��,,��������C��(1#%(:3=<9387@H\N@DWE78PmQW_bghg>Mqypdx\egc����C//cB8Bcccccccccccccccccccccccccccccccccccccccccccccccccc�������"�������������������������� �����������}��!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������������������������� ���������w��!1AQaq"2�B���� #3R�br�$4�
回答3件
あなたの回答
tips
プレビュー