Android菜鸟的成长笔记(25)——可爱的小闹钟

这篇博客通过Android的AlarmManager服务详细介绍了如何创建一个功能齐全的小闹钟应用,涵盖了自定义主题、首次启动判断、动画效果、对话框及滑动教程页面的实现。在完成设置后,闹钟会在指定时间触发,启动AlarmActivity播放音乐。
摘要由CSDN通过智能技术生成

摘要:

这一篇主要使用系统为我们提供的一个服务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{
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值