導航:首頁 > 編程語言 > androidhttp發送json

androidhttp發送json

發布時間:2020-12-14 18:30:21

A. android httpclient怎麼接收json數據

android裡面,通過json數據是不會直接返回圖片的,只會返回圖片的url地址。
步驟: 1,通過解析專json數據,獲取到圖片屬的地址。
2,通過圖片的地址,再一次的請求網路(用非同步任務或者hangdler裡面請求網路:比如:
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
BufferedInputStream is = new BufferedInputStream(conn.getInputStream());


3 通過BitmapFactory.decodeStream(裡面的參數是一個位元組流),該方法返回的是一個bitmap ,直接用imageview.setimagebitmap()就能展示圖片了。
說明: 在BitmapFactory.decodeStream這里返回的bitmap可以做進一步的優化,比如二次采樣,把獲取的bitmap存sd卡等等。。

B. Android Studio用httpPost向伺服器傳json數據,StringEntity不存在,求高手幫忙

看別人使用的類:主要用到的類有:org.apache.http.client.HttpClient 、org.apache.http.client.methods.HttpPost 和org.json.JSONObject,應該回包含這個答方法的

C. 安卓http請求 發送json數據

用utf8,應該不會亂碼,有中文嗎

D. android使用http怎麼向伺服器獲得數據並用json解析

寫個適配器

下面是代碼

java">importjava.io.InputStream;
importjava.net.MalformedURLException;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.List;

importjavax.net.ssl.HttpsURLConnection;

importorg.json.JSONArray;
importorg.json.JSONException;
importorg.json.JSONObject;

importbean.CoureBean;

importtools.StreamHelper;

importandroid.annotation.SuppressLint;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.support.annotation.VisibleForTesting;
importandroid.view.LayoutInflater;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.Adapter;
importandroid.widget.ArrayAdapter;
importandroid.widget.CheckBox;
importandroid.widget.ImageView;
importandroid.widget.ListAdapter;
importandroid.widget.ListView;
importandroid.widget.Switch;
importandroid.widget.TextView;
importandroid.widget.Toast;

{

privateList<CoureBean>list=newArrayList<CoureBean>();
privateListViewlv;

privateHandlerhandler=newHandler(){
e(android.os.Messagemsg){

switch(msg.what){
case1:
StringjsonString=msg.obj.toString();

converData(jsonString);
init();
break;

default:
break;
}
};
};

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView)findViewById(R.id.lvImgList);
getJson();
}

//綁定列表
privatevoidconverData(StringjsonString){
try{
JSONObjectjOb=newJSONObject(jsonString);
JSONArrayjArray=jOb.getJSONArray("Data");
for(inti=0;i<jArray.length();i++){
JSONObjectcurrentItem=jArray.getJSONObject(i);
CoureBeanmodelBean=newCoureBean();
modelBean.setName(currentItem.getString("name"));
modelBean.setImgUrl(currentItem.getString("picSmall"));
list.add(modelBean);

}

}catch(JSONExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}

//獲取json數據
privatevoidgetJson(){
newThread(){
@Override
publicvoidrun(){
StringstrUrlString="http://www.imooc.com/api/teacher?type=4&num=30";
try{
URLurl=newURL(strUrlString);
HttpsURLConnectionconn=(HttpsURLConnection)url
.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);

intcode=conn.getResponseCode();
if(code==200){
InputStreamis=conn.getInputStream();
StringjsonString=StreamHelper.readInputStream(is);
Messagemsg=newMessage();
msg.what=1;
msg.obj=jsonString;
handler.sendMessage(msg);

}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}.start();
}

classViewHolder{
ImageViewimPic;
TextViewtxtName;

}
privatevoidinit(){
ArrayAdapteradapter=newMyAdapter(this,R.layout.list_item,list);
lv.setAdapter(adapter);
}

/**
*自定義適配器(內部類)
*
*@author
*
*/
<CoureBean>{
privateintresourceId;

//構造函數
publicMyAdapter(Contextcontext,intresource,List<CoureBean>objects){
super(context,resource,objects);
resourceId=resource;
}

@SuppressLint("ViewHolder")
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){

Viewview;
ViewHolderviewHolder=newViewHolder();

if(convertView==null){
view=LayoutInflater.from(MainActivity.this).inflate(
resourceId,null);//拿到當前行對象

//拿到當前視圖對象裡面的名字叫tvPwdTitle的TextView對象
viewHolder.txtName=(TextView)view.findViewById(R.id.txtName);
viewHolder.imPic=(ImageView)view
.findViewById(R.id.imageView1);
view.setTag(viewHolder);

}else{
view=convertView;
}

//拿到應該放在當前行上的數據
finalCoureBeandataItem=getItem(position);
viewHolder=(ViewHolder)view.getTag();
viewHolder.txtName.setText(dataItem.getName());
returnview;
}
}
}

