From cf41b9d8125f6be3e7ff917f06ae4952773f1882 Mon Sep 17 00:00:00 2001 From: p5gmxez4p <1151375936@qq.com> Date: Sun, 10 Oct 2021 16:52:44 +0800 Subject: [PATCH] ADD file via upload --- .../internetdata.java | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 BS体系结构-网络动态数据浏览系统/internetdata.java diff --git a/BS体系结构-网络动态数据浏览系统/internetdata.java b/BS体系结构-网络动态数据浏览系统/internetdata.java new file mode 100644 index 0000000..98f6dbe --- /dev/null +++ b/BS体系结构-网络动态数据浏览系统/internetdata.java @@ -0,0 +1,102 @@ +package edu.hzuapps.shudongapp; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.LinearLayout; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.Toast; + +import com.loopj.android.http.AsyncHttpClient; +import com.loopj.android.http.AsyncHttpResponseHandler; + +import java.util.List; + +import edu.hzuapps.shudongapp.bean.NewInfo; +import edu.hzuapps.shudongapp.bean.User; + +public class internetdata extends AppCompatActivity { + + private LinearLayout loading; + private ListView lvUsers; + private List users; + private User user; + private TextView tv_story; + private TextView tv_name; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_internetdata); + initView(); + fillData(); + } + private void initView() { //初始化空间 + loading = (LinearLayout) findViewById(R.id.loading); + lvUsers = (ListView) findViewById(R.id.lv_users); + } + //使用AsyncHttpClient访问网路 + private void fillData() { + //创建AsyncHttpClient实例 + AsyncHttpClient client = new AsyncHttpClient(); + //使用GET方式请求 + client.get(getString(R.string.serverurl),new AsyncHttpResponseHandler() { + @Override + public void onSuccess(int i,org.apache.http.Header[] headers,byte[] bytes) { + //调用jsonparse工具类解析json文件 + try { + String json = new String(bytes,"utf-8"); + users = JsonParse.getUser(json); + if (users == null) { + Toast.makeText(internetdata.this,"解析失败",Toast.LENGTH_SHORT).show(); + }else{ //更新界面 + loading.setVisibility(View.INVISIBLE); + lvUsers.setAdapter(new UsersAdapter()); + } + }catch (Exception e) { + e.printStackTrace(); } + } + @Override //请求失败 + public void onFailure(int i, org.apache.http.Header[] headers,byte[] bytes,Throwable throwable) { + Toast.makeText(internetdata.this,"请求失败",Toast.LENGTH_SHORT).show(); + } + + }); + } + //ListView适配器 + private class UsersAdapter extends BaseAdapter { + //ListView的Item数 + @Override + public int getCount() { + return users.size(); + } + //得到ListView条目视图 + @Override + public View getView(int position, View converView, ViewGroup parent) { + View view = View.inflate(internetdata.this, R.layout.user_item, null); + tv_story = (TextView) view.findViewById(R.id.tv_story); + tv_name = (TextView) view.findViewById(R.id.tv_name); + user = users.get(position); + //设置故事描述 + tv_story.setText(user.getStory()); + //设置作者姓名 + tv_name.setText("姓名:"+ user.getName()); + return view; + } + //条目对象 + @Override + public Object getItem(int position) { + return null; + } + //条目id + @Override + public long getItemId(int position) { + return 0; + } + } + +} \ No newline at end of file