栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【注解】巧用Android注解提高代码质量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【注解】巧用Android注解提高代码质量

依赖
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
@NonNull
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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号