第3个月:所有的ACTION _权限_依赖_思路

讲师寄语:

老师文采不好,随便唠叨几句,学习之所以感觉烦躁,是因为学习没有方式,学的东西越多,整理的也要越多,相信大家都可以高薪就业。文采很差。。。

一.所有的权限:

	联网的权限:<uses-permission android:name="android.permission.INTERNET"/>SD卡权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>SD卡权限:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
	读取联系人的权限:<uses-permission android:name="android.permission.READ_CONTACTS"/>
	读取短信的权限: <uses-permission android:name="android.permission.READ_SMS"></uses-permission>

1.相机权限:

<uses-permission android:name="android.permission.CAMERA"></uses-permission>SD卡权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>SD卡权限:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

2.GPS权限:

  <!--用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <!--用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

3.高德地图定位权限:

<!--用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <!--用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
    <!--获取运营商信息,用于支持提供运营商信息相关的接口-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
    <!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
    <!--用于访问网络,网络定位需要上网-->
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <!--用于读取手机当前的状态-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
    <!--写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <!--用于申请调用A-GPS模块-->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>

4.高德地图2D权限:

 //地图SDK(包含其搜索功能)需要的基础权限
     
<!--允许程序打开网络套接字-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许程序设置内置sd卡的写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<!--允许程序读写手机状态和身份-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />     
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
   

5.蓝牙权限:

  <!--用于申请获取蓝牙信息进行室内定位-->
    <uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>
    <!--用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
    <!--用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

二.所有的依赖:

1.recyclerview:

implementation ‘com.android.support:recyclerview-v7:28.0.0’
或者 implementation ‘com.android.support:recyclerview-v7:27.1.1’

2.xrecyclerview:

implementation ‘com.android.support:recyclerview-v7:28.0.0’
api(‘com.jcodecraeer:xrecyclerview:1.5.9’) {
exclude group: ‘com.android.support’
}

3.slidemenu:需要导入library

4.高德地图:

在这里插入图片描述

5.okhttp:

implementation ‘com.squareup.okhttp3:okhttp:3.12.1’

6.volley:

implementation ‘eu.the4thfloor.volley:com.android.volley:2015.05.28’

7.gson:

implementation’com.google.code.gson:gson:2.8.2’

8.eventbus:

implementation ‘org.greenrobot:eventbus:3.1.1’

9.otto:

implementation ‘com.squareup:otto:1.3.8’

10.picasso

implementation’com.squareup.picasso:picasso:2.5.2’

11.glide:

implementation ‘com.github.bumptech.glide:glide:3.7.0’

12.tabLayout:

implementation ‘com.android.support:design:25.2.0’

13.垂直tabLayout:

implementation ‘q.rorbin:VerticalTabLayout:1.2.5’

13.banner轮播图:

implementation ‘com.youth.banner:banner:1.4.10’

三 .所有的Action:

1.打开图库:Intent.ACTION_PICK

在这里插入图片描述

2.打开相机:MediaStore.ACTION_IMAGE_CAPTURE

在这里插入图片描述

3.打开摄像机:MediaStore.ACTION_VIDEO_CAPTURE

在这里插入图片描述

4.蓝牙:

(1)使用隐士意图打开蓝牙
BluetoothAdapter.ACTION_REQUEST_ENABLE:请求打开本设备蓝牙
BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE:允许本设备蓝牙被扫描
BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION:允许本设备蓝牙被扫描时长
(2)广播接收者的Action频道
BluetoothDevice.ACTION_FOUND:扫描到远程设备
BluetoothAdapter.ACTION_DISCOVERY_FINISHED:本设备扫描完成
BluetoothDevice.ACTION_BOND_STATE_CHANGED:远程设备状态发生改变
(3)获得扫描到的远程设备
BluetoothDevice.EXTRA_DEVICE:获得远程设备
(4)配对状态
BluetoothDevice.BOND_BONDED:远程设备绑定成功
BluetoothDevice.BOND_BONDING:远程设备绑定中
BluetoothDevice.BOND_NONE:远程设备绑定失败

四.常用的内容提供者

  • 1.获取音频:
    (1)uri:MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
    (2)字段:TITLE:歌名 ARTIST 歌手 DURATION 总时长 DATA 地址 String[] strs= new String[]{MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media.DURATION,MediaStore.Audio.Media.DATA};
  • 2.获取视频:
    (1)uri:MediaStore.Video.Media.EXTERNAL_CONTENT_URI
    (2)字段:TITLE:歌名 ARTIST 歌手 DURATION 总时长 DATA 地址
    String[] strs= new String[]{MediaStore.Video.Media.TITLE,MediaStore.Video.Media.ARTIST,MediaStore.Video.Media.DURATION,MediaStore.Video.Media.DATA};
  • 3.获取图库:
    (1)uri:MediaStore.Images.Media.EXTERNAL_CONTENT_URI
    (2)字段:
    MediaStore.Images.Media.TITLE;图片名称
    MediaStore.Images.Media.SIZE;大小
    MediaStore.Images.Media.DATA;地址
  • 4.获取联系人: (1)uri:ContactsContract.CommonDataKinds.Phone.CONTENT_URI
    (2)字段:Phone.DISPLAY_NAME:姓名 NUMBER:电话 String[] strs= new
  • 5.获取短信:
    (1)uriTelephony.Sms.CONTENT_URI
    (2)字段:ADDRESS 地址 BODY 内容 String[] strs= new

备注:1 2 3 读sd卡的权限 4 读联系人的权限 5 读短信的权限

五.思路

1.SurfaceView画画

步骤1:自定义类继承SurfaceView实现SurfaceHolder.Callback接口
步骤2:定义成员变量SurfaceHolder/Canves/Paint/Thread
步骤3:在第2个构造方法中获得SurfaceHolder对象并addCallback()
步骤4:在surfaceCreated生命周期中启动线程
步骤5:在xml布局中使用自定义的SurfaceView

2.SurfaceView+MediaPlayer播放视频

步骤1:在xml布局中定义SurfaceView标签
步骤2:初始化MediaPlayer
步骤3:初始化View获得SurfaceHolder对象并addCallback()
步骤4:在surfaceCreated生命周期中将MediaPlayer放到SurfaceView中mediaPlayer.setDisplay(holder);

3.GPS定位

步骤1:获得LocationManager: getSystemService()
步骤2:设置监听,监听位置的变化: manager.requestLocationUpdates()

4.高德地图定位功能:

步骤1:添加依赖上面有
步骤2:清单文件准备工作:https://lbs.amap.com/api/android-location-sdk/guide/android-location/getlocation
步骤3:创建AMapLocationClient对象
步骤4:为client对象设置监听AMapLocationListener,获得位置信息
步骤5:为client对象配置参数
步骤6:开始定位:locationClient.startLocation();

5.高德地图显示2D地图:

步骤1:添加依赖上面有
步骤2:清单文件准备工作:https://lbs.amap.com/api/android-sdk/guide/create-map/show-map
步骤3:显示2D地图
3.1 布局文件中引用MapView标签
3.2 通过MapView获得Amap对象
3.3 5个生命周期
步骤4:设置定位蓝点

6.蓝牙客户端

步骤1:打开蓝牙
步骤2:扫描远程设备,扫描到一个远程设备添加到集合中
步骤3:扫描完毕之后,设置适配器展示远程设备
步骤4:点击item配对远程设备
步骤5:绑定成功后,开启线程传输数据

7.蓝牙客服务端

步骤1:打开蓝牙
步骤2:当和其他设备配对成功后,开启线程传输数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值