E. android客戶端與伺服器交互,傳的數據是JSON格式,請問用webservice好呢還是http好呢

http比較好,一般公司都用的是http。對應json來說已盡夠了

F. 怎麼使用android-async-http給後台上傳json數據

一、在項目中搭建環境
1. 導入相關jar包

2. 搭建相關的包和類

3.類中的方法簡單實現
User:
聲明以下屬性,並實現無參構造器和有參構造器,以及各自的get和set方法

UserDao:

UserDaoImpl:

JsonServlet:
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 來自於資料庫
UserDao Impl = new UserDaoImpl();
List entities = Impl.findAll();
// 把List集合轉換成一個json的數據格式
JSONArray jsonArray = JSONArray.fromObject(entities);

response.setContentType("application/json");// 響應類型 json的數據
response.getWriter().write(jsonArray.toString());
response.getWriter().close();
}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

附上出處鏈接:http://www.2cto.com/kf/201405/304410.html

G. android怎麼使用okhttputils發送json請求數據

服務端是用servlet寫的吧 直接調用response的out輸出即可 response.getWriter().print("20"); 這樣安卓得到的返回值就是20

H. 在android端使用httpclient的execute方法發送一個url,url裡面有各種參數,從服務端返回json數據

參考一下吧
http://blog.csdn.net/wangzhenhua88/article/details/6787328

I. android okhttp post json和get有什麼區別

區別是:
Get:是以實體的方式得到由請求URI所指定資源的信息,如果請求URI只是一個數據產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。
Post:用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請求隊列中請求URI所指定資源的附加新子項,Post被設計成用統一的方法實現下列功能:
1:對現有資源的解釋
2:向電子公告欄、新聞組、郵件列表或類似討論組發信息。
3:提交數據塊
4:通過附加操作來擴展資料庫

Android系統提供了兩種HTTP通信類,HttpURLConnection和HttpClient。
關於HttpURLConnection和HttpClient的選擇>>官方博客
盡管Google在大部分安卓版本中推薦使用HttpURLConnection,但是這個類相比HttpClient實在是太難用,太弱爆了。
OkHttp是一個相對成熟的解決方案,據說Android4.4的源碼中可以看到HttpURLConnection已經替換成OkHttp實現了。所以我們更有理由相信OkHttp的強大。

OkHttp 處理了很多網路疑難雜症:會從很多常用的連接問題中自動恢復。如果您的伺服器配置了多個IP地址,當第一個IP連接失敗的時候,OkHttp會自動嘗試下一個IP。OkHttp還處理了代理伺服器問題和SSL握手失敗問題。
使用 OkHttp 無需重寫您程序中的網路代碼。OkHttp實現了幾乎和java.net.HttpURLConnection一樣的API。如果你用了 Apache HttpClient,則OkHttp也提供了一個對應的okhttp-apache 模塊。

J. android okhttp怎麼給伺服器傳遞的參數怎麼轉成json

public String androidPost() { String rs = null; String path = "url/Android_JDBC_SH/AndroidLoginAction"; HttpPost hp = new HttpPost(path); //獲取客戶端,用來向伺服器發出請求 DefaultHttpClient hc = new DefaultHttpClient(); try { //Default Constructor taking a name and a value BasicNameValuePair nm = new BasicNameValuePair("name", name); BasicNameValuePair pa = new BasicNameValuePair("password", password); List list = new ArrayList(); list.add(nm); list.add(pa); //構建向伺服器發送的實體 HttpEntity entity = new UrlEncodedFormEntity(list); hp.setEntity(entity); //提交請求,獲取伺服器的響應 HttpResponse response = hc.execute(hp); if (response.getStatusLine().getStatusCode() == 200) { //獲取響應實體 entity = response.getEntity(); rs = EntityUtils.toString(entity); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return rs; }

閱讀全文

與androidhttp發送json相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接