zoukankan      html  css  js  c++  java
  • 【Android UI设计与开发】3.引导界面(三)实现应用程序只启动一次引导界面

    大部分的引导界面基本上都是千篇一律的,只要熟练掌握了一个,基本上也就没什么好说的了,要想实现应用程序只启动一次引导界面这样的效果,只要使用SharedPreferences类,就会让程序变的非常简单,下面来详细介绍一下这个类的使用方法

    1.SharedPreferences的详细介绍和用法

    其实在 20.游戏开发基础(游戏数据存储)中已经有过介绍了,为了文章的完整还是再介绍一遍。

    做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的效率,因此我们使用键值这种一一对应的关系来存放这些配置信息。SharedPreferences正是Android中用于实现这中存储方式的技术。

    SharedPreferences的使用非常简单,能够轻松的存放数据和读取数据。SharedPreferences只能保存简单类型的数据,例如,String、int等。一般会将复杂类型的数据转换成Base64编码,然后将转换后的数据以字符串的形式保存在 XML文件中,再用SharedPreferences保存。

    SharedPreferences使用方法:
    <1> 使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定;
    <2> 使用SharedPreferences接口的edit获得SharedPreferences.Editor对象;
    <3> 通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法;
    <4> 通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

    具体代码的书写流程为:


    A、存放数据信息
    <1> 打开Preferences,名称为setting,如果存在则打开它,否则创建新的Preferences

    SharedPreferences settings = getSharedPreferences(“setting”, 0);        

    <2> 让setting处于编辑状态

    SharedPreferences.Editor editor = settings.edit();

    <3> 存放数据

    editor.putString(“name”,”cnblogs”);
    editor.putString(“URL”,”www.cnblogs.com”);

    <4> 完成提交

    editor.commit();


    B、读取数据信息
    <1> 获取Preferences

     SharedPreferences settings = getSharedPreferences(“setting”, 0);

    <2> 取出数据

    String name = settings.getString(“name”,”默认值”);
    String url = setting.getString(“URL”,”default”);


    以上就是SharedPreferences的使用方法,其中创建的Preferences文件存放位置可以在Eclipse中查看:
    DDMS->File Explorer /data/data/<package name>/shared_prefs/setting.xml

    2.实现的效果图(图片分别为欢迎界面、引导界、软件主页)
    第一次启动程序:欢迎界面-->引导界面-->软件主页
    以后启动程序:欢迎界面-->软件主页

     

    3.具体的实现编码

    (1)欢迎页面Java代码,就是简单的建个线程,延迟指定时间,然后跳转就可以了

    package com.yanis.ui;
    
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    
    public class WelcomeActivity extends Activity implements Runnable {
        public static final int VERSION = 1;
        public static SharedPreferences sp;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_welcome);
            // 启动一个延迟线程
            new Thread(this).start();
        }
    
        @Override
        public void run() {
            try {
                // 延迟两秒时间
                Thread.sleep(2000);
                // 读取SharedPreferences中需要的数据
                sp = getSharedPreferences("Y_Setting", Context.MODE_PRIVATE);
                /**
                 * 如果用户不是第一次使用则直接调转到显示界面,否则调转到引导界面
                 */
                if (sp.getInt("VERSION", 0) != VERSION) {
                    startActivity(new Intent(WelcomeActivity.this,
                            GuideActivity.class));
                } else {
                    startActivity(new Intent(WelcomeActivity.this,
                            MainActivity.class));
                }
                finish();
    
            } catch (Exception e) {
            }
        }
    }
    WelcomeActivity

    (2)引导页面,用的ViewPager实现的,可以参考下ViewPager介绍和简单实现 ,具体可以在源代码中查看

    (3)主页,这就没什么好说的了,就一个显示布局的页面。

    源代码地址:https://github.com/YeXiaoChao/Yc_ui_guideview_once

    来源:http://blog.csdn.net/yangyu20121224/article/details/8987342

  • 相关阅读:
    仿苹果菜单的效果
    不用系统自带的复选框,单选按钮,选择框的样式,该怎么做
    js面向对象(三)---组件开发
    JS面向对象(二)---继承
    js面向对象(一)---基本的概念、属性、方法
    移动端新建html页面
    《程序员思维修炼》读后摘录
    做一个简单的贪吃蛇游戏
    做一个简单的遮罩层
    在不同设备上控制元素
  • 原文地址:https://www.cnblogs.com/yc-755909659/p/4284100.html
Copyright © 2011-2022 走看看