最老程序员开发实训9--Android---应用介绍页面实现1

在这一节中,我们回到Android端,讨论一下当应用第一次运行时,通常采用的一页一页滑动的介绍页面的实现方式。

首先,我们需要知道应用是否是第一次运行。判断应用是否是第一次运行,通常是应用持久化保存一个特定的信息,每次启动时检查是否有该信息,如果没有则代表第一次运行。对于信息的持久化存储,在Android平台,大约有三种方法,分别是SharedPreferences、文件、SQLite数据库,通常类似应用是否第一次运行这种小信息,一般会选择保存在SharedPreferences中。

我们首先在库工程WkyLib中的controller包内,定义一个基类为Application的WkyApplication类,在该函数中实现判断应用是否是第一次运行。Android系统中Application可以视为一个Android系统下系统提供的单例模式(Singleton)的类,可以保存一些全局变量等信息。

WkyApplication类的代码如下所示:

public class WkyApplication extends Application {
	/**
	 * 通过查询保存在SharedPreference里面的值,检查是否是首次运行
	 * @return
	 * 【闫涛 2015.09.09】初始版本
	 */
	public boolean isFirstRun() {
		SharedPreferences pref = getSharedPreferences(S_PREF_NAME, MODE_PRIVATE);
		return pref.getBoolean(S_PREF_FIRST_RUN, true);
	}

	/**
	 * 通过判断SharedPreference里是否有userId等信息,判断用户是否注册
	 * @return
	 * 【闫涛 2015.09.09】初始版本
	 */
	public boolean isLogin() {
		return true;
	}

	public final static String S_PREF_NAME = "WkgJys";
	public final static String S_PREF_FIRST_RUN = "firstRun";
}

上面的代码比较简单,不用解释。但是这里还想强调一下,getSharedPreferences中使用预先定义的常量,而不是直接写字符串,这样首先不容易出现因为拼写错误而出现找不到值的问题,同时增加了代码的可读性,虽然不算什么,但是良好的编程习惯是非常非常重要的。不重视的话,迟早要付出惨重的代价。

在具体应用WkgJys工程中,在controller包中定义继承于WkyApplication的JysApplication类,代码如下所示:

public class JysApplication extends WkyApplication {
}

为了让该类可以起作用,在WkgJys工程的Manifest文件中,加入android:name属性:

<application
    android:allowBackup="true"
    android:name="com.weikangyun.wkgjys.controller.JysApplication"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

最后是在Splash页面中,在定时结束时,判断是否是第一次运行,第一次运行则启动应用介绍页面,代码如下所示:

startMainActivityTask = new Runnable() {
    @Override
    public void run() {
        if (jysApplication.isFirstRun()) {
            Log.e("wky", "显示介绍页面");
        } else if (!jysApplication.isLogin()) {
            Log.e("wky", "启动登录页面");
        } else {
            Intent intent = new Intent(SplashActivity.this, MainActivity.class);
            startActivity(intent);
        }
        finish();
    }
};

华丽的分隔线
******************************************************************************************************************************************************************************
希望大家多支持,有大家的支持,我才能走得更远,谢谢!
银行账号:622202 0200 1078 56128 闫涛
我的支付宝:[email protected]

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 09:03:18

最老程序员开发实训9--Android---应用介绍页面实现1的相关文章

最老程序员开发实训10--Android---应用介绍页面实现2

下面我们来看一页一页滑动的介绍页面如何实现. 首先在WkyLib工程中定义应用介绍基类WkyAppTourActivity,在本类中,我们用ViewPager来实现介绍页面一页一页滑动的功能.该Activity的布局文件如下所示: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/and

Web程序员开发App系列 - 开发我的第一个App,源码下载

Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 Web程序员开发App系列 - 开发我的第一个App 待续 目录 前言 源码和App下载 准备工作 查看留言页面 增加留言页面 前言 看了前面几篇文章后我们终于要开始敲代码了,由于所有前端代码都是Html静态问题,所以你用什么开发工具都可以,后台我采用MVC开发,因为Html静态文件需要打包,里面

80. 投奔怒海——一个Domino老程序员眼里的Java开发

这是一个以键盘鼠标为谋生工具已十多年的人初次进行专门的Java开发的体验和感受,对于Java程序员,这些也许早就习以为常,那就把这当成从一个来自不同世界的新人眼里看看他们自己的工作:对于我的Domino同行,这些体验或许将来有更多共鸣的可能. 在加入到这个Java产品开发团队之前,我的Java开发经验如下:十几年前跟着一本Java入门书做练习写的几个Applet,Domino项目开发中写的几个读写数据库和外部邮件的代理,XPages开发中的少量Java Beans和一个流程库.除此之外就只剩下对

