package com.example.com.shangxialashuaxin; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.bawei.jane.mxlistview.view.XListView; import com.google.gson.Gson; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class MainActivity extends AppCompatActivity { String urldata="http://api.tianapi.com/social/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10"; private XListView xlv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1找到組件 xlv = findViewById(R.id.xlv); //進行配置 xlv.setPullRefreshEnable(true);//支持下拉刷新 xlv.setPullLoadEnable(true);//支持上拉加載 //設置回掉監聽接口 xlv.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { } @Override public void onLoadMore() { } });
main佈局文件中寫:<com.bawei.jane.mxlistview.view.XListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/xlv"/> | |
注:然後在xml文件中配置:<uses-permission android:name="android.permission.INTERNET"></uses-permission> | |
適配器沒有改動 | |
要導Gson包和universal-image-loader-1.9.3-with-sources.jar包 | |
導mxlistview需要去配置,,如果studio中的版本過低,,需要下載高版本的 |
-
datas();
-
}
-
private void datas(){
-
mytask mytask = new mytask();
-
mytask.execute();
-
}
-
class mytask extends AsyncTask<String,Void,String> {
-
@Override protected String doInBackground(String... strings) {
-
try {
-
URL url = new URL(urldata);
-
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET");
-
urlConnection.setReadTimeout(5000);
-
urlConnection.setConnectTimeout(5000); if (urlConnection.getResponseCode()==200){
-
InputStream inputStream = urlConnection.getInputStream();
-
String s = statemstring(inputStream); return s; }
-
} catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
-
return null; }
-
@Override protected void onPostExecute(String s) {
-
super.onPostExecute(s);
-
if (s!=null){
-
Gson gson = new Gson();
-
Bean bean = gson.fromJson(s, Bean.class);
-
Myadapter myadapter = new Myadapter(MainActivity.this, bean.getNewslist());
-
xlv.setAdapter(myadapter); }
-
}
-
public String statemstring(InputStream inputStream){
-
ByteArrayOutputStream outputStream=null; outputStream = new ByteArrayOutputStream();
-
byte[]b=new byte[1024]; int len; try { while ((len=inputStream.read(b))!=-1){
-
outputStream.write(b,0,len); } } catch (IOException e) { e.printStackTrace(); }
-
return outputStream.toString(); } }}