设置Android Studio导入类时不自动使用全限定名

本文介绍如何在Android Studio中调整自动导入包的设置,避免使用全限定类名,实现更简洁的代码风格。

今天用 Android Studio2.2 写代码时发现每次需要自动导入包时总是会对每个字段或注解使用全限定名,如下图:
这里写图片描述

导致写完后的代码很难看,本人有点小小的强迫症,还是喜欢Eclipse的那种自动导入包的风格,于是百度google一把,终于在StackOverflow上找到了答案,操作步骤如下:
(1)File->Setting->Editor->General->Auto Import,勾选上[Add unambiguous imports on the fly],如图:这里写图片描述
(2)File->Setting->Editor->Code Style->Java,把选项 [Use fully qualified class names]选项上的勾去掉:这里写图片描述

通过这两步即可实现自动导入包,而不是对每个字段或注解自动使用类的全限定名,如图:
这里写图片描述


参考文章:http://stackoverflow.com/questions/22701789/android-studio-import-class-action-adds-fully-qualified-name

Process: com.android.car.activityresolver, PID: 2135 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.dfl.threedhmi/com.unity3d.player.UnityPlayerActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2065) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1933) at android.app.Activity.startActivityAsUser(Activity.java:5475) at com.android.internal.app.chooser.DisplayResolveInfo.startAsUser(DisplayResolveInfo.java:188) at com.android.internal.app.ResolverActivity.safelyStartActivityInternal(ResolverActivity.java:1291) at com.android.internal.app.ResolverActivity.safelyStartActivity(ResolverActivity.java:1266) at com.android.internal.app.ResolverActivity.onTargetSelected(ResolverActivity.java:1239) at com.android.internal.app.ResolverActivity.startSelected(ResolverActivity.java:1020) at com.android.internal.app.ResolverActivity$ItemClickListener.onItemClick(ResolverActivity.java:2091) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1187) at com.android.car.activityresolver.CarResolverActivity.lambda$onGlobalLayout$0(CarResolverActivity.java:67) at com.android.car.activityresolver.-$$Lambda$CarResolverActivity$AOM9TRoth1gwhdS_-b31gpAZzmc.onClick(Unknown Source:2) at android.view.View.performClick(View.java:7448) at android.view.View.performClickInternal(View.java:7425) at android.view.View.access$3600(View.java:810) at android.view.View$PerformClick.run(View.java:28305) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7664) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
08-29
发生crash的原因,通俗易懂的方式 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: Process: com.smile.gifmaker, PID: 18519 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.smile.gifmaker/com.yxcorp.gifshow.tube.TubeRouterActivity}: java.lang.ClassNotFoundException: Didn't find class "com.yxcorp.gifshow.tube.TubeRouterActivity" on path: DexPathList[[zip file "/my_preload/del-app/kuaishou/com.smile.gifmaker.apk"],nativeLibraryDirectories=[/data/preapps-lib/kuaishou/lib/arm64, /my_preload/del-app/kuaishou/com.smile.gifmaker.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4255) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4569) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:126) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:179) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:114) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:86) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2902) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:282) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: at android.os.Looper.loop(Looper.java:387) 03-27 07:28:15.239382 18519 18519 E AndroidRuntime: a
04-01
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值