1. 程式人生 > >Android 中SharedPreferences跨應用讀取資料的

Android 中SharedPreferences跨應用讀取資料的

http://download.csdn.net/download/gcsdn2000/4161520

儲存

package edu.cczu.SimplePreference;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;

public class SimplePreferenceActivity extends Activity {
	private EditText nameText;
	private EditText ageText;
	private EditText heightText;
	public static final String PREFER_NAME = "SaveSet";
	public static int MODE = Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE;
		
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        nameText = (EditText)findViewById(R.id.name);
        ageText = (EditText)findViewById(R.id.age);
        heightText = (EditText)findViewById(R.id.height);
    }

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		loadSharedPreferences();
	}

	private void loadSharedPreferences() {
		// TODO Auto-generated method stub
		SharedPreferences share = getSharedPreferences(PREFER_NAME, MODE);
		String name = share.getString("Name", "Tom");
		int age = share.getInt("Age", 20);
		float height = share.getFloat("Height", 1.81f);
		
		nameText.setText(name);
  	    ageText.setText(String.valueOf(age));
  	    heightText.setText(String.valueOf(height));
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		saveSharedPreferences();
	}

	private void saveSharedPreferences() {
		// TODO Auto-generated method stub
		SharedPreferences share = getSharedPreferences(PREFER_NAME, MODE);
		SharedPreferences.Editor editor = share.edit();
		
		editor.putString("Name", nameText.getText().toString());
		editor.putInt("Age", Integer.parseInt(ageText.getText().toString()));
  	    editor.putFloat("Height", Float.parseFloat(heightText.getText().toString()));
  	    editor.commit();		
	}    
}

讀取其他應用資料

package edu.cczu.SharePreference;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

public class SharePreferenceActivity extends Activity {
	public static final String PREFERENCE_PACKAGE = "edu.cczu.SimplePreference";
	public static final String PREFERENCE_NAME = "SaveSet";
	public static int MODE = Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE;
	private TextView labelView;
	private static String TAG = "LIFECYCLE";
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Context c = null;
        labelView = (TextView)findViewById(R.id.label);  
        
		try {
			c = this.createPackageContext(PREFERENCE_PACKAGE, Context.CONTEXT_IGNORE_SECURITY);

		} catch (NameNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
		
		SharedPreferences sharedPreferences = c.getSharedPreferences(PREFERENCE_NAME, MODE);
	    
		String name = sharedPreferences.getString("Name","Tom");
		int age = sharedPreferences.getInt("Age", 20);
		float height = sharedPreferences.getFloat("Height",1.81f);
		
		String msg = "";
		msg += "姓名:" + name + "\n";
		msg += "年齡:" + String.valueOf(age) + "\n";
		msg += "身高:" + String.valueOf(height) + "\n";	
		
		labelView.setText(msg);   
		
		Toast.makeText(this, name, Toast.LENGTH_SHORT).show();
		
        Log.i(TAG, "(1) onCreate()");
    }

	@Override
	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();
		Log.i(TAG, "(2) onStart()");
	}

	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		super.onStop();
		Log.i(TAG, "(8) onStop()");
	}

	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.i(TAG, "(9) onDestroy()");
		//System.exit(0);
	}    
}


相關推薦

Android SharedPreferences應用讀取資料

http://download.csdn.net/download/gcsdn2000/4161520 儲存 package edu.cczu.SimplePreference; import android.app.Activity; import android.c

Android 應用共享資料01-SharedPreferences

       Android  有四大儲存方式:sqlite 、File、SharedPreferences、ContentProvider,而說到跨應用之間的資料共享,很多人可能會想到用ContentProvicer,不過個人覺得Content

androidSharedPreferences 讀取不到數據的問題

由於 ppoe string log 不同的 nbsp bsp edit andro 在兩個不同的 Activity中,A中SharedPreferences保存了數據,在A中可以讀取到,但是在 B中卻讀取不到了,一直是空值,好是不爽,由於是按照書本上的例子寫的, 怎麽

AndroidSharedPreferences儲存,讀取和刪除資料

SharedPreferences類是一個輕量級的儲存類,特別適合用於儲存軟體配置引數。使用SharedPreferences儲存資料,其背後是用xml檔案存放資料,檔案存放在/data/data/&

androidjson檔案的讀取,並用gson轉換成jsonobject,jsonarray

1.手機儲存卡中json檔案的讀取,返回String //從手機儲存卡路徑下解析json,並返回String public static String getFileFromSD(String path) { String result = ""; try { FileInpu

Android為layout建立子資料

