Http post in Service in Service?

时间:2016-10-24 07:19:31

标签: android service http-post httprequest

我有壁纸服务我在服务中写了一个Http post请求代码(新主题),但我无法从中获得结果我在postman(chrome)上测试我的url和其他我可以获得响应但是在这里,我甚至不知道它是否正常工作请帮忙看看我的代码(请帮我看看吐司或系统的响应或.....)

这是我的http发布请求。

  public static String HttpParoonakRequestGetUrl(){

    URL url ;
        HttpURLConnection client = null;
    try {
        url = new URL("my url");

        client = (HttpURLConnection) url.openConnection();
        client.setRequestMethod("POST");

        client.setRequestProperty("method","get_random_wallpaper");


        client.setUseCaches (false);
        client.setDoInput(true);
        client.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream (
                client.getOutputStream ());
        wr.flush ();
        wr.close ();

        //Get Response
        InputStream is = client.getInputStream();
        BufferedReader rd = new BufferedReader(new InputStreamReader(is));
        String line;
        StringBuffer response = new StringBuffer();
        while((line = rd.readLine()) != null) {
            response.append(line);
            response.append('\n');

        }
        rd.close();
        Log.d("hey",response.toString());

        return response.toString();

    } catch (Exception e) {

        e.printStackTrace();
                        e.getMessage();
        return null;


         }
    finally {
        if(client != null) // Make sure the connection is not null.
            client.disconnect();
    }

}

我的服务

public class MainActivity extends WallpaperService {






@Override
public Engine onCreateEngine() {
    return new WallpaperEngine();
}

class WallpaperEngine extends Engine {
    //Duration between slides in milliseconds
    private final int SLIDE_DURATION = 2000;

    private int[] mImagesArray;
    private int mImagesArrayIndex = 0;
    private Thread mDrawWallpaper,thread;


    public WallpaperEngine() {



        mImagesArray = new int[] {R.drawable.garden1,R.drawable.garden2,R.drawable.garden3,R.drawable.garden4,R.drawable.girl1,
                R.drawable.girl2,R.drawable.greenww,R.drawable.sports1,R.drawable.sports2,R.drawable.sports3,R.drawable.sports4};

        mDrawWallpaper = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    while (true) {

                        drawFrame();
                        incrementCounter();
                        Thread.sleep(SLIDE_DURATION);
                    }
                } catch (Exception e) {
                   e.printStackTrace();
                    e.getMessage();
                }


            }
        });


        thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    String a = HttpParoonakRequest.HttpParoonakRequestGetUrl();
                    System.out.println("Message1 "+ a);
                    Toast.makeText(getApplicationContext(),a,Toast.LENGTH_LONG).show();
                } catch (Exception e) {
                   e.printStackTrace();
                    e.getMessage();
                }

            }
        });
        thread.start();
        mDrawWallpaper.start();


    }





    private void incrementCounter() {
        mImagesArrayIndex++;

        if (mImagesArrayIndex >= mImagesArray.length) {
            mImagesArrayIndex = 0;
        }
    }

    private void drawFrame() {
        final SurfaceHolder holder = getSurfaceHolder();

        Canvas canvas = null;

        try {
            canvas = holder.lockCanvas();

            if (canvas != null) {
                drawImage(canvas);
            }
        } finally {
            if (canvas != null) {
                holder.unlockCanvasAndPost(canvas);
            }
        }
    }

    private void drawImage(Canvas canvas)
    {

        Bitmap image = BitmapFactory.decodeResource(getResources(),
                mImagesArray[mImagesArrayIndex]);
        Bitmap b=Bitmap.createScaledBitmap(image, canvas.getWidth(), canvas.getHeight(), true);
        canvas.drawBitmap(b, 0,0, null);
    }




}

当然我在清单中使用权限互联网

0 个答案:

没有答案