标签: android-async-http

使用android-async-http(loopj)发布JSON/XML

我正在使用android-async-http而且非常喜欢它.我遇到了POST数据的问题.我必须以下列格式将数据发布到API: -

<request>
  <notes>Test api support</notes>
  <hours>3</hours>
  <project_id type="integer">3</project_id>
  <task_id type="integer">14</task_id>
  <spent_at type="date">Tue, 17 Oct 2006</spent_at>
</request>
Run Code Online (Sandbox Code Playgroud)

根据文档,我尝试使用它RequestParams,但它失败了.这是其他任何方式吗?我也可以发布等效的JSON.有任何想法吗?

rest post android loopj android-async-http

46
推荐指数
3
解决办法
6万
查看次数

Google Volley vs Android-Async-Http

我正在研究这两个Android Http Networking库.

我想有些人使用这两个库的经验.就个人而言,我总是非常高兴地使用http://loopj.com/android-async-http/库.但最近我建议使用Volley Framework.

我可以从一个到另一个获得什么好处?
从我的阅读到目前为止,Volley在一个库中集成了许多不错的功能,如图像加载,请求缓存,请求取消.

我目前的使用案例/规格:

从我的Android应用程序中获取Web服务.

  • 从Web服务接收JSON对象
  • 易于与GUI集成
  • 原始性能的稳定性和可靠性
  • 图书馆的长期维护和支持.
  • 易于使用/易于实施

从SE上的一些阅读:

"Volley一切都很好,但从负面来看,它是一个没有文档记录,不受支持的,"将代码扔到墙上并对其进行I | O演示"库".

所以我认为它清晰的Volley可能会得到功能,但是记录和维护的程度如何呢?如果我决定使用它,4年后仍然会有它的支持吗?

android androidhttpclient android-volley android-async-http

10
推荐指数
2
解决办法
1万
查看次数

LoopJ AndroidAsyncHttp和JSON POST ARRAY

我正在使用LoopJ AndroidAsyncHttp库来与我的PhP服务器通信.我遇到了问题.

我需要像这样发送一个JsonObject:

{      "data": 2376845,      
       "data2": 12545,      
       "array": [{"data3": "2013-01-10",          
                     "data4": 23532        },       
                    {"data3": "2013-01-11",             
                     "data4": 523526   }]
}
Run Code Online (Sandbox Code Playgroud)

但是在javadoc中; 唯一的参数是RequestParams,并且没有任何类型的数组.谁能帮我?或者告诉我一些我可以使用的东西.谢谢.

post android json http android-async-http

8
推荐指数
1
解决办法
1万
查看次数

通过AsyncHttpClient将JSON作为POST请求发送到服务器

我想使用LoopJ的AsndroidAsyncHttpt将JSON作为POST发送到我的localhost服务器.我正在使用这种方法: public void post(Context context, String url, HttpEntity entity, String contentType, AsyncHttpResponseHandler responseHandler) 在我的代码中,但它不起作用.这是我的代码:

private void  loginUser() throws JSONException, UnsupportedEncodingException {
    String login = textLogin.getText().toString();
    String password = textPassword.getText().toString();

    JSONObject jsonObject = new JSONObject();
    if(Utility.isNotNull(login) && Utility.isNotNull(password)) {
        jsonObject.put("username", login);
        jsonObject.put("password", password);
        invokeWS(jsonObject);
    }
    else{
        Toast.makeText(getApplicationContext(), "Prosz? wype?ni? wszystkie pola!", Toast.LENGTH_LONG).show();
    }
}

