dependencies {
implementation 'com.android.support:support-annotations:28.0.0'
}
注解项如下:
- @NonNull@Nullable@StringRes@DrawableRes@DimenRes@ColorRes@InterpolatorRes@AnyRes@ColorInt@MainThread@WorkerThread@BinderThread@UiThread@AnyThread@IntRange@FloatRange@Size@RequiresPermission@CheckResult@CallSuper@IntDef@StringDef@Keep@VisibleForTesting@RestrictTo@SdkConstant
import android.support.annotation.NonNull;
...
@NonNull
@Override
public View onCreateView(String name, @NonNull Context context,
@NonNull AttributeSet attrs) {
...
}
...
@StringRes
public abstract void setTitle(@StringRes int resId)@IntRange
public void setAlpha(@IntRange(from=0,to=255) int alpha) { ... }
@FloatRange
public void setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) {...}
@Size
void getLocation(View button, @Size(min=1) int[] location) {
button.getLocationOnScreen(location);
}
@RequiresPermission
@RequiresPermission(Manifest.permission.SET_WALLPAPER) public abstract void setWallpaper(Bitmap bitmap) throws IOException;
@RequiresPermission(allOf = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_MEDIA_LOCATION})
public static final void copyImageFile(String dest, String source) {
//...
}
@RequiresPermission.Read(@RequiresPermission(READ_HISTORY_BOOKMARKS))
@RequiresPermission.Write(@RequiresPermission(WRITE_HISTORY_BOOKMARKS))
public static final Uri BOOKMARKS_URI = Uri.parse("content://browser/bookmarks");
@SdkConstant
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) @RequiresPermission(Manifest.permission.CALL_PHONE) public static final String ACTION_CALL = "android.intent.action.CALL";@CheckResult
@CheckResult(suggest="#enforcePermission(String,int,int,String)") public abstract int checkPermission(@NonNull String permission, int pid, int uid);@CallSuper
使用 @CallSuper 注解可验证重写方法是否会调用该方法的超类实现。以下示例为 onCreate() 方法添加了注解,以确保所有重写方法实现都会调用 super.onCreate():
@CallSuper
protected void onCreate(Bundle savedInstanceState) {
}
@VisibleForTesting
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
void myMethod() { ... }
待补充。。。
参考:https://developer.android.google.cn/studio/write/annotation



