Android(安卓)第三方组件Volley加载网络
16lz
2021-01-24
需实现效果:实现本类监听,点击出现从新闻列表和天气情况。
布局:
<?xml version="1.0" encoding="utf-8"?>
代码:
2.利用Get放法加载内部文本
package com.example.administrator.jreduch08;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;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.StringRequest;import com.android.volley.toolbox.Volley;import com.example.administrator.jreduch08.util.StringGetRequest;import com.example.administrator.jreduch08.util.StringPostRequest;import com.example.administrator.jreduch08.util.UrlUtil;public class VolleyActivity extends AppCompatActivity implements View.OnClickListener{ private Button bt1; private TextView show; private RequestQueue queue; //请求队列 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_volley); bt1= (Button) findViewById(R.id.bt1); show= (TextView) findViewById(R.id.show); bt1.setOnClickListener(this); //本类监听。若不写点击无反应 queue = Volley.newRequestQueue(this); //初始化 Volley 请求队列 } @Override public void onClick(View v) { int id=v.getId(); if(id==R.id.bt1){ Toast.makeText(getBaseContext(),"点击",Toast.LENGTH_SHORT).show(); getWeather(); } } public void GetVolley(){ String url="http://192.168.1.40:8080/HttpTest/index.jsp?option=getUser&uName=jerehedu"; StringRequest sr=new StringRequest(url, new Response.Listener() { @Override public void onResponse(String s) { show.setText(s); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { show.setText(volleyError.getMessage()); } }); queue.add(sr); }
2.利用Post方法加载新闻列表 public void PostVolley(){ String url= UrlUtil.channelUrl; StringPostRequest spr=new StringPostRequest(url, new Response.Listener() { @Override public void onResponse(String s) { show.setText(s); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { } }); spr.putHeader("apiKey","5b46143955a4b1ff1b470a94315625cd"); queue.add(spr); }
3.利用Get方法加载天气消息 public void getWeather(){ String url=UrlUtil.weatherUrl+"?location=yantai"; StringGetRequest sgr=new StringGetRequest(Request.Method.GET, url, new Response.Listener() { @Override public void onResponse(String s) { show.setText(s); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { show.setText(volleyError.getMessage()); } }); sgr.putHeaders("apiKey","3f37b44e3115841957414d7c4bf6c0f5"); queue.add(sgr); }
实现效果:
第一种方法显示效果:
(三星Note4应该是不支持这种方法,
相同代码在别的手机可以测试出来,AV画质请见谅。)
第二种方法显示效果:
第三种方法显示效果:
更多相关文章
- Android(安卓)通过软引用实现图片缓存,防止内存溢出
- Android加载网络图片并保存到系统相册
- 使用ContentProvider管理照片
- Binder驱动之打开设备----binder_open
- Android的postOnAnimation分析
- 使用RecyclerView加载不出数据的原因可能有:
- 天气预报(二)
- Android(安卓)插件化分析(5)- 加载外部dex