編輯:關於android開發
本章講述在Android開發中,簡單的數據存儲。涉及知識主要是SharedPreferences,及多頁面切換ViewPager。
做一個小應用、啟動的時候有左右引導圖、只有第一次啟動時顯示,看完以後,下一次啟動就不會再顯示了。
圖1
圖2
圖3
簡要說明:運行軟件,進入圖1界面,若第一次使用,軟件在運行2秒後,自動跳轉到引導界面。通過滑動屏幕,可跳轉到不同的引導界面。點擊進入主頁時,記錄引導界面是否被顯示的狀態值,若不清空值時,下一次不會在出現引導界面。
sharedPreferences是數據持久化,就是把簡單類型的數據(如:String,int)存儲起來。對應復雜類型數據,一般是將數據轉換成Base64編碼,然後將轉換後的數據以字符串的形式保存在 XML文件中,再用SharedPreferences保存。
SharedPreferences使用方法:
本例中存儲是否顯示引導頁面的案例代碼如下:
public class SessionData {
public static final int VERSION = 1; //1 不啟動緩存
public static SharedPreferences sp_version; //保存
}
// 存入數據並提交
SessionData.sp_version.edit() .putInt("VERSION", SessionData.VERSION).commit();
// 讀取SharedPreferences中需要的數據
SessionData. sp_version = getSharedPreferences("Y_Setting", Context.MODE_PRIVATE);
int version=SessionData.sp_version.getInt("VERSION", 0);
android-support-v4.jar 是谷歌官方給我們提供的一個兼容低版本安卓設備的軟件包,裡面包囊了只有在安卓3.0以上可以使用 的api。而viewpager就是其中之一利用它,我們可以做很多事情,從最簡單的導航,到頁面菜單等等。那如何使用它呢,與ListView類似,我 們也需要一個適配器,他就是PagerAdapter。ViewPager類提供了多界面切換的新效果,新效果有如下特征:
ViewPager在本例中使用的代碼如下:
1 package www.csnt.com.geekbandfivehomework; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.support.v4.view.ViewPager; 7 import android.support.v4.view.ViewPager.OnPageChangeListener; 8 import android.view.LayoutInflater; 9 import android.view.View; 10 import android.view.View.OnClickListener; 11 import android.widget.Button; 12 13 import java.util.ArrayList; 14 15 public class GuideActivity extends Activity implements OnPageChangeListener { 16 // 定義ViewPager對象 17 private ViewPager viewPager; 18 // 定義一個ArrayList來存放View 19 private ArrayList<View> views; 20 // 定義各個界面View對象 21 private View view1, view2, view3, view4; 22 // 定義開始按鈕對象 23 private Button btnStart; 24 25 @Override 26 protected void onCreate(Bundle savedInstanceState) { 27 super.onCreate(savedInstanceState); 28 setContentView(R.layout.activity_guide); 29 initView(); 30 31 } 32 33 /** 34 * 初始化 35 */ 36 private void initView() { 37 // 實例化ViewPager 38 viewPager = (ViewPager) findViewById(R.id.viewpager); 39 40 // 實例化各個界面的布局對象 41 LayoutInflater mLi = LayoutInflater.from(this); 42 view1 = mLi.inflate(R.layout.guide_view1, null); 43 view2 = mLi.inflate(R.layout.guide_view2, null); 44 view3 = mLi.inflate(R.layout.guide_view3, null); 45 46 47 // 實例化ArrayList對象 48 views = new ArrayList<View>(); 49 // 將要分頁顯示的View裝入數組中 50 views.add(view1); 51 views.add(view2); 52 views.add(view3); 53 54 // 設置監聽 55 viewPager.setOnPageChangeListener(this); 56 // 設置適配器數據 57 viewPager.setAdapter(new ViewPagerAdapter(views)); 58 59 // 實例化開始按鈕 60 btnStart = (Button) view3.findViewById(R.id.startBtn); 61 // 給開始按鈕設置監聽 62 btnStart.setOnClickListener(new OnClickListener() { 63 @Override 64 public void onClick(View v) { 65 // 存入數據並提交 66 SessionData.sp_version.edit() 67 .putInt("VERSION", SessionData.VERSION).commit(); 68 startActivity(new Intent(GuideActivity.this, MainActivity.class)); 69 finish(); 70 } 71 72 }); 73 } 74 75 /** 76 * 滑動狀態改變時調用 77 */ 78 @Override 79 public void onPageScrollStateChanged(int arg0) { 80 81 } 82 83 /** 84 * 當前頁面滑動時調用 85 */ 86 @Override 87 public void onPageScrolled(int arg0, float arg1, int arg2) { 88 89 } 90 91 /** 92 * 新的頁面被選中時調用 93 */ 94 @Override 95 public void onPageSelected(int arg0) { 96 } 97 98 } ViewPager其中:view3 = mLi.inflate(R.layout.guide_view3, null);表示其中一個界面加載到項目中。對於該界面中的其他控件,可通過如下方式使用:
// 實例化開始按鈕
btnStart = (Button) view3.findViewById(R.id.startBtn);
// 給開始按鈕設置監聽
btnStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 存入數據並提交
SessionData.sp_version.edit()
.putInt("VERSION", SessionData.VERSION).commit();
startActivity(new Intent(GuideActivity.this, MainActivity.class));
finish();
}
});
本項目源代碼在360雲盤上,開發環境為 Android Studio 2.0 beta 7。
https://yunpan.cn/cYamkZG3sq9jf 訪問密碼 f3d5。文件名稱:android引導界面demo。
nagios分組出圖代碼實現講解[2]簡介、 承接上一節,在4.1小節我們實現了分組全選功能,分組沿用nagios默認的,在此基礎之上新增復選框,實現了同組機器的選擇及
2015烏鎮互聯網大會,母嬰美食快餐類APP入眼,2015烏鎮重構與用戶之間的信任感將是這一細分行業的首要任務。未來誰能真正贏得用戶的信任,誰才能笑到最後。 這幾日,整
《Android源碼設計模式解析與實戰》讀書筆記(十七) 第十七章、中介者模式 中介者模式也稱為調解者模式或調停者模式,是一種行為型模式。 1.定義 中介者模式包裝
Andriod DiskLruCache的使用案例 DiskLruCache是谷歌推薦的用來實現硬盤緩存的類,本案例將對DiskLruCache的基本用法做一個總結,