见subj.
如果你能附上一张图片会很好(我的google-fu不太适合自己找一张).谢谢!
我正在尝试使用android studio,到目前为止一直很好.但是,它有黄色指数,警告,灯泡,等等!
这是一个问题.不,我的代码实际上并没有真正的警告,它主要是样式挑剔的项目,如"简化"FLAG_AUTOSAVE == false to!FLAG_AUTOSAVE
哪个,不,我不想做,那不是我的风格,我喜欢我的代码一目了然.
或者实际上是错误的建议,例如更改正确覆盖的方法的签名.(它仍然是版本1.x ......)
无论我的风格是否完美,我都需要这些才能消失所以我可以看到真正的警告.
Test I'm attempting to do: make a purchase, note the title, then return to the home activity, and press "home_image" which is an image button.
My issue is I can't navigate home_image. I press it and I get a bogus duplicate ID. I believe the duplicate ID is referring to the non visible fragments which have the same ID. Why it's not an issue at the start of the test is weird. Sorry had to truncate the logs, due to …
我正在写一个定制的lint探测器,以获得乐趣.我将关于在Android中创建自定义lint规则的Big Nerd Ranches课程(对于Java应该是相同的)
我可以检测到我想要的事件.调用类构造函数.但是由于我们通过抽象语法树遍历这一事实, 我无法检测到回调的实现.我不知道如何告诉Java检查文件,只报告它是否找不到.在这种情况下,接口实现.因为我一次只看到一片叶子.
如何查找两次出现,存储每次发生的位置,然后执行我的逻辑并相应地报告?
package com.bignerdranch.linette.detectors;
import com.android.annotations.NonNull;
import com.android.tools.lint.detector.api.Category;
import com.android.tools.lint.detector.api.Context;
import com.android.tools.lint.detector.api.Detector;
import com.android.tools.lint.detector.api.Implementation;
import com.android.tools.lint.detector.api.Issue;
import com.android.tools.lint.detector.api.JavaContext;
import com.android.tools.lint.detector.api.Location;
import com.android.tools.lint.detector.api.Scope;
import com.android.tools.lint.detector.api.Severity;
import com.android.tools.lint.detector.api.TextFormat;
import java.io.File;
import java.util.EnumSet;
import java.util.List;
import lombok.ast.AstVisitor;
import lombok.ast.Node;
/**
* Lint check for the usage of to-do statements
*/
public class CallBackDetector extends Detector implements Detector.JavaScanner {
private static final String FRAGMENT_MATCHER_STRING = "NoInternetDialogFragment()";
private static final String INTERFACE_MATCHER_STRING =
"NoInternetDialogFragment.NoInternetCallbackInterface";
private …Run Code Online (Sandbox Code Playgroud) 下面我有Gradle的构建文件.问题.它运行昨天的APK而不是今天的.根本原因.我动态地将日期放在apks名称中 - 用于调试版本.
当我运行应用程序时,它会看到旧的APK并看到它与Gradle期望的相符,因为Gradle没有刷新并注意到日期更改.
我需要强制gradle刷新每次运行.
buildTypes {
debug {
debuggable true
minifyEnabled false
proguardFiles 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def formattedDate = new Date().format('yyyyMMdd')
def newName = output.outputFile.name
newName = newName.replace("app-", "myappname-") //"MyAppName" -> I set my app variables in the root project
newName = newName.replace("-release", "-" + versionName + "-" + formattedDate + "-r")
newName = newName.replace("-debug", "-" + versionName + "-" + formattedDate + "-d")
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个严重依赖注入(dagger2)应用程序.我想在没有测试导航整个应用程序的情况下运行espresso测试,并登录到应用程序.
我想从我的teleActivity开始,并模拟登录管理器.但是在任何@test函数中,我们已经调用了空指针,因为我们调用了onCreate.如果我在启动活动之前覆盖它(如下所示),则活动为空.
根据我的理解,切换下划线依赖关系的能力是我们使用Dagger2的一个重要原因,否则它只是一个非常过度设计的单例.如何覆盖,模拟或切换注射到测试匕首模块 - 所以我可以创建这个简单的浓咖啡测试.
注意我还在MVP设计模式中写了所有这些,如果这有所不同.
TeleActivity
@Inject
TelePresenter mTelePresenter;
@Inject
public LoginStateManager mLoginStateManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ButterKnife.bind(this);
DaggerInjectorTele.get().inject(this);
mTelePresenter.setTeleDependencies(this);
Intent intent = getIntent();
String searchId = null;
if (intent != null) {
searchId = intent.getStringExtra(Constants.SEARCH_ID);
}
mTelePresenter.onCreateEvent(searchId,
Helper.makeAuthorizationHeader(
// CRASH Null pointer
mLoginStateManager.getBaseLoginResponse().getAccessToken()));
}
Run Code Online (Sandbox Code Playgroud)
浓咖啡
@LargeTest
@RunWith(AndroidJUnit4.class)
public class TeleTest {
@Rule
public ActivityTestRule<TeleActivity> mActivityTestRule = new ActivityTestRule(
TeleActivity.class) {
@Override
protected void beforeActivityLaunched() {
super.beforeActivityLaunched();
TeleActivity teleActivity = (TeleActivity)getActivity();
//teleActivity …Run Code Online (Sandbox Code Playgroud) 我需要删除所有Android工作室"这可以更改为"警告标志.我知道我可以使用滑块从检查到语法减少所有警告标志.
我不知道Syntax是否涵盖了所有非样式警告,或者它是否还包含实际警告.如果是的话,你可以把我这样说的文件链接到我吗?我需要实际的证明.我找不到太多关于语法警告突出显示的内容.
我可以忽略这些,没问题,但我看到我的团队正在将这些视为真正的警告.当你使用现有的代码库和团队时......我们浪费了大量的个人风格错误.我喜欢if(boolean == false),因为它是CLEAR.很多这些建议使代码,流血的边缘1980年代风格,保存每个字符有效,但可读...好.. 1980年代码..
例如,我们花了半个小时试图弄清楚if语句中是否有错误,因为它"可以"简化了sorta.
或者我的收藏夹,它告诉你改变它,然后告诉你改回来..
也是的,我知道我可以添加抑制,这会导致我的同事Eclipse出错...