作者cooper6334 (小恐龙)
看板AndroidDev
标题Re: [问题] 关於 Widget 传值
时间Wed Nov 21 22:30:29 2012
我看了一下你的程式
你在Activity里
写入SharedPreferences的部份
final String
mPerfName = "
com.mewo.CountDownActivity";
SharedPreferences
shp
=getSharedPreferences(
mPerfName, Context.MODE_WORLD_READABLE);
SharedPreferences.Editor
prefs
= CountDownActivity.this.getSharedPreferences(
mPerfName, 0).edit();
prefs.putString("
DAT" +
h, mTextView.getText().toString());
prefs.putLong("
DAT" , h);
prefs.commit();
在AppWidgetProvider
拿出SharedPreferences的部份
SharedPreferences
mPref;
SharedPreferences
prefs
= context.getSharedPreferences("
DAT", Context.MODE_PRIVATE);
SharedPreferences
sharedata = context.getSharedPreferences("
data", 0);
long data =
sharedata.getLong("
DAT",0);
========================================================================
SharedPreferences其实也就是把资料写成某种格式的档案
然後提供你介面存入跟取出
getSharedPreferences()所带的第一个参数,就是这个档案的名称
你现在把
DAT这笔long写在
mPerfName也就是
com.mewo.CountDownActivity里
然後想到
data找到
DAT,当然找不到
函式不会用的话都可以到
http://developer.android.com/ 查
甚至Eclipse里面都能查到函式说明,参数不能乱带阿
※ 引述《han01122 (屎倒淋头)》之铭言:
: 如果我要先学习用Handler去写SharedPreferences接收可行吗?
: 因为我一直接收不到传过来的值,不知道哪里有错
: 程式码如下:
: final String mPerfName = "com.CountDownActivity";
: TextView mTextView = (TextView) CountDownActivity.this
: .findViewById(R.id.result);
: SharedPreferences.Editor prefs = CountDownActivity.this
: .getSharedPreferences(mPerfName, 0).edit();
: prefs.putString("DAT" +h, mTextView.getText()
: .toString());
: prefs.putLong("HH" , h);
: prefs.commit();
: 在widget接收:
: SharedPreferences prefs = context.getSharedPreferences("DAT",
: Context.MODE_PRIVATE);
: SharedPreferences h = context.getSharedPreferences("HH", 0);
: views.setTextViewText(R.id.T1, ""+prefs.getLong("DAT",0));
: appWidgetManager.updateAppWidget(appWidgetId,views);
: 请问我的方法用对了吗?widget的执行结果只会显示0
: 麻烦大大解惑了感恩!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.91.176
※ 编辑: cooper6334 来自: 140.112.91.176 (11/21 22:39)