日志打印错误如下
java.lang.ClassNotFoundException: Didn’t find class “org.apache.http.ProtocolVersion” on path
在stackoverflow翻到了解决方法
大概意思就是:
新版本的安卓不支持访问HTTP服务器。解决办法就是在清单文件的的内部加上
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
当然访问网络一定要加上
<uses-permission android:name="android.permission.INTERNET"/>
这是我修改后的配置清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.volleytest">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private TextView tv;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv =findViewById(R.id.tv);
btn=findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
@Override
public void onClick(View v) {
String path="https://www.baidu.com";
StringRequest request = new StringRequest(path, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
tv.setText(s);
}
},null);
queue.add(request);
}
});
}
}