【Android UI設計與開發】3.引導介面(三)實現應用程式只啟動一次引導介面

來源:互聯網
上載者:User

標籤:

大部分的引導介面基本上都是千篇一律的,只要熟練掌握了一個,基本上也就沒什麼好說的了,要想實現應用程式只啟動一次引導介面這樣的效果,只要使用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

【Android UI設計與開發】3.引導介面(三)實現應用程式只啟動一次引導介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.