const routeConfig = {
method: 'POST',
path: '/user',
config: {
validate: {
payload: {
firstName: Joi.string().required().error(new Error('firstName is required')),
}
},
handler
}
}
答案 0 :(得分:1)
您必须创建两个Intents
才能执行此操作。
Intent a = new Intent(MapsActivity.this, Abc.class);
a.putExtra("customer_id", title);
startActivity(a);
Intent b = new Intent(MapsActivity.this, <service-name>.class);
b.putExtra("customer_id", title);
startService(b);
在您的活动中,按以下方式访问它:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
int customerId = getIntent().getIntExtra("customer_id", 0);
...
}
在您的服务访问中,如下所示:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
final int customerId = intent.getIntExtra("customer_id",0);
return Service.START_NOT_STICKY;
}
答案 1 :(得分:0)
试试这个:
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
//bundle.getString("customer_id")...
}
答案 2 :(得分:0)
您可以像这样获得您传递的数据
Intent intent = getIntent();
int value = intent.getIntExtra("customer_id", 0);
价值将保留您的客户ID。
答案 3 :(得分:0)
Intent intent = new Intent(MapsActivity.this, Abc.class);
intent.putExtra("customer_id", title);
startActivity(intent);
intent = new Intent(MapsActivity.this, <service-name>.class);
intent.putExtra("customer_id", title);
startService(intent);
像这样,您可以重复使用一个Intent变量来创建两个实例,您可以使用它将customer_id
传递给abc和您的服务。
答案 4 :(得分:0)
如果您想首先在两个不同的活动中获取值,您必须将值放在两个不同的意图中,这样您就可以在两个活动中获取值。
for Intent中的put值:
Intent a = new Intent(MapsActivity.this, Abc.class);
a.putExtra("customer_id", title);
startActivity(a);
Intent b = new Intent(MapsActivity.this, Xyz.class);
b.putExtra("customer_id", title);
startActivity(b);
要从意图获取值,请尝试:
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
//bundle.getString("customer_id")...
}
答案 5 :(得分:0)
我建议你应该使用SharedPreferences
,这对你来说会更方便,两个活动在两个不同的活动中获得相同的价值。
SharedPreferences
允许活动和应用程序以键值对的形式保留首选项,类似于Map,即使用户关闭应用程序也会持续存在。
Android将SharedPreferences
设置存储为DATA / data / {application package}目录下的shared_prefs文件夹中的XML文件。可以通过调用Environment.getDataDirectory()
获取DATA文件夹。
有关文档,请参阅here。
<强>初始化强>
我们需要一个编辑器来编辑和保存共享首选项中的更改。以下代码可用于获取共享首选项。
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();
存储数据
使用editor.commit()来保存对共享首选项的更改。
editor.putBoolean("key_name", true); // Storing boolean - true/false
editor.putString("key_name", "string value"); // Storing string
editor.putInt("key_name", "int value"); // Storing integer
editor.putFloat("key_name", "float value"); // Storing float
editor.putLong("key_name", "long value"); // Storing long
editor.commit(); // commit changes
检索数据
可以通过调用getString()
按如下方式从保存的首选项中检索数据:
pref.getString("key_name", null); // getting String
pref.getInt("key_name", null); // getting Integer
pref.getFloat("key_name", null); // getting Float
pref.getLong("key_name", null); // getting Long
pref.getBoolean("key_name", null); // getting boolean
清除或删除数据
remove(“key_name”)
用于删除该特定值。
clear()
用于删除所有数据。
editor.remove("name"); // will delete key name
editor.remove("email"); // will delete key email
editor.commit(); // commit changes
editor.clear();
editor.commit(); // commit changes
我希望这有帮助,如果不是答案,请忽略这个答案。 谢谢。