郑重告之:智能合约开发实训营第4期学员招募正式启动!

各位同学,抱歉久等了- 这是终于到来的<以太坊智能合约全栈开发>实战特训营第四期的正式招募通知. <以太坊智能合约全栈开发>实战特训营是由硅谷密探和 celer network 共同打造的全球第一档·智能合约全栈开发实战课程,也是目前唯一一个实现来自中.美.澳.英.日.韩等多国学员在线互动学习的区块链技术实战特训课程. 为了保证教学质量,如今已调整为每期仅招募100人,参与有门槛,需经过层层审核,录取通过率一度不到10%,并非所有人都适合参与. 拉至文末可直接进行报名. 请点击此处

老程序员应该记住的 5 件事

如果你甘于现状,并且已经在计划着怎么用退休金了,那么你不是这个帖子的主角.当然还是要恭喜你,已经快熬出头了.但是,如果你同我一样,尽管发现自己在变老,但却依然无法抵挡编码和构建东西的欲望,那么请继续往下看.我曾是一个系统软件工程师,但在我快40岁的时候,我被创业撞了一下腰.我认为创建自己的公司是一件很酷的事情.我建立了风险投资,在一些非常小的饥饿创业公司得到了一些花哨的头衔.我很自信我会成为一个好的CEO,一个不算坏的管理者,而且即便我不再编码,我也可以聘请一些优秀的程序员和管理人员——以求高品

老程序员的下场(转)

长期从事编程活动的程序员都期望在50多岁时能爬到一个足够高的职位,或者能顺利的退休. 但我在这里讨论的可能是一个你还没有想过的问题:如果到那时你失业了呢? 50多岁时你的职业仕途会成为一个问题.如果你有很好的技术,有人雇你,你会有一个很高的职衔,或你是一个专家,或有很好的人际关系,你都有可能找到一个新的职务. 否则,你会从衣食无忧沦落为无家可归.这是真的.我55岁,我的简历会让你感觉非常优秀,10年前我能挣到多达100万美元.现在我是一个流浪汉.我身体不是很好,没有医险,没有牙医.能找到的工作只

老程序员应该记住的5件事

英文原文:Five Things Old Programmers Should Remember 如果你甘于现状,并且已经在计划着怎么用退休金了,那么你不是这个帖子的主角.当然还是要恭喜你,已经快熬出头了.但是,如果你同我一样,尽管发现自己在变老,但却依然无法抵挡编码和构建东西的欲望,那么请继续往下看. 我曾是一个系统软件工程师,但在我快 40 岁的时候,我被创业撞了一下腰.我认为创建自己的公司是一件很酷的事情.我建立了风险投资,在一些非常小的饥饿创业公司得到了一些花哨的头衔.我很自信我会成为一

一个老程序员的回忆录--近几年中国软件的发展【转】

有一次出差途中,幸遇一位程序员.初观其貌,约30有余,姑且称其为“老”程序员.这位老兄初看不善言辞,但同他侃起他软件开发的经历时,其人滔滔不绝.我虽非干这个行当的,但据我的社会经验他绝不是在夸夸其谈,借机吹嘘自己.所以照其原话一字不差,摘录下来,供有兴趣的人们读一读解闷:     “从1989年进入大学开始,到而今攻读博士学位已经有12年有余.虽然我的专业一直都是软件,但并非一进入这个专业便可以算作从事了这个专业.假如认为大学期间幼稚有余,从硕士真正算是进入了软件开发领域,至今也有9年之多.然而

一个老程序员的心理话,句句戳心(转)

一个老程序员的心理话,句句戳心 码易-猿猿-yuan 2015-11-04 12:22:45 中国的程序员是世界上最好的程序员.他们不计报酬,没日没夜地工作.没有女朋友,没有节假日,可能几年后他们一无所有.他们仍在加班. 一些人总是发出一些错误的声音,形成了劣胜优汰可怕的现象.他们在误导着中国,把我们的后继军训练成软件蓝领――――胸无大志,目光短浅,稍有点成绩就自 满就自高自大的人,浑不知天外有天,外国正在虎视眈眈盯着中国的庞大市场. 由于软件蓝领的呼声人们不再致力于培养大批的高精尖人才,掌握国