紧紧跟着昨天的进程,今天开始客户端的一些简简单单的编写。对于我们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!