Giter Site home page Giter Site logo

north2016 / t-mvp Goto Github PK

View Code? Open in Web Editor NEW
2.7K 149.0 632.0 24.62 MB

Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2

Java 89.87% JavaScript 0.68% Groovy 9.45%
aop aop-architecture aspectj javassist apt realm mvp material-design databinding router

t-mvp's People

Contributors

jinghongjun avatar north2016 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  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

t-mvp's Issues

lambda 转为普通书写问题

由于现在公司普遍使用的是 jdk7,所以还不兼容 lambda
请问如何把如下代码转为普通模式

(RxSchedulers.java)

    public static <T> Observable.Transformer<T, T> io_main() {
        return tObservable -> tObservable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
    }

Model 复用问题

假如多个界面需要用到 sign 方法,那么 LoginModel 中的 sign 方法将无法复用,因为是 LoginContract 中的接口,而不是通用的,我觉得 model 层应该是通用一点。

Build error issue

需要把app工程下build.gradle文件中
apply plugin: com.app.plugin.AspectjPlugin
apply plugin: com.app.plugin.JavassistPlugin
移除,才可以编译通过。

去掉realm的配置后,运行不正常

在我写的工程里面,如果不配置realm,就会报错
Caused by: javassist.NotFoundException: compileDebugJavaWithJavac.classes.com.base.event.Event
at com.app.plugin.MyInject$_injectDir_closure1.doCall(MyInject.groovy:32)

     报错原因是MyInject的32行:CtClass c = pool.getCtClass(className)

    MyInject的24行:String filePath = file.absolutePath
如果配置上realm, MyInject的24行获取到的路径是工程下的app/build/intermediates/transforms...下面的内容,
    如果不进行realm配置,获取到的路径就是工程下的app/build/intermediates/javac/debug/compileDebugJavaWithJavac......下面的内容,然后又以com进行截取字符串,就会出错,

请教下怎么解决

为什么View中持有Model的引用?

为什么V中持有M的引用? MVP不是要切断M和V的联系, 由P来控制吗? 这样如何解耦?

public abstract class BaseActivity<T extends BasePresenter, E extends BaseModel> extends AppCompatActivity {
    public boolean isNight;
    public T mPresenter;
    public E mModel;   <---?

一个页面多个请求目前适用吗

假设一个页面目前需要多个请求,而且还需要复用其他页面的请求,那么继承一个BasePresenter的泛型可以解决问题吗?

API 怎么支持多个BaseUrl

现在Api 这个类里面写上了BaseUrl,就只能用这个域名下的接口,当有第三方的接口地址,就无法使用了APT自动生成的代码了
还有一个问题,我能否拆分出多个ApiService这样的类,现在全部的接口都在ApiService里面唉,有点太多了一个类
求大大回复,谢谢

提个问题

我自己写了个插件,打包前修改class 中的onClick 方法, demo中测试可以
一接到正式项目中,就出错

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithMultidexlistForDevDebug'.
> java.io.IOException: Can't read [/Users/sj/Documents/kqc_pro/b2b-ii-android/app/build/intermediates/transforms/jarMerging/dev/debug/jars/1/1f/combined.jar] (Can't process class [com/kqc/b2b/ui/approve/PersonalIdentificationActivity.class] (null))

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

请问你在写T-mvp时有碰到过吗

找不到文件

弄了很多次,重新从Github上下了dmeo也不能运行

import com.apt.TRouter; 这个找不到,看Issues里面也没有其他人遇到这种问题

是要改什么东西么
distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip
build:gradle:2.2.2

123

关于javassist和Aspect的一点问题

1.lambda表达式为什么无法在@aspect注解下的类下使用?
2.javassist代码中的是.class文件,就是说可以使用java,但是你这边用的是groovy。为什么不使用java呢?

OkBus.getInstance().onEvent方法

OkBus.getInstance().onEvent方法在onCreate中不起作用,在点击事件中或onResume才起作用,是否是因为界面还没有加载完成的原因?

public class Main4Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main4);
    
    //写在这里不起作用
    OkBus.getInstance().onEvent(EventTags.JUMP_TO_MAIN2);
    
    findViewById(R.id.fdfsdsfsdf).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //写在这里可以起作用

// OkBus.getInstance().onEvent(EventTags.JUMP_TO_MAIN);
}
});
}

@Override
protected void onResume() {
    super.onResume();
    //写在这里可以起作用
    OkBus.getInstance().onEvent(EventTags.JUMP_TO_MAIN2);
}

@Bus(value = EventTags.JUMP_TO_MAIN2)
public void get(){
    Log.e("Main4Activity","aaaaaaaaaaaaaaaa");
}

}

编译报错,求解决

Error:Could not get unknown property 'com' for project ':app' of type org.gradle.api.Project.

你好,aspectj在library中配置?

你好,请问aspectj在library中怎么配置,除了您的这种配置还有其他的配置吗?简单一点的。我想在library写好代码在其他的模块中和主模块中使用。

文件命名错误导致编译不通过,

还是昨天那个不能自动生成代码的问题。
经过排查,是有个类的命名错误了。见图

com.ui.release包下面的ReleaseContract这个类,写成了小写开头

123

闪退问题

下载你的这个项目,安装到手机上打开,动画过后就闪退了,乐视手机

列表页面显示问题

列表页面现在做的好像只是纯展示数据,如果需要实现其他功能好像比较困难,比如类似订单页面,如果需要在列表上加上删除按钮,并要求删除功能在列表页面实现,由于列表显示由TrecyclerView封装的,好像改动起来比较麻烦

提一个问题啊,

为什么我clone了项目 到如as中 出现了这样的错误 Error:(53, 1) A problem occurred evaluating project ':app'.

Could not get unknown property 'com' for project ':app' of type org.gradle.api.Project. 但是在windows下确没有这样的错误,但是在ubuntu下却存在这样的错误,这是为什么呢?

运行黑屏?

一直打印这个log:

01-12 13:19:27.155 755-1678/cn.com.app I/SurfaceView: Locking canvas... stopped=false, win=android.view.SurfaceView$MyWindow@5b73d5d
01-12 13:19:27.155 755-1678/cn.com.app I/SurfaceView: Returned canvas: android.view.Surface$CompatibleCanvas@16a5a6d2

并且黑屏:

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.