当前位置:首页 » 安卓系统 » android服务器json

android服务器json

发布时间: 2022-09-03 07:15:18

‘壹’ android用volley怎么给服务器发送json

1.下载官网的android SDK(本人用的是eclipse)

2.新建一个android项目:

File->new->andriod Application project

7、下面就是具体的使用post和get请求的代码:

A:发送get请求如下:

package com.example.xiaoyuantong;

import java.util.HashMap;

import java.util.Iterator;

import org.json.JSONException;

import org.json.JSONObject;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.TextView;

import com.android.volley.Request;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.JsonObjectRequest;

import com.android.volley.toolbox.Volley;

/**

* Demo

*/

public class MainActivity extends Activity {

private RequestQueue requestQueue ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}

private void init() {

TextView textView = (TextView)findViewById(R.id.textView);

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hello");

}

private void getJson(){

String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!register.action?pwd='测试'";

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(

Request.Method.GET, url, null,

new Response.Listener<JSONObject>() {

@Override

public void onResponse(JSONObject response) {

//这里可以打印出接受到返回的json

Log.e("bbb", response.toString());

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

// System.out.println("sorry,Error");

Log.e("aaa", arg0.toString());

}

});

requestQueue.add(jsonObjectRequest);

}

}

B:发送post请求如下:

package com.example.xiaoyuantong;

import java.util.HashMap;

import java.util.Map;

import org.json.JSONException;

import org.json.JSONObject;

import com.android.volley.Request;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.JsonObjectRequest;

import com.android.volley.toolbox.Volley;

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

import android.widget.TextView;

public class PostActivity extends Activity {

private RequestQueue requestQueue ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_post);

init();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.post, menu);

return true;

}

private void init() {

TextView textView = (TextView)findViewById(R.id.postView);

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hellopost");

}

private void getJson(){

String url = "http://192.168.20.1:8080/xiaoyuantong/userAction!reg.action";

JsonObjectRequest jsonObjectRequest ;

JSONObject jsonObject=new JSONObject() ;

try {

jsonObject.put("name", "张三");

jsonObject.put("sex", "女");

} catch (JSONException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

//打印前台向后台要提交的post数据

Log.e("post",jsonObject.toString());

//发送post请求

try{

jsonObjectRequest = new JsonObjectRequest(

Request.Method.POST, url, jsonObject,

new Response.Listener<JSONObject>() {

@Override

public void onResponse(JSONObject response) {

//打印请求后获取的json数据

Log.e("bbb", response.toString());

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

// System.out.println("sorry,Error");

Log.e("aaa", arg0.toString());

}

});

requestQueue.add(jsonObjectRequest);

} catch (Exception e) {

e.printStackTrace();

System.out.println(e + "");

}

requestQueue.start();

}

}

8、在android的logcat里面能查看到打印的请求

(红色的显示的是我在后台请求到数据)

有时候logcat显示不出数据,可能是消息被过滤了,可以在左边点击“减号”删除过滤

在server端,也就是在myeclipse的建立的另一个后台工程里面能获取到请求:


9、后续会补充json数据的解析部分,以及过度到移动云的部分,上面只是c/s模式下的一个简单的基于http的请求应答例子。

‘贰’ 在android网络编程里,客户端与服务器端采用json方式传递数据。服务器端是怎么接受和返回数据呢

int formDataLength = request.getContentLength();
// 取得ServletInputStream输入流对象
DataInputStream dataStream = new DataInputStream(
request.getInputStream());
byte body[] = new byte[formDataLength];
int totalBytes = 0;
while (totalBytes < formDataLength) {
int bytes = dataStream.read(body, totalBytes, formDataLength);
totalBytes += bytes;
}
String json = new String(body, "ISO-8859-1");
System.out.println(json);

‘叁’ webservice接口已经知道,android怎样获取服务器中的json数据,怎样在客户端显示出来

看你那边什么webservice接口,不一样的接口,请求方式不一样,但是多数是http请求接口,请求回来的数据,通过解析json格式,显示到你要显示的控件就可以了。

‘肆’ 请问android怎样通过json数据从服务器获取图片

直接获取是不行的,要有一个文件服务器,对于文件服务器会为每个图片生成一个资源路径,然后json数据中返回的就是这个资源路径,最后用URL类就可以通过这个资源路径把图片download下来

‘伍’ Android将服务器传来的json解析为数组变量,通过java文件simpleadapter输出到页面。

