如何在android中使用http post传递json原始数据
我只想将json原始数据传递给httpclient。基本上,我想要的是我的http客户端使用并生成application/json 如何传递以下值如何在android中使用http post传递json原始数据,android,Android,我只想将json原始数据传递给httpclient。基本上,我想要的是我的http客户端使用并生成application/json 如何传递以下值 Basic Auth: username: ******* password: ******* POST URL: http://casetestbu.com/c****butest/services/photos/upload Headers Content-Type:application/json Raw Data: {"eventId":4,
Basic Auth:
username: *******
password: *******
POST URL: http://casetestbu.com/c****butest/services/photos/upload
Headers Content-Type:application/json
Raw Data:
{"eventId":4,"eventDescription":"grtrt","fileName":"test5.jpg","fileType":"jpg","imageData":"/9j/4AAQSkZJRgABAgAAAQABAAD/gAEKgD/4gIcSUN"};
你能帮我剪一些代码吗?只需声明上面的变量即可
public void onClick(View view) {
switch(view.getId())
{
case R.id.btnSingIn:
JSONObject login = new JSONObject();
try
{
login.put("Username", editText1.getText().toString());
login.put("Password", editText2.getText().toString());
JSONObject finaldata = new JSONObject();
finaldata.put("LoginRequest", login);
// Toast.makeText(getBaseContext(), finaldata.toString(), Toast.LENGTH_LONG).show();
final ConnectToServer connect = new ConnectToServer();
connect.extConnectToServer(MainActivity.this,new ConnectToServer.Callback()
{
public void callFinished(String result)
{
//Toast.makeText(getBaseContext(), result, Toast.LENGTH_LONG).show();
JSONObject resp = null;
try
{
resp = new JSONObject(result);
//Toast.makeText(getBaseContext(), result, Toast.LENGTH_LONG).show();
JSONObject Login1Result = resp.getJSONObject("LoginResult");
String strMessage = Login1Result.getString("EmployeeID");
JSONObject status = Login1Result.getJSONObject("status");
// Toast.makeText(getBaseContext(), status.getString("message"), Toast.LENGTH_LONG).show();
if (status.getString("message").equalsIgnoreCase("OK"))
{
// Toast.makeText(getBaseContext(), strMessage, Toast.LENGTH_LONG).show();
Intent i = new Intent(getApplicationContext(), Tabs.class);
i.putExtra("new_variable_name",strMessage);
startActivity(i);
}
else
{
Toast.makeText(getBaseContext(), status.getString("message"), Toast.LENGTH_LONG).show();
}
}
catch (final JSONException e)
{
}
}
}, "www.Your url whatever it is.com", finaldata,
"POST");
connect.execute(finaldata);
}
catch (Exception e) {
Log.d("InputStream", e.getLocalizedMessage());
}
break;
}
}
}
}
别忘了将aynctask类添加到您的项目中,并在onCreate中声明editText及其按钮。有关详细信息,请使用AsyncTask类的链接并获得正确的基础知识探索该链接切勿使用AsynTask执行网络请求或任何需要持久化的内容。异步任务与您的活动密切相关,如果用户在重新创建应用程序后更改屏幕方向,则异步任务将停止。AsyncTasks理想情况下应用于短期操作(最多几秒钟)。如果您需要让线程长时间运行,强烈建议您使用java.util.concurrent pacakge提供的各种API,如Executor、ThreadPoolExecutor和FutureTask。先生,您能解释一下asynktask的一个好替代方案吗。?我对android和学习都是新手。你能给我一些关于executer线程池executer和未来任务的链接吗