我已经定义了SharedPreferences在多进程模式上使用的实例.
public class Prefs {
private static SharedPreferences prefs;
private static SharedPreferences.Editor editor;
private static void init(Context context) {
prefs = context.getSharedPreferences("alaki",
Context.MODE_MULTI_PROCESS);
editor = prefs.edit();
}
// static methods to set and get preferences
}
Run Code Online (Sandbox Code Playgroud)
现在我在一个服务上使用这个类,使用单独的进程,也在我的主应用程序进程中以静态方式使用.
一切进展顺利,但有时会删除SharedPreferences实例上的所有存储数据!
我怎么解决这个问题?
编辑:最后我用IPC解决了我的问题.
我定义了一个类来扩展GestureDetector.SimpleOnGestureListener和重写onDown和onFling方法
class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return super.onDown(e);
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
Toast.makeText(PersianDatePicker.this.getContext(),
"fling " + velocityX + " - " + velocityY, Toast.LENGTH_LONG)
.show();
return super.onFling(e1, e2, velocityX, velocityY);
}
}
Run Code Online (Sandbox Code Playgroud)
我还定义了一个实例GestureDetectorCompat
@Override
public boolean onTouchEvent(MotionEvent event) {
mDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
我在一个活动中测试了它,效果很好。我想在自定义视图中使用它,但它不起作用!而且我没有错误。