Giter VIP home page Giter VIP logo

beam's People

Contributors

jude95 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beam's Issues

how to write in proguard

我的工程中用了混淆,
-keep class com.jude.beam.* { ; }
-dontwarn com.jude.beam.

签名apk运行时
Caused by: java.lang.InstantiationException: class com.jzg.taozhubao.module.MactivityPresenter has no zero argument constructor,异常,我在里面手动加上空参构造方法,还是报一样错误。大神要有没有好的处理方法,activityPrenster,fragmentpresenter,adapterPresenter也会报同样的错误!请大神指教,谢谢

程序压入后台,BeamListFragment会报空指针。

Activity中使用BeamListFragment,程序压入后台(如按home键,用360卫士清理内存),再恢复时,会报空指针。
原因可能是:
压入后台, Fragment可能会系统回收了,Presenter中的view=null了。再恢复时,没有走Fragment的onCreate方法,只走了onCreateView ,

这时在onCreateView 中执行:

if (mListConfig.mStartWithProgress&&!getPresenter().inited) mListView.setAdapterWithProgress(mAdapter = getPresenter().getAdapter());
else mListView.setAdapter(mAdapter = getPresenter().getAdapter());

DataAdapter引用的getview就空指针异常了。

回收资源

在activity 或者 fragment 回收的时候可以考虑把p 层持有的 activity引用 置null

屏幕旋转(view意外退出)调用presenter方法有时空指针

getView().banner_text.setPages(
new CBViewHolderCreator() {
@OverRide
public TextHolderView createHolder() {
return new TextHolderView();
}
}, getView().notice_list);

类似这种结构的会出错。如果将该方法放在view中则不会出错
错误log:Attempt to invoke virtual method 'com.bigkoo.convenientbanner.ConvenientBanner com.bigkoo.convenientbanner.ConvenientBanner.setPages(com.bigkoo.convenientbanner.holder.CBViewHolderCreator, java.util.List)' on a null object reference

与nucleus区别在哪?

看你的介绍说是参考了nucleus,能在wiki里面简单描述下与nucleus的异同,以及优势在哪吗?

BeamFragment为什么不加上ViewExpansionDelegate

Fragment没法调用显示progressBar和Error等。只有Activity中才可以。我感觉Fragment中加载数据进行进度显示等也是很必要的啊。求BeamFragment中加上ViewExpansionDelegate。

注释太少

注释太少,我这小豆芽看起来好吃力

BeamBaseActivity 代码疑问

BeamBaseActivity中有获取根视图的方法
mContentParent= (FrameLayout) findViewById(android.R.id.content);
android.R.id.content对应的组件应该是LinearLayout吧,而且在后续的代码中也未用到FrameLayout的特性.能否用ViewGroupLinearLayout代替呢

presenter重建问题

我看代码里是在activity的onDestroy生命周期时,进行了移除presenter的操作。那怎么保证在activity意外重建时(比如旋转屏幕),presenter不重建呢。

ActivityLifeCycleDelegate 中定义的生命周期方法不满足3rd-SDK使用

你好,Jude95 好久不见, miss u fine.
我知道 ActivityLifeCycleDelegate 定义了activity大部分相关的生命周期方法
我们在使用类似统计等相关的3rd-SDK时,只需要继承这个ActivityLifeCycleDelegate 类,
在onResume onPause相关的生命周期方法中操作即可。类似代码如下:

public class ActivityDelegate extends ActivityLifeCycleDelegate {

    public ActivityDelegate(Activity act) {
        super(act);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        JActivityManager.getInstance().pushActivity(getActivity());
    }

    @Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(getActivity());
    }

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(getActivity());
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        JActivityManager.getInstance().popActivity(getActivity());
    }

}

但是,一些第三方的SDK,可能在Activity使用比较少的方法中进行使用。比如在使用bugtags的SDK时,需要在dispatchTouchEvent实现方法中做处理。代码如下所示:

public class BaseActivity extends Activity{
    @Override
    protected void onResume() {
        super.onResume();
        //注:回调 1
        Bugtags.onResume(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        //注:回调 2
        Bugtags.onPause(this);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        //注:回调 3
        Bugtags.onDispatchTouchEvent(this, event);
        return super.dispatchTouchEvent(event);
    }
}

对于这样的场景应用,当前的beam框架有什么好的实现处理方式么?
期待你的回复, 3ks.

你好,我用的是1.3.1版的Android Studio,加载项目后有错误

Error:Unable to find method 'org.gradle.api.internal.project.ProjectInternal.getConfigurations()Lorg/gradle/api/internal/artifacts/configurations/ConfigurationContainerInternal;'.

Possible causes for this unexpected error include:

  • Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

    Re-download dependencies and sync project (requires network)
    The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.

    Stop Gradle build processes (requires restart)
    In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

只要添加support design 库,layout Desgin那里就出现Render Errors

Android Studio 2.3 Beta 1

报错如下:

java.lang.NoSuchFieldError: ViewBackgroundHelper
at android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.java:46)
at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:63)
at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:441)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:240)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:195)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:333)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:152)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at com.android.layoutlib.bridge.bars.CustomBar.(CustomBar.java:95)
at com.android.layoutlib.bridge.bars.NavigationBar.(NavigationBar.java:52)
at com.android.layoutlib.bridge.bars.NavigationBar.(NavigationBar.java:46)
at com.android.layoutlib.bridge.impl.Layout.createNavBar(Layout.java:284)
at com.android.layoutlib.bridge.impl.Layout.(Layout.java:140)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:301)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.