north2016 / t-mvp Goto Github PK
View Code? Open in Web Editor NEWAndroid AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
Android AOP Architecture by Apt, AspectJ, Javassisit, based on Realm+Databinding+MVP+Retrofit+Rxjava2
相关操作视频我传到群里了
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");
}
}
我知道了,关了
下载你的这个项目,安装到手机上打开,动画过后就闪退了,乐视手机
我自己写了个插件,打包前修改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时有碰到过吗
需要把app工程下build.gradle文件中
apply plugin: com.app.plugin.AspectjPlugin
apply plugin: com.app.plugin.JavassistPlugin
移除,才可以编译通过。
生成router的位置只能在有注解的module中,在别的模块就调用不了,有没有好的方式解决?
列表页面现在做的好像只是纯展示数据,如果需要实现其他功能好像比较困难,比如类似订单页面,如果需要在列表上加上删除按钮,并要求删除功能在列表页面实现,由于列表显示由TrecyclerView封装的,好像改动起来比较麻烦
你好,请问aspectj在library中怎么配置,除了您的这种配置还有其他的配置吗?简单一点的。我想在library写好代码在其他的模块中和主模块中使用。
这样层级不就乱掉了?
1.lambda表达式为什么无法在@aspect注解下的类下使用?
2.javassist代码中的是.class文件,就是说可以使用java,但是你这边用的是groovy。为什么不使用java呢?
列表双击bug.
为什么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; <---?
假如多个界面需要用到 sign 方法,那么 LoginModel 中的 sign 方法将无法复用,因为是 LoginContract 中的接口,而不是通用的,我觉得 model 层应该是通用一点。
看了例子,没有BaseFragment。
retrofit 方法参数如果为空 ApiFactory会报错 生成不了
假设一个页面目前需要多个请求,而且还需要复用其他页面的请求,那么继承一个BasePresenter的泛型可以解决问题吗?
是否可以把presenter层从ui里独立出来,毕竟不同的view可能有相同的业务
现在Api 这个类里面写上了BaseUrl,就只能用这个域名下的接口,当有第三方的接口地址,就无法使用了APT自动生成的代码了
还有一个问题,我能否拆分出多个ApiService这样的类,现在全部的接口都在ApiService里面唉,有点太多了一个类
求大大回复,谢谢
为什么我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下却存在这样的错误,这是为什么呢?
在我写的工程里面,如果不配置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进行截取字符串,就会出错,
请教下怎么解决
由于现在公司普遍使用的是 jdk7,所以还不兼容 lambda
请问如何把如下代码转为普通模式
(RxSchedulers.java)
public static <T> Observable.Transformer<T, T> io_main() {
return tObservable -> tObservable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
}
提示缺少资源文件
Error:Could not get unknown property 'com' for project ':app' of type org.gradle.api.Project.
加入Post缓存
hello ,看了一下源码,好像对屏幕旋转, P 层这块没有做状态保存什么的么
谢谢
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.