我正在开发一个Bus-Timetable Android应用程序,我希望用户可以使用他们最喜欢的巴士站制作快捷方式。
当用户点击快捷方式时,应显示该公交车站的出发时间。
我已经知道如何创建快捷方式,但不知道如何将数据保存到该(在我的应用程序中的公交车站ID)。
答案 0 :(得分:2)
很容易找到解决方案
Intent shortcutIntent = new Intent(context.getApplicationContext(),MainActivity.class);
shortcutIntent.putExtra("stop", stopName);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, stopName);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(context.getApplicationContext(), R.drawable.ic_launcher));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.getApplicationContext().sendBroadcast(addIntent);
在ActivityMain.java上获得额外的“停止”...
Intent i = getIntent();
String stop = i.getStringExtra("stop");
答案 1 :(得分:0)
为什么不使用SharedPreference?
这就是你如何保存数据,简单的int:
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", yourIntValue);
editor.commit();
这就是你获取数据的方式:
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
int myIntValue = sp.getInt("your_int_key", -1);
如果你看起来很简单,或者你需要sqlite来保存信息,但在一篇文章中解决这个问题会更复杂。