博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 网络提交数据(使用Asynchronous Http Client)
阅读量:6928 次
发布时间:2019-06-27

本文共 3547 字,大约阅读时间需要 11 分钟。

hot3.png

项目主页及简单使用方法

activity:

package com.example.asynchttp;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URI;import java.net.URLEncoder;import org.apache.http.Header;import org.apache.http.HttpResponse;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.RequestParams;import com.loopj.android.http.ResponseHandlerInterface;import com.loopj.android.http.TextHttpResponseHandler;import android.os.Bundle;import android.provider.MediaStore.Files;import android.app.Activity;import android.content.res.Resources;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.view.Menu;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity{	@Override	protected void onCreate(Bundle savedInstanceState)	{		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);	}	@Override	public boolean onCreateOptionsMenu(Menu menu)	{		// Inflate the menu; this adds items to the action bar if it is present.		getMenuInflater().inflate(R.menu.main, menu);		return true;	}	public void get_click(View v) throws Exception	{		String path = "http://192.168.1.100:8080/ServletTest/Login" + "?username=" + URLEncoder.encode("test", "utf-8") + "&password=" + URLEncoder.encode("123", "utf-8");		AsyncHttpClient client = new AsyncHttpClient();		client.get(path, new AsyncHttpResponseHandler()		{			@Override			public void onSuccess(int statusCode, Header[] headers, byte[] responseBody)			{				Toast.makeText(MainActivity.this, new String(responseBody), Toast.LENGTH_SHORT).show();			}			@Override			public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error)			{				Toast.makeText(MainActivity.this, new String(responseBody + error.getMessage()), Toast.LENGTH_SHORT).show();			}		});	}	public void post_click(View v) throws Exception	{		String path = "http://192.168.1.100:8080/ServletTest/Login";		String username = "test";		String password = "123";		AsyncHttpClient client = new AsyncHttpClient();		RequestParams params = new RequestParams();		params.add("username", username);		params.add("password", password);		client.post(path, params, new TextHttpResponseHandler()		{			@Override			public void onSuccess(int statusCode, Header[] headers, String responseString)			{				Toast.makeText(MainActivity.this, responseString, Toast.LENGTH_SHORT).show();			}			@Override			public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable)			{				Toast.makeText(MainActivity.this, responseString, Toast.LENGTH_SHORT).show();			}		});	}	public void upload_click(View v) throws Exception	{		String path = "http://192.168.1.100:8080/ServletTest/Upload";		AsyncHttpClient client = new AsyncHttpClient();		RequestParams params = new RequestParams();		InputStream is = getAssets().open("test.png");		params.put("file", is,"测试.png");		client.post(path, params, new AsyncHttpResponseHandler()		{			@Override			public void onSuccess(int statusCode, Header[] headers, byte[] responseBody)			{				Toast.makeText(MainActivity.this, "上传成功", Toast.LENGTH_SHORT).show();			}			@Override			public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error)			{				Toast.makeText(MainActivity.this, "上传失败", Toast.LENGTH_SHORT).show();			}		});	}}

 

转载于:https://my.oschina.net/u/1246663/blog/196971

你可能感兴趣的文章
vue 进行 gzip压缩和服务器如何开启gzip(转)
查看>>
频分复用(Frequency Division Multiplexer)
查看>>
多轨视频编辑技术支持
查看>>
【转载】指针函数和指针函数的区别
查看>>
javax.xml.stream.XMLStreamException: Unknow type can not serialize
查看>>
组合模式-虚有其表的模式
查看>>
最大子矩阵和 URAL 1146 Maximum Sum
查看>>
HDU4463(最小生成树)
查看>>
Google Protocol Buffer 简单介绍
查看>>
EventBus 3.0使用相关
查看>>
洛谷 P1975 [国家集训队]排队 Lebal:块内排序+树状数组
查看>>
Linux Socket 网络编程 (IBM网站)
查看>>
Mybatis表关联一对多
查看>>
oracle 归档日志总结
查看>>
java注解
查看>>
java8 peek
查看>>
config文件中可以配置查询超时时间
查看>>
用django写个CMS系统
查看>>
练习13.13的一个有意思的现象
查看>>
一个可供小团队参考的微服务落地实践
查看>>