Android&java的成长之路之三(Android引导页面和欢迎界面)

紧紧跟着昨天的进程,今天开始客户端的一些简简单单的编写。对于我们IT人员来说,每一个项目都要有相当明确的思路,这样才能把我们的项目做到更好,所以,我就对自己的Android Studio 代码的目录进行了一些有条理的划分 如下图
可以看到,目前只分了三个包。</p><p>helper,就是放一些帮助类,比如SQLHelper,SharedPreferenceHelper,等等,这个包就是为了以后变成的方便使用,故而很重要。</p><p>Main,就是程序中的主体部分,其实内部还是可以在划分的,具体的做法等到以后会做相应的补充。</p><p>welcome ,这个就像对于容易理解了,放一些用户刚打开app的时候的欢迎界面,会怎么跳转之类的。</p><p></p><p>以上是对目录进行一些相应的介绍,接下来要把今天的成果分享给大家。</p><p>众所周知,一个完美的app都少不了欢迎界面和引导界面。其中的思路很简单,欢迎界面就是一个activity  加上一个背景图片就OK了,这是UI,代码就是Handler Message异步任务进行定时跳转。具体请看如下代码:






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

import com.example.administrator.cars_app.Helper.SharedPreferenceHelper;
import com.example.administrator.cars_app.Main.MainActivity;
import com.example.administrator.cars_app.R;

public class Cars_Welcome extends AppCompatActivity {

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cars__welcome);
        new Handler(new Handler.Callback() {
            @Override
            public boolean handleMessage(Message msg) {
             //   Toast.makeText(Cars_Welcome.this, SharedPreferenceHelper.GetisFirst(Cars_Welcome.this)+"",Toast.LENGTH_SHORT).show();
                Boolean isFirst= SharedPreferenceHelper.GetisFirst(Cars_Welcome.this);
                if(isFirst){//true  代表的是第一次进入  还要写入值
                    SharedPreferenceHelper.WriteisFirst(Cars_Welcome.this);
                    startActivity(new Intent(Cars_Welcome.this, Cars_Guide.class));
                }else{
                    startActivity(new Intent(Cars_Welcome.this, MainActivity.class));
                }
                finish();
                return false;
            }
        }).sendEmptyMessageDelayed(0,3000);
    }
}

接下来是引导界面了  这个主要是一个ViewPager 然后加上三个图片和一个按钮组成的一个引导界面 思路还是挺简单的,具体代码如下:


package com.example.administrator.cars_app.welcome;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

import com.example.administrator.cars_app.Main.MainActivity;
import com.example.administrator.cars_app.R;

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

public class Cars_Guide extends AppCompatActivity {
    private Button btn_start;
    private ViewPager viewPager;
    private int []images={R.drawable.guide1,R.drawable.guide2,R.drawable.guide3};
    private List<ImageView> imageList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cars__guide);
        btn_start= (Button) findViewById(R.id.btn_start);
        viewPager= (ViewPager) findViewById(R.id.viewPager);
        init();

    }
    private void init(){
        getData();
        viewPager.setAdapter(pagerAdapter);
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                if (position == 2) {
                    btn_start.setVisibility(View.VISIBLE);
                } else {
                    btn_start.setVisibility(View.GONE);
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
        btn_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(Cars_Guide.this, MainActivity.class));
                finish();
            }
        });
    }
    private List getData(){
        imageList=new ArrayList<ImageView>();
        for (int i=0;i<images.length;i++){
            ImageView imageView=new ImageView(this);
            imageView.setImageResource(images[i]);
            imageList.add(imageView);
        }
        return imageList;
    }
    PagerAdapter pagerAdapter=new PagerAdapter() {
        @Override
        public int getCount() {
            return imageList.size();
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view==object;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView(imageList.get(position));
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(imageList.get(position));
            return imageList.get(position);
        }
    };
}

相信到时候再回头看的时候肯定能够理解其中代码的意思的。最后就是帮助类的源代码:

package com.example.administrator.cars_app.Helper;

import android.content.Context;
import android.content.SharedPreferences;

/**
 * Created by Administrator on 2016/1/24 0024.
 */
public class SharedPreferenceHelper {
    private static final String FILE_NAME="cars_config";
    //判断使用该app的时候是否是第一次使用的?
    public static void WriteisFirst(Context context){
        SharedPreferences sharedPreferences=context.getSharedPreferences(FILE_NAME,Context.MODE_APPEND);
        SharedPreferences.Editor editor=sharedPreferences.edit();
        editor.putBoolean("isFirst",false);
        editor.commit();
    }
    public static boolean GetisFirst(Context context){
        return context.getSharedPreferences(FILE_NAME,Context.MODE_APPEND).getBoolean("isFirst",true);
    }
}

里面都有一定的注解,结合自己学的知识就可以很容易看了。。


今天就到这里了,明天再补充各个地方的知识。fighting!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值