这用法怎么了,getInstance,估计是单例模式

解决方案 »

  1.   


    import cn.XXXXX.sync.appmanager.AppManagerModule;
    AppManagerModule.getInstance(this);不定义变量,直接使用.
      

  2.   

    DefaultSyncManager.java.....................................
    public class DefaultSyncManager extends Handler {
    private static DefaultSyncManager sManager; public static DefaultSyncManager init(Context context) {
    Log.v("AAA", ".............DefaultSyncManager..init..");
    sManager = new SyncManagerExt(context);
    // sManager = new DefaultSyncManager(context);
    } public int request(Config config, ArrayList<Projo> datas) {
    Log.v("AAA", "...........DefaultSyncManager..request...0..0..");
    return request(config, datas, false);
    } int request(final Config config, final ArrayList<Projo> datas, final boolean sync) {
    Log.v("AAA", "...........DefaultSyncManager..request...0..1..");
    }
    }SyncManagerExt.java.............................................
    public class SyncManagerExt extends DefaultSyncManager implements TransportManagerExt.OnRetriveCallback {
    @Override
    int request(Config config, ArrayList<Projo> datas, boolean sync) {
    Mgr.w("..... ....SyncManagerExt..request()..." );
    }
    }
    QuickSmsSettings.java...............................................
    import cn.ingenic.indroidsync.DefaultSyncManager;public class QuickSmsSettings extends PreferenceActivity implements
            Preference.OnPreferenceChangeListener,
            Preference.OnPreferenceClickListener {    @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            DefaultSyncManager.getDefault().request(config, datas);
    }    @Override
        public boolean onPreferenceClick(Preference preference) {
    Log.v("BBB", "...........QuickSmsSettings..onPreferenceClick..request()..");
                DefaultSyncManager.getDefault().request(config, datas);
    }
    }////................................串口信息..............................................V/BBB     ( 3446): ...........QuickSmsSettings..onPreferenceClick..request()..
    V/AAA     ( 3446): ...........DefaultSyncManager..getDefault....
    V/AAA     ( 3446): ...........DefaultSyncManager..request...0..0..
    W/Sync    ( 3446): <Manager>..... ....SyncManagerExt..request()...
    V/AAA     ( 3446): .............DefaultSyncManager..getLockedAddress..
    E/Sync    ( 3446): <Manager>.............DefaultSyncManager..getLockedAddress..1..

    问题1: QuickSmsSettings.java 中, 没有定义DefaultSyncManager 这个变量,它为什么可以直接使用? (类DefaultSyncManager 也有继承类)问题2: QuickSmsSettings.java 中的点击事件,调用 DefaultSyncManager.getDefault().request(config, datas), 先调用基类中的request(), 再调用继承类的request().
    这个好理解, 但是
                  基类中的 request(xxx, xxx) 为什么没有调用到基类中的 request(xxx, xxx, xxx)? (以下二个函数) public int request(Config config, ArrayList<Projo> datas) {
    Log.v("AAA", "...........DefaultSyncManager..request...0..0..");
    return request(config, datas, false);
    } int request(final Config config, final ArrayList<Projo> datas, final boolean sync) {
    Log.v("AAA", "...........DefaultSyncManager..request...0..1..");
    }