MainActivity.java9

package com.example.imageloaderdemo3;


import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;


import com.example.imageloaderdemo3.bean.HealthInfo;
import com.example.imageloaderdemo3.utils.StreamTools;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;


import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;


public class MainActivity extends AppCompatActivity {


    private ListView lv;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




        lv = (ListView) findViewById(R.id.lv);




        //请求数据
       loadData("http://op.juhe.cn/yi18/news/list?key=6c0d8a8f3f374893d6e2cad284c1dbc2");


    }


    /**
     * 加载数据
     * @param path
     */
    private void loadData(String path){




        new AsyncTask<String,Void,String>(){


            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);




                if(s == null)
                    return;


                //不为空


                Gson gson = new Gson();


                HealthInfo healthInfo = gson.fromJson(s, HealthInfo.class);


                List<HealthInfo.ResultBean.ListBean> list = healthInfo.getResult().getList();


                //设置适配器
                lv.setAdapter(new MyBaseAdapter(list));




            }


            @Override
            protected String doInBackground(String... params) {


                try {
                    String path = params[0];
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setConnectTimeout(5000);
                    connection.setReadTimeout(5000);


                    int code = connection.getResponseCode();


                    if(code == 200){
                        InputStream is = connection.getInputStream();
                        String json = StreamTools.readFromNetWork(is);
                        return json;
                    }


                } catch (Exception e) {
                    e.printStackTrace();
                }




                return null;
            }
        }.execute(path);




    }








    class MyBaseAdapter extends BaseAdapter{


        private  List<HealthInfo.ResultBean.ListBean> list;
        private DisplayImageOptions options;


        public MyBaseAdapter( List<HealthInfo.ResultBean.ListBean> list){
            this.list = list;


            options = new DisplayImageOptions.Builder()
                    .cacheInMemory(true)//是否内存缓存
                    .cacheOnDisk(true)//是否sdcard缓存
                    .build();




        }




        @Override
        public int getCount() {
            return list != null ? list.size() : 0;
        }


        @Override
        public Object getItem(int position) {
            return list.get(position);
        }


        @Override
        public long getItemId(int position) {
            return position;
        }


        @Override
        public View getView(int position, View convertView, ViewGroup parent) {




            if(convertView == null){


                convertView = convertView.inflate(MainActivity.this,R.layout.item,null);
            }






            ImageView ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon);


            TextView tvContent = (TextView) convertView.findViewById(R.id.tvContent);






            //设置文本信息
            tvContent.setText(list.get(position).getTitle());


            //设置图片


            ImageLoader.getInstance().displayImage(list.get(position).getImg(),ivIcon,options);


            return convertView;
        }
    }








}
如果你的项目中没有`MainActivity.java`文件,那通常是Android项目的入口点,用于管理应用程序的主要活动。每个Android应用都需要至少一个主活动,它负责接收用户的界面交互,并启动其他必要的组件。 在Android Studio创建新项目时,会自动生成`MainActivity.java`,其中包含了布局文件的引用、生命周期方法以及一些基本的事件监听器。例如,以下是创建`MainActivity`的基本框架: ```java package com.example.yourapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button yourButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 设置布局 yourButton = findViewById(R.id.your_button_id); // 获取布局内的控件 yourButton.setOnClickListener(new View.OnClickListener() { // 绑定按钮点击事件 @Override public void onClick(View v) { // 在此处添加按钮被点击后的操作 } }); } @Override protected void onStart() { super.onStart(); // 开始执行主Activity // 其他启动时的操作 } @Override protected void onStop() { super.onStop(); // 结束执行主Activity // 关闭资源或其他清理工作 } } ``` 如果找不到`MainActivity.java`,你需要检查是否在项目的`src/main/java`目录下,或者是否误删或忘记导入。如果你新建了一个项目,确保选择了正确的模板(例如Empty Activity或Basic Activity等),这些都会生成相应的`MainActivity`。如果你从旧项目迁移而来,可能需要手动创建或从备份中恢复该文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值