一. 配置
之前网上找了好几个jar包都是需要币的,但是我没有啊,找了下自己的百度网盘才发现自己以前存过,特发此供大家学习,
收费什么的麻烦。
jar包地址:https://pan.baidu.com/s/1hCDP2t63CvUCQL73p28URw
提取密码:b7z8
将jar包复制粘贴到项目的libs下,然后右键jar包,下方有一个Add As Library...
如图:
add之后,jar包会出现有子项,这样jar包才应用到我们的项目中了
如图:
二. 实现
(1)创建自己的Application,在其中初始化Volley
public class MyApplication extends Application{ public static RequestQueue requestQueue; @Override public void onCreate() { super.onCreate(); requestQueue = Volley.newRequestQueue(getApplicationContext()); } }
创建了Application.记得在清单文件(AndroidManifest)中声明
(2)代码实现MainActivity.java
import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.jmg.MyApplication; public class MainActivity extends AppCompatActivity { //url地址,我这里用的是心知天气的api private static final String url = "https://api.seniverse.com/v3/weather/daily.json?key=2szocxukyfblxx7d&location=shenzhen&language=zh-Hans&unit=c&start=0&days=1"; private Button btnStart; private TextView tvShow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { btnStart = (Button) findViewById(R.id.main_btn_start); tvShow = (TextView) findViewById(R.id.main_tv_show); btnStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { StringRequest request = new StringRequest(Request.Method.GET, url , new Response.Listener<String>() { @Override public void onResponse(String s) { tvShow.setText(s); //获取到的Json数据 } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { //获取Json数据失败 } }); MyApplication.requestQueue.add(request); } }); } }
(3)配置权限
有网络请求,当然需要配置网络权限了
<uses-permission android:name="android.permission.INTERNET"/>
(4)效果图
每天进步一点点!