我做了一个代码如下:
{

ListViewlistview;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview=(ListView)findViewById(R.id.listview);
Stringtemp="[{"aa":"1","bb":"2"},{"aa":"3","bb":"4"},{"aa":"5","bb":"6"}]";
List<Map<String,Object>>data=getList(temp);
SimpleAdapteradapter=newSimpleAdapter(this,data,R.layout.item,newString[]{"aa","bb"},newint[]{R.id.aa,R.id.bb});
listview.setAdapter(adapter);
}

publicMap<String,Object>getMap(StringjsonString){
JSONObjectjsonObject;
try{
jsonObject=newJSONObject(jsonString);
@SuppressWarnings("unchecked")
Iterator<String>keyIter=jsonObject.keys();
Stringkey;
Objectvalue;
Map<String,Object>valueMap=newHashMap<String,Object>();
while(keyIter.hasNext()){
key=(String)keyIter.next();
value=jsonObject.get(key);
valueMap.put(key,value);
}
returnvalueMap;
}catch(JSONExceptione){
e.printStackTrace();
}
returnnull;
}

publicList<Map<String,Object>>getList(StringjsonString){
List<Map<String,Object>>list=null;
try{
JSONArrayjsonArray=newJSONArray(jsonString);
JSONObjectjsonObject;
list=newArrayList<Map<String,Object>>();
for(inti=0;i<jsonArray.length();i++){
jsonObject=jsonArray.getJSONObject(i);
list.add(getMap(jsonObject.toString()));
}
}catch(Exceptione){
e.printStackTrace();
}
returnlist;
}
}

item的布局文件

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/aa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"/>

<TextView
android:id="@+id/bb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="100dp"
android:textColor="#f00"
android:textSize="30sp"/>

</LinearLayout>


最后的界面效果:

‘陆’ android应用怎么样在服务器端解析从客户端发送过来的json数据

首先是服务器要取到数据,然后就是就在服务端解析json啊。。解析都是一样的撒。。可以自己写方法。也可以用别人的jar包。。

‘柒’ android 在服务器端生成json格式数据,在客户端怎么解析

1、生成JSON格式数据,有对应的后台类处理,如果你是做Android开发,后台提供获取数据的接口


2、客户端解决:

JSONArrayjsonArr=newJSONArray(json);
for(inti=0;i<jsonArr.length();i++){
JSONObjectjsonObj=jsonArr.getJSONObject(i);
booleanisChild=jsonObj.has("childrenNodes");
AreaBeanbean=newAreaBean(jsonObj.getString("id"),
jsonObj.getString("parentId"),
jsonObj.getString("name"));
mList.add(bean);
if(isChild){
mchildNodesList.add(jsonObj.getString("childrenNodes"));
}else{
mchildNodesList.add(null);
}
}

‘捌’ android客户端与服务器发之间的json数据解析

JSONArray jsonArray = new JSONArray(string); //string为返回的字符串
//数据直接为一个数组形式,所以可以直接 用android提供的框架JSONArray读取JSON数据,转换成Array
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i);
//每条记录又由几个Object对象组成
iitem.getInt("index");
// 获取对象对应的值
item.getString("address");
}

‘玖’ Android利用Json来进行网络数据传输

有点晕晕的,如果你是传多个对象[{id:1,name:"tom",age:"20"},{id:2,name:"tom",age:"20"}]
怎么搞成服务器请求客户端了??不是客户端请求服务器吗?
一般JSON对应json都是通过id来对应的,我就是这样对应的

‘拾’ 服务器端怎么接收Android客户端传过来的Json数据

android如果是通过http post发送数据的话,可以采用以下方式接收数据:

  1. 通过request.getParameter(paraName); 获取参数。

  2. request对象就是表示请求对象,getParameter就是获取参数,传递的参数就是参数名。

  3. 例如请求 localhost:8080/web?data=abcd 则服务器取值,request.getParameter("data"); 。

热点内容
爱情空间源码 发布:2025-01-12 04:51:53 浏览:890
mongodbphp安装 发布:2025-01-12 04:41:08 浏览:578
sql存储文件路径 发布:2025-01-12 04:37:31 浏览:242
我的世界服务器小灰机 发布:2025-01-12 04:21:36 浏览:931
九通车联网账号密码多少 发布:2025-01-12 04:21:32 浏览:293
怎么把服务器的ip固定了 发布:2025-01-12 03:55:42 浏览:580
php服务器开发 发布:2025-01-12 03:55:35 浏览:674
软件自制编程 发布:2025-01-12 03:54:00 浏览:536
j2ee和java的区别 发布:2025-01-12 03:42:44 浏览:583
android6小米 发布:2025-01-12 03:38:35 浏览:87