布局:::
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!-- <include layout="@layout/layout"/>--> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:layout_width="50dp" android:layout_height="wrap_content" android:text="点击头条" android:textSize="20sp" android:textColor="#FF6633" android:textStyle="bold" android:layout_marginLeft="13dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:text="▏" android:layout_gravity="center_vertical"/> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <ImageView android:layout_width="35dp" android:layout_height="wrap_content" android:id="@+id/main_image" android:src="@mipmap/ic_launcher" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="阿萨德" android:id="@+id/main_title" android:textSize="20sp" android:layout_toRightOf="@id/main_image" android:layout_marginLeft="20dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=">" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:layout_centerVertical="true" android:textSize="30sp" /> </RelativeLayout> </LinearLayout> <ListView android:layout_width="match_parent" android:layout_marginTop="40dp" android:layout_height="match_parent" android:id="@+id/lv"></ListView> </LinearLayout>
MainActivity:
package com.example.com.zuoye129; import android.os.AsyncTask; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.example.com.zuoye129.R; import com.google.gson.Gson; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ImageView main_image; private TextView main_title; private List<String> datas= new ArrayList<>();//鍒涘缓闆嗗悎瀛樻斁鏁版嵁 private int index = 0; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { main_title.setText(datas.get(index%datas.size())); index ++; handler.sendEmptyMessageDelayed(1,3000); } }; private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //鑾峰彇鎺т欢 main_image = findViewById(R.id.main_image); main_title = findViewById(R.id.main_title); lv = findViewById(R.id.lv); mytask mytask = new mytask(); mytask.execute(); new Thread(){ @Override public void run() { try { //杩涜璁块棶鏁版嵁 URL url = new URL("http://api.tianapi.com/huabian/?key=93793d7dd4b2aa34c971977af330e6c1&num=10"); //鎵撳紑杩炴帴 HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); //杩涜璁剧疆 urlConnection.setRequestMethod("GET");//璁剧疆缃戠粶璇锋眰鏂瑰紡 urlConnection.setReadTimeout(5000);//璁剧疆璇诲彇瓒呮椂鏃堕棿 urlConnection.setConnectTimeout(5000);//璁剧疆鏈嶅姟鍣ㄨ秴鏃舵椂闂? //鍒ゆ柇缁撴灉鐮? //Log.d("--", urlConnection.getResponseCode()+"run"); if(urlConnection.getResponseCode() == 200){ //鑾峰彇鏁版嵁 InputStream inputStream = urlConnection.getInputStream(); //杩涜璇诲彇鏂规硶 String s = ToStringData(inputStream); //杩涜瑙f瀽 Json(s); handler.sendEmptyMessage(1); } } catch (Exception e) { e.printStackTrace(); } } }.start(); } //瀹氫箟璇诲彇鏁版嵁鐨勬柟娉? public String ToStringData(InputStream inputStream){ StringBuilder builder = new StringBuilder(); try { //鍒涘缓甯︾紦鍐插尯鐨勮鍙栨祦 BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "utf-8")); String str = ""; while((str = reader.readLine()) != null){ builder.append(str); } } catch (Exception e) { e.printStackTrace(); } return builder.toString(); } //瑙f瀽鏁版嵁鐨勬柟娉? public void Json(String str){ try { //鑾峰彇绗竴灞傜殑鏁扮粍缁撴瀯 JSONObject jsonObject = new JSONObject(str); JSONArray newslist = jsonObject.getJSONArray("newslist"); //寰幆閬嶅巻 for (int i = 0; i < newslist.length(); i++) { datas.add(newslist.getJSONObject(i).getString("title")); } } catch (Exception e) { e.printStackTrace(); } } class mytask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { try { URL url = new URL("http://api.tianapi.com/huabian/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10"); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); if (urlConnection.getResponseCode()==200) { InputStream inputStream = urlConnection.getInputStream(); return steamstring(inputStream); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); DatasBean datasBean = gson.fromJson(s, DatasBean.class); List<DatasBean.NewslistBean> newslist = datasBean.getNewslist(); MyAdapter myAdapter = new MyAdapter(MainActivity.this, newslist); lv.setAdapter(myAdapter); } } public String steamstring(InputStream inputStream ) { StringBuilder builder = new StringBuilder(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String str; try { while((str=reader.readLine())!=null) { builder.append(str); } } catch (IOException e) { e.printStackTrace(); } return builder.toString(); } }