三秒跳转和二次进入和按钮在最后一张图片上

本文详细介绍了Android应用程序的启动过程,包括MainActivity中的Handler机制用于控制应用启动延迟逻辑,通过SharedPreferences实现用户状态保存及跳转不同Activity的功能。同时,还展示了如何使用AsyncTask从网络加载数据并更新UI,以及如何实现ViewPager的图片轮播效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主页面--------------------------------

package fragment.bwie.com.lianxi18;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what > 0) {
                handler.sendEmptyMessageDelayed(0, 3000);
            } else {
                SharedPreferences preferences = MainActivity.this.getSharedPreferences("config", Context.MODE_PRIVATE);
                SharedPreferences.Editor edit = preferences.edit();
                edit.commit();
                SharedPreferences sharedPreferences = MainActivity.this.getSharedPreferences("config", Context.MODE_PRIVATE);
                boolean name = sharedPreferences.getBoolean("che", false);
                if (name) {
                    Intent intent = new Intent(MainActivity.this, TiaoZhuanActivity.class);
                    startActivity(intent);
                    finish();
                } else {
                    Intent intent = new Intent(MainActivity.this, WebActivity.class);
                    startActivity(intent);
                    finish();
                }
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        handler.sendEmptyMessageDelayed(0, 3000);
    }
}
-----------------
package fragment.bwie.com.lianxi18;

import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import fragment.bwie.com.lianxi18.adapter.TuAdapter;
import fragment.bwie.com.lianxi18.bean.TuBean;

/**
 * Created by CZ on 2017/9/20.
 */
public class WebActivity extends Activity implements View.OnClickListener {

    private ViewPager pager;
    private Button button;
    private List<TuBean.ResultBean.DataBean> list;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);
        pager = (ViewPager) findViewById(R.id.pager);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(this);
        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... voids) {
                String path = "http://apis.juhe.cn/cook/query?key=ab2da3f9abd4556dfd68086a66ffc4a8&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=5&pn=1";
                try {
                    URL url = new URL(path);
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.setRequestMethod("GET");
                    urlConnection.setConnectTimeout(5000);
                    urlConnection.setReadTimeout(5000);
                    int responseCode = urlConnection.getResponseCode();
                    if (responseCode == 200) {
                        InputStream inputStream = urlConnection.getInputStream();
                        String json = streamTostring(inputStream, "utf-8");
                        return json;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                TuBean tuBean = gson.fromJson(s, TuBean.class);
                list = tuBean.getResult().getData();

                List<String> image = new ArrayList<>();
                Log.i("--------------", image.toString());

                for (int i = 0; i < list.size(); i++) {
                    image.add(String.valueOf(list.get(i).getAlbums().get(0)));
                }
                TuAdapter tuAdapter = new TuAdapter(image, WebActivity.this);
                pager.setAdapter(tuAdapter);

                pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                    @Override
                    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                        if (position == list.size() - 1) {
                            button.setVisibility(View.VISIBLE);
                        } else {
                            button.setVisibility(View.GONE);
                        }
                    }

                    @Override
                    public void onPageSelected(int position) {

                    }

                    @Override
                    public void onPageScrollStateChanged(int state) {

                    }
                });
            }
        };
        asyncTask.execute();
    }

    private String streamTostring(InputStream inputStream, String s) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            StringBuilder builder = new StringBuilder();
            String string = null;
            while ((string = bufferedReader.readLine()) != null) {
                builder.append(string);
            }
            bufferedReader.close();
            return builder.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public void onClick(View view) {
        Intent intent = new Intent(WebActivity.this, TiaoZhuanActivity.class);
        startActivity(intent);
    }
}
--------------------------------第三张页面
package fragment.bwie.com.lianxi18;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.widget.DrawerLayout;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

import fragment.bwie.com.lianxi18.fragment.NewsFragment;

/**
 * Created by CZ on 2017/9/20.
 */
public class TiaoZhuanActivity extends FragmentActivity {

    private DrawerLayout drawerLayout;
    private FrameLayout frameLayout;
    private LinearLayout linearLayout;
    private ListView listView;

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

        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        frameLayout = (FrameLayout) findViewById(R.id.frme_layout);
        linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
        listView = (ListView) findViewById(R.id.list_view);

        SharedPreferences preferences = TiaoZhuanActivity.this
                .getSharedPreferences("config", Context.MODE_PRIVATE);
        SharedPreferences.Editor edit = preferences.edit();
        edit.putBoolean("che", true);
        edit.commit();
        int launcher = R.mipmap.ic_launcher;
        List<String> list = new ArrayList<>();
        list.add("微信登录");
        list.add("QQ登录");
        list.add("微博登录");

        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(TiaoZhuanActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, list);
        listView.setAdapter(arrayAdapter);

        getSupportFragmentManager().beginTransaction().replace(R.id.frme_layout, new NewsFragment()).commit();
        drawerLayout.closeDrawer(linearLayout);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值