摘要:
这一篇主要使用系统为我们提供的一个服务AlarmManager来制作一个Android小闹钟,同时还涉及到了自定义主题、判断第一次启动应用、自定义动画、对话框、制作指导滑动页面等方面。最后形成一个可以直接在手机上面使用的小闹钟。
开始启动界面AppStart.java
package com.example.alarmtest;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.widget.LinearLayout;
public class AppStart extends Activity{
public static final String PACKAGE_NAME = "com.example.alarmtest";
public static final String VERSION_KEY = "versionCode";
SharedPreferences preferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//判断是否是首次安装
/** 判断应用首次运行 **/
preferences = getSharedPreferences("count",MODE_WORLD_READABLE);
int count = preferences.getInt("start_count", 0);
if(count == 0){
Editor editor = preferences.edit();
//存入数据
editor.putInt("start_count", ++count);
//提交修改
editor.commit();
Intent intent = new Intent(AppStart.this, GuideActivity.class);
startActivity(intent);
AppStart.this.finish();
}else{
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setLayoutParams(params);
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.setBackgroundResource(R.drawable.main_bg_default_img_2);
new Handler().postDelayed(new Runnable(){
@Override
public void run(){
Intent intent = new Intent (AppStart.this, MainActivity.class);
startActivity(intent);
AppStart.this.finish();
}
}, 1000);
setContentView(linearLayout);
}
}
}
上面使用sharedPreference中的默认设值来判断该应用是否是第一次启动,如果是第一次启动则启动GuidActivity进入指导页面,如果不是第一次启动则启动MainActivity进入主界面。
先看看GuidActivity的实现
package com.example.alarmtest;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
/**
* 第一次安装引导用户的Activity
* @author lixq
*
*/
public class GuideActivity extends Activity{