在開發Android專案的時候,往往都有一大批java檔案和layout檔案,java檔案分類比較簡單,直接方法建立資料夾就行,但layout還需要多一步配置。 看最後的檔案結構圖 實現步驟: 1. 建立相應的資料夾結構,需要注意的是,無論如何,佈局檔案的所在的資料

AndroidSharedPreferences.Editor的apply()與commit()方法

寫在前面   今天在寫 LifeTips App 時,涉及到儲存使用者調節的螢幕亮度時,使用了 SharedPreferences,及 SharedPreferences.Editor,結果 Android Studio 出現了”黃色的感嘆號“(本人有強迫症,不喜歡任何 warnin

android程序通訊的實現(一)——遠端呼叫過程和aidl

android在設計理念上強調元件化,元件之間的依賴性很小。我們往往發一個intent請求就可以啟動另一個應用的activity,或者一個你不知道在哪個程序的service,或者可以註冊一個廣播,只要有這個事件發生你都可以收到,又或者你可以查詢一個contentProvider獲得你想要的資料,這其

JSONP讀取資料

json是一種資料傳輸格式,而jsonp是一種資料獲取的方式,沒有什麼相關性。jsonp是一種輕量級的資料傳輸方式,為什麼要使用jsonp呢?為什麼我們從不同的域(網站)訪問資料需要一個特殊的技術(JSONP )呢?這是因為同源策略。同源策略,它是由Netscape提出的一個

Android開啟其他應用程式的元件

     componentName=new ComponentName("com.liu.testdemo",            "com.liu.testdemo.Receiver.TextBroadcastReceiver");

面試問題之:AndroidListView分頁載入資料

熟悉Android的朋友們都知道,不管是微部落格戶端還是新聞客戶端,都離不開列表元件,可以說列表元件是Android資料展現方面最重要的元件,我們今天就要講一講列表元件ListView載入資料的相關內容。通常來說,一個應用在展現大量資料時,不會將全部的可用資料都呈現給

multiprocessing在python的高階應用-共享資料與同步

通常,程序之間彼此是完全孤立的,唯一的通訊方式是佇列或管道。但可以使用兩個物件來表示共享資料。其實,這些物件使用了共享記憶體(通過mmap模組)使訪問多個程序成為可能。 Value( typecode, arg1, … argN, lock ) 在共享內容中

Android如何在應用A啟動或安裝應用B

有時候一個應用需要啟動另外一個應用來完成操作,比如在某些應用中開啟鬧鐘,相機,日曆等等。啟動或安裝相應的應用的方法:Step1:判斷是否安裝目標應用。只要知道目標應用的安裝包名就可以通過判斷"/data/data/packagename"是否存在來實現。/** * 判斷是

Android常用的五種資料儲存方式

第一種: 使用SharedPreferences儲存資料 適用範圍: 儲存少量的資料,且這些資料的格式非常簡單:字串型、基本型別的值。比如應用程式的各種配置資訊(如是否開啟音效、是否使用震動效果、小遊戲的玩家積分等),解鎖口 令密碼等 核心原理: 儲存基

Android使用Gson解析JSON資料

在Android中可以使用Gson解析JSON資料 首先,從 code.google.com/p/google-gson/downloads/list下載GsonAPI: google-gson-1.7.1-release.zip 把gson-1.7.jar c

Android攝像頭獲取的YUV資料轉Opencv的Mat

背景 在onPreviewFrame方法中獲取的byte[] data資料為420sp格式,排列順序為width*height個Y(亮度資訊,就是我們常見的灰度影象),後面是UV(顏色資訊),4個Y共享一個U和V,故byte陣列的總大小是width*height

Android不同Activity之間的資料傳遞

需要用到的類及方法: 類似:兩個國家做貿易,交易貨物; --傳遞載體:intent(貨船) --需要傳遞的內容:用bundle(集裝箱)包裝的string(某控制元件的值)<bundle是以鍵值

AndroidListView實現展示列表資料

1、在activity_main.xml中新增一個ListView <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc

androidlistview分頁載入資料

               前段時間做的新浪微博專案一直想實現listview分頁載入資料,今天終於實現了,哈哈!感覺挺好的,今天又寫了個demo給大家分享下。               首先說下listview的優化方案,這也是面試中常考的題目。優化方案有三種:1,如

android sharedUserId實現Apk的資料共享

現在我有'ITV'和'Launcher'兩個Apk。 ITV想拿到Launcher中的資料。可以利用android:shareduserid。 <manifest xmlns:android="http://schemas.android.com/apk/res/an