private void invokeWS(JSONObject jsonObject) throws UnsupportedEncodingException {
    StringEntity entity = new StringEntity(jsonObject.toString());
    AsyncHttpClient client = new AsyncHttpClient();

    Log.i("SER", "http://" + Constants.address + ":" + Constants.port + "/silownia_java/rest/login/auth" …
Run Code Online (Sandbox Code Playgroud)

android json android-async-http

8
推荐指数
1
解决办法
2万
查看次数

如何使用AsyncHttpClient Android上传多个文件

我知道我可以从AsyncHttpClient上传单个文件

http://loopj.com/android-async-http/

File myFile = new File("/path/to/file.png");
RequestParams params = new RequestParams();
try {
    params.put("profile_picture", myFile);
} catch(FileNotFoundException e) {}
Run Code Online (Sandbox Code Playgroud)

但我必须使用multipart post将多个文件上传到服务器.我怎样才能做到这一点?

post android multipart android-async-http

7
推荐指数
1
解决办法
7639
查看次数

使用LoopJ AndroidAsyncHttp从https下载图像资源

我正在使用LoopJ AndroidAsyncHttp下载图像,但是当我尝试使用HTTPS URL时,我没有得到任何响应.码:

AsyncHttpClient client = new AsyncHttpClient();
client.get(httpsUrlString, new BinaryHttpResponseHandler(allowedContentTypes) {
    @Override
    public void onSuccess(byte[] fileData) {
        Bitmap bitmap = BitmapFactory.decodeByteArray(fileData, 0, fileData.length);
        image.setImageBitmap(bitmap);
    }
});
Run Code Online (Sandbox Code Playgroud)

https android image android-async-http

7
推荐指数
1
解决办法
2280
查看次数

在AndroidAsyncHttp中RequestParams add()和put()之间的区别

在使用android-async-http图书馆时我偶然发现了params.add().

我已经使用params.put()了一段时间,它似乎比add()它允许除String之外的数据类型(如int,long,object,file)更好,而add()不是.

RequestParams params = new RequestParams();

// So how is this
params.add("param_a", "abc");

// different from this
params.put("param_a", "abc");

// and which one should I use?
Run Code Online (Sandbox Code Playgroud)

android android-async-http

7
推荐指数
1
解决办法
4611
查看次数

如何使用AsyncHttpClient进行HTTPS调用?

我正在使用AsyncHttpClient 链接进行http调用,但现在我们的服务器已迁移到HTTPS,我得到了异常javax.net.ssl.SSLPeerUnverifiedException: No peer certificate.有没有人尝试使用此库进行https调用?

AsyncHttpClient的初始化: -

AsyncHttpClient client = new AsyncHttpClient();
            PersistentCookieStore myCookieStore = new PersistentCookieStore(
                    getActivity());
            // List<Cookie> cookies = myCookieStore.getCookies();
            myCookieStore.clear();
            // cookies = myCookieStore.getCookies();
            client.setCookieStore(myCookieStore);

            client.get(loginUrl, new JsonHttpResponseHandler() {

                @Override
                public void onStart() {
                    super.onStart();
                    progressBar.setVisibility(View.VISIBLE);
                }

                @Override
                public void onFinish() {
                    super.onFinish();
                    progressBar.setVisibility(View.GONE);
                }

                @Override
                public void onSuccess(int statusCode, JSONObject userInfo) {
                    super.onSuccess(statusCode, userInfo);

                    String errorMsg = null;
                    try {
                        errorMsg = userInfo.getString("error");
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    if …
Run Code Online (Sandbox Code Playgroud)

https networking android android-async-http

6
推荐指数
2
解决办法
3万
查看次数

LoopJ AndroidAsyncHttp并请求cookie

关于LoopJ AndroidAsyncHttp 示例,我发出这样的get请求:

    final TextView text = (TextView) findViewById(R.id.textView);
    AsyncHttpClient client = new AsyncHttpClient();
    client.get("http://example.com/mypage/", new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(String response) {
            text.append(response);
        }
    });
Run Code Online (Sandbox Code Playgroud)

我还添加了cookies:

    PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
    client.setCookieStore(myCookieStore);
    BasicClientCookie newCookie = new BasicClientCookie("id", 17882);
    myCookieStore.addCookie(newCookie);
Run Code Online (Sandbox Code Playgroud)

但在提出GET请求时,如何在请求对象中发送我的cookie?

关于文档客户端有这些方法签名:

 void   get(Context context, String url, AsyncHttpResponseHandler responseHandler) 
 void   get(Context context, String url, Header[] headers, RequestParams params, AsyncHttpResponseHandler responseHandler) 
 void   get(Context context, String url, RequestParams params, AsyncHttpResponseHandler responseHandler) 
 void   get(String url, AsyncHttpResponseHandler responseHandler) 
 void   get(String …
Run Code Online (Sandbox Code Playgroud)

android android-async-http

5
推荐指数
1
解决办法
5538
查看次数

Sugar ORM不会将数据保存到数据库中

我目前正在为我的Android应用程序使用Sugar ORMAndroid Async Http Client.

我阅读了Sugar ORM的文档并完成了那里写的内容.我的HttpClient使用单例模式并提供调用某些API的方法.

现在是关于它的坏部分.我无法将数据持久保存到由Sugar ORM创建的数据库中.这是调用API的方法:

public void getAvailableMarkets(final Context context, final MarketAdapter adapter) {
        String url = BASE_URL.concat("/markets.json");
        client.addHeader("Content-Type", "application/json");
        client.addHeader("Accept", "application/json");

        client.get(context, url, null, new JsonHttpResponseHandler() {

            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONArray response) {

                Log.i(TAG, "Fetched available markets from server: " + response.toString());


                Result<Markets> productResult = new Result<Markets>();
                productResult.setResults(new Gson().<ArrayList<Markets>>fromJson(response.toString(),
                        new TypeToken<ArrayList<Markets>>() {
                        }.getType()));
                ArrayList<Markets> marketsArrayList = productResult.getResults();

                // This lines tells me that there are no entries …
Run Code Online (Sandbox Code Playgroud)

android sugarorm android-async-http

5
推荐指数
1
解决办法
9527
查看次数