(安卓APP)关于使用偏好设置储存数据,首次登录应用到新手指导页,再次登录直接到主页面简单的相关实现代码
2017-06-15 13:34
1206 查看
首先,创建一个android studio项目。
然后,在java--包名下先创建三个包
UI界面包
-----MainActivity(主页面)
----SplashActivity(欢迎界面(通俗讲就是广告或者一张宣传图))
----GuideActivity(新手指导界面)
Util工具包
--- SPUtil( SP= SharedPreference)
Config常量包
---constant(fianl 常量)
创建好这些基本的东西以后,我们开始写代码。
(这个时候呢,经常会想,应该做什么呢,该从哪里开始写呢?当然是从欢迎界面开始写,理由很简单,这是App最开始的部分,写这个还是要稍微按点顺序,这样子思路比较清晰,写起来也比较有成就感)
activity_splash.xml
写完了xml的布局以后,就要开始在SplashActivity里面开始写代码了,但是由于MVC模式,我封装了一个SPUtil的工具类和一个constant常量类,欢迎界面因为我设置的是3秒以后自动跳转的功能(这里也可以倒计时跳转)
Constant.java
SPUtil.java
SplashActivity.java
创建GuideActivity.java和MainActivity(这俩个界面暂时不用做太多处理,创建出来用于测试是否第一次登陆跳转)
有什么问题可以留言探讨,大神也欢迎指导,大家一起进步。
然后,在java--包名下先创建三个包
UI界面包
-----MainActivity(主页面)
----SplashActivity(欢迎界面(通俗讲就是广告或者一张宣传图))
----GuideActivity(新手指导界面)
Util工具包
--- SPUtil( SP= SharedPreference)
Config常量包
---constant(fianl 常量)
创建好这些基本的东西以后,我们开始写代码。
(这个时候呢,经常会想,应该做什么呢,该从哪里开始写呢?当然是从欢迎界面开始写,理由很简单,这是App最开始的部分,写这个还是要稍微按点顺序,这样子思路比较清晰,写起来也比较有成就感)
activity_splash.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_splash" android:layout_width="match_parent" android:layout_height="match_parent" android:background="这里添加你需要的欢迎页的图片(drawable目录下)"// 简单的图片 tools:context="company.com.happy.ui.SplashActivity"> </RelativeLayout>
写完了xml的布局以后,就要开始在SplashActivity里面开始写代码了,但是由于MVC模式,我封装了一个SPUtil的工具类和一个constant常量类,欢迎界面因为我设置的是3秒以后自动跳转的功能(这里也可以倒计时跳转)
Constant.java
public class Constant { public static final String FIRST="first"; }
SPUtil.java
public class SPUtil { SharedPreferences sp; //通过构造器重载.以不同的方式获得偏好设置的文件 public SPUtil(Context context, String name) { sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); } public SPUtil(Context context) { sp = PreferenceManager.getDefaultSharedPreferences(context); } public boolean isFirst() {//用于判断是否第一次登陆 return sp.getBoolean(Constant.FIRST, true); } public void setFirst(boolean flag){ SharedPreferences.Editor editor = sp.edit();//获得偏好设置的编辑器 editor.putBoolean(Constant.FIRST,flag);//编辑器获得数据 editor.commit();//提交 } }
SplashActivity.java
public class SplashActivity extends Activity { SPUtil spUtil; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); spUtil=new SPUtil(this); //界面停留几秒钟 //是否第一次使用进行相应的界面跳转 new Handler().postDelayed(new Runnable() { @Override public void run() { //读取偏好设置中的值 //根据是否第一次进行 Intent intent; if (spUtil.isFirst()){ //新手知道页跳转 intent = new Intent(SplashActivity.this,GuideActivity.class); spUtil.setFirst(false); }else{ //向主页面跳转 intent = new Intent(SplashActivity.this,MainActivity.class); } //启动跳转任务 startActivity(intent); //结束该页面 finish(); } },3000);//这里的时间有自己掌握(1000=1秒) } }
创建GuideActivity.java和MainActivity(这俩个界面暂时不用做太多处理,创建出来用于测试是否第一次登陆跳转)
有什么问题可以留言探讨,大神也欢迎指导,大家一起进步。
相关文章推荐
- (安卓APP)关于简单的新手指导页的图片滑动和点击事件跳转
- 使用php+Ajax实现唯一校验实现代码[简单应用]
- 使用Jquery打造最佳用户体验的登录页面的实现代码
- 使用DataList和SQL2005实现分页显示数据(应用举例:站内简单搜索)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- 使用storyboard实现页面跳转,简单的数据传递
- 使用jqMobi开发app基础:登录页面的实现
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- 使用EF6和MVC5实现一个简单的选课系统--使用EF6更新相关数据(8/12)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- [导入]AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- ASP.NET jQuery 食谱11 (通过使用jQuery validation插件简单实现用户登录页面验证功能)
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- (4.4.1)使用storyboard实现页面跳转,简单的数据传递
- repeater实现样式设置,并添加删除按钮,参考课上老师做的案例。数据表添加字段status,使用repeater实现禁用与启用。repeater添加编辑按钮,和Edit.aspx页面。
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- [转]使用storyboard实现页面跳转,简单的数据传递
- 使用php+Ajax实现唯一校验实现代码[简单应用]