Android 常用的依赖和权限

本文介绍了Android应用开发中常见的权限声明及多个实用依赖库,包括网络访问、文件读写等基本权限配置方法,以及ButterKnife、Glide、Retrofit等流行库的引入与使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的权限:

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

常用的依赖:


 1. *butterknife* 

    compile ‘com.jakewharton:butterknife:8.8.1’  annotationProcessor

    ‘com.jakewharton:butterknife-compiler:8.8.12. *imageloader* 

 compile ‘com.nostra13.universalimageloader:universal-image-loader:1.9.53. *TabLayout—design包导入*  
                                                                            compile ‘com.android.support:design:26+’

 4. *gson包导入*  

compile ‘com.google.code.gson:gson:2.2.45. *pull-to-refresh上下拉刷新控件*  

    compile ‘com.github.userswlwork:pull-to-refresh:1.0.06. *Banner轮播图控件*  

compile ‘com.youth.banner:banner:1.4.97. *xrecyclerview*  

    implementation 'com.jcodecraeer:xrecyclerview:1.5.9'

8.  *RecycleView*

    implementation 'com.android.support:recyclerview-v7:27.0.0'

9.  *OkHttp3*   

  implementation 'com.squareup.okhttp3:okhttp:3.3.0'

10.  *gson*

     implementation 'com.google.code.gson:gson:2.6.2'

11.  *黄油刀*

       导入jar包  compile 'com.jakewharton:butterknife:8.4.0'

       调用黄油刀  
            annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

       指定黄油刀的位置
            classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

12. *eventbus*

    compile 'org.greenrobot:eventbus:3.0.0'

13. *RxJava*

       compile 'io.reactivex:rxjava:1.0.14'
       compile 'io.reactivex:rxandroid:1.0.1'

14. *Retrofit*

    compile 'com.squareup.retrofit2:retrofit:2.0.2'
    compile 'com.squareup.retrofit2:converter-gson:2.0.2'
    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'

15. *glide*

   compile 'com.github.bumptech.glide:glide:3.7.0'

16. *gif动态图(GifImageView)*

    compile ‘pl.droidsonroids.gif:android-gif-drawable:1.2.617. *photoview*

  compile 'com.bm.photoview:library:1.4.1'

18. *circleImageview*

   compile 'de.hdodenhof:circleimageview:2.1.0'

19. *marqueeview*

   compile 'com.sunfusheng:marqueeview:1.3.3'

20. *高德地图*

    implementation files('libs/AMap_Location_V3.8.0_20180201.jar')
    implementation files('libs/Amap_2DMap_V5.2.0_20170627.jar')
    implementation files('libs/Android_Map3D_SDK_V6.0.1_20180309.jar')

21. *fresco*

     implementation 'com.facebook.fresco:fresco:+'

    implementation 'com.facebook.fresco:imagepipeline-okhttp3:0.14.1'
<think>好的,用户想了解Flutter在Android常用的一些权限。首先,我需要回忆一下Flutter开发中权限处理的相关知识。记得在Flutter中,处理权限通常需要使用第三方插件,比如permission_handler。这个插件可以帮助开发者请求检查各种权限。 接下来,我需要列出Android应用常见的权限。根据经验,常用权限包括存储、摄像头、位置、麦克风、联系人、电话、短信、传感器等。每个权限都有不同的保护级别,分为普通权限危险权限。危险权限需要动态申请,而普通权限只需要在AndroidManifest.xml中声明即可。 然后,我需要考虑用户可能的实际使用场景。例如,如果用户需要访问相机拍照,就需要CAMERA权限;如果要读取存储中的文件,就需要READ_EXTERNAL_STORAGE。位置权限可能分为粗略精确两种,需要根据应用需求选择。此外,后台位置权限可能需要单独处理。 还需要提到如何在Flutter中具体实现权限的请求。例如,使用permission_handler插件,先检查权限状态,再请求权限,处理被拒绝的情况等。可能还需要给出代码示例,但用户没有明确要求代码,所以简要说明步骤即可。 另外,需要注意Android版本差异。例如,在Android 10及以上,作用域存储可能影响存储权限的处理方式,可能需要适配。同时,某些权限在更高版本中可能被废弃,需要提醒用户查阅最新文档。 最后,要确保回答结构清晰,分点列出常用权限,并给出使用场景注意事项,帮助用户全面了解。可能还需要提到将权限添加到AndroidManifest.xml中的方法,以及处理权限的最佳实践,比如在需要时请求、解释权限用途等。</think>在 Flutter 开发 Android 应用时,常用权限主要涉及以下几个类别。以下是按使用场景分类的权限说明实现要点: --- ### 一、基础权限声明 在 `android/app/src/main/AndroidManifest.xml` 中添加权限声明: ```xml <uses-permission android:name="android.permission.CAMERA" /> <!-- 其他权限同理 --> ``` --- ### 二、常用权限清单 #### 1. **存储权限** - **读写外部存储** ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ``` - *场景*:保存图片、读取本地文件 - *注意*:Android 10+ 需改用 `Scoped Storage` 方案 #### 2. **摄像头权限** - **访问摄像头** ```xml <uses-permission android:name="android.permission.CAMERA"/> ``` - *场景*:拍照、扫码功能 #### 3. **位置权限** - **粗略位置** ```xml <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> ``` - **精确位置** ```xml <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> ``` - *场景*:地图定位、GPS 导航 - *注意*:后台定位需额外申请 `ACCESS_BACKGROUND_LOCATION` #### 4. **麦克风权限** - **录音权限** ```xml <uses-permission android:name="android.permission.RECORD_AUDIO"/> ``` - *场景*:语音输入、音频录制 #### 5. **网络权限** - **基础网络访问** ```xml <uses-permission android:name="android.permission.INTERNET"/> ``` - *场景*:API 请求、加载网络资源 --- ### 三、敏感权限动态申请 **危险权限(Dangerous Permissions)需运行时请求** 使用 `permission_handler` 插件实现: 1. 添加依赖到 `pubspec.yaml`: ```yaml dependencies: permission_handler: ^11.0.0 ``` 2. 代码示例: ```dart // 检查权限状态 var status = await Permission.camera.status; if (status.isDenied) { // 请求权限 await Permission.camera.request(); } // 处理永久拒绝情况 if (status.isPermanentlyDenied) { openAppSettings(); // 引导用户到设置页 } ``` --- ### 四、特殊权限 #### 1. **电话权限** - 读取通话状态 ```xml <uses-permission android:name="android.permission.READ_PHONE_STATE"/> ``` #### 2. **短信权限** - 读取短信 ```xml <uses-permission android:name="android.permission.READ_SMS"/> ``` #### 3. **传感器权限** - 访问身体传感器 ```xml <uses-permission android:name="android.permission.BODY_SENSORS"/> ``` --- ### 五、最佳实践 1. **按需申请**:仅在用户触发相关功能时请求权限 2. **解释用途**:通过弹窗说明权限必要性(尤其针对敏感权限) 3. **版本适配**:Android 13+ 需单独申请通知权限 `POST_NOTIFICATIONS` 4. **隐私政策**:需在应用内提供隐私政策链接(Google Play 审核要求) 可通过 `permission_handler` 的 `ServiceStatus` 接口检查硬件支持情况(如是否具备 GPS 模块)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉莫帅

你的鼓励将是我的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值