安卓开发中遇到问题记录贴(二)

1、PictureSelector

打开相册空白页-图片不显示
glide更新到对应版本

2、http请求失败

使用Nohttp请求接口时候低版本手机正常,高版本手机一直提示请求失败
完美解决Android 9.0以上HTTP网络请求被限制问题

  • 查看使用的http方式请求还是Https
  • 安卓9.0以上系统对Http方式进行了限制
  • 需要在清单文件<Application中加入
    android:usesCleartextTraffic="true"
    android:usesCleartextTraffic指示应用程序是否打算使用明文网络流量,例如明文HTTP。

3、使用post进行raw类型数据请求

http数据请求有from-data和raw请求
其中from-data就是常见的键值对请求
raw接口请求常要求:
所有的接口要求:
⚫采用 POST 提交
⚫ CotentType: application/json
即提交的接口数据需要时json串形式

				var putPositionNum7="2,5,8"
				val obj = JSONObject()
                var jsonArray=JSONArray()
                var list_pins= putPositionNum7.split(",")
                list_pins.forEach {
                    jsonArray.put(it)
                }
                obj.put("laneNumber", ced_seven.text.toString())
                obj.put("startType", startType7)
                obj.put("pins",jsonArray)
                obj.put("status",statue7)
                var json=obj.toString()
                

获取json:
{“laneNumber”:“4”,“startType”:“0”,“pins”:[“2”,“5”,“8”],“status”:“2”}
其中我是用的网络请求方式为nohttp框架:
框架提供raw方法为:

   mRequest.setDefineRequestBodyForJson(json)

4、安卓应用对接应用宝微下载

安卓清单文件在需要被拉起的页面下设置scheme:

  <activity
            android:name=".ui.guide.AdvertisementActivity"
            android:launchMode="singleTask"
            android:theme="@style/launcher">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>
            <!-- 关于微下载-->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="aigeeducationweekup" />
            </intent-filter>
        </activity>

由于我这里跳转的是启动页,已有自己的< intent-filter> 所以在设置scheme的时候需要新建一个< intent-filter> 否则会出现运行手机页面找不到应用logo的情况

  • BROWSABLE的意思就是浏览器在特定条件下可以打开你的activity
    然后下一步,设置应用宝开发平台的scheme信息:
  • 这一步需要注意:平台上添加的scheme需要添加后缀:// 即:你的scheme值://
    在这里插入图片描述

5、Android Studio 3.4.1中对ViewPager和TabLayout的更新

(此处为studio更新后修改老项目时候代码报错时候遇到的问题记录)

  • com.android.support.v4.view.ViewPager提示不存在该类或程序闪退
    Android Studio在新的版本中对android.support中的内容进行了更新。com.android.support.v4.view.ViewPager变成了androidx.viewpager.widget.ViewPager。程序可以正常运行
  • Android Studio 3.4.1中android.support.design.widget.TabLayout改为com.google.android.material.tabs.TabLayout

7、安卓实现滑动退出使用SwipeBackActivity (示例见扬灵教育用户端)

使用示例
BaseActivity继承SwipeBackActivity
默认允许,设置不允许使用setSwipeBackEnable(false)//是否允许滑动退出

8、安卓10.0保存图片到本地(参考美魔镜appAI换脸页面)

使用示例

9、安卓10.0中QQ分享失败(Android 10存储权限问题)

在清单文件application中加入android:requestLegacyExternalStorage="true"
使用示例

10、平板开发过程中遇到的问题

  • 适配问题
    使用screen match或者autosize(具体使用方法详见百度)
    布局的适配记得要尽量使用权重

11、Android 8.0 QQ分享失败

在这里插入图片描述

12、蓝牙

https://www.jianshu.com/p/a27f3ca027e3

https://www.jianshu.com/p/a27f3ca027e3

13、腾讯IM

腾讯聊天界面 图片和视频不显示缩略图
glide的问题

imageview.setImageURI(Uri.fromFile(new File(这里填路径字符串)));

14、设置Tablayout默认选中后 不会自动滚动

//使滚动
Thread{
    Thread.sleep(500)
    val vg =
        tablayout_index.getChildAt(0) as ViewGroup
    var tabLayoutWidth = 0
    var temp: View?
    for (i in 0 until index) {
        temp = vg.getChildAt(i)
        if (temp != null) {
            tabLayoutWidth += temp.width
        }
    }
    tablayout_index.smoothScrollTo(tabLayoutWidth, 0)
}.start()

注意:每个tab的宽度要用(tablayout_index.getChildAt(0) as ViewGroup).getChildAt(i) .width

15、微信第三方平台应用签名:

MD5去掉冒号大写改小写

16、将Edittext设置光标位于末尾

edittext.setSelection(1)//将光标移至文字末尾

17、Android TV开发

请参考《安卓Studio开发TV项目记录》

18、安卓studio连接不上模拟器

打开studio中的Terminal输入对应的信息:

夜神模拟器:adb connect 127.0.0.1:62001

逍遥安卓模拟器:adb connect 127.0.0.1:21503

天天模拟器:adb connect 127.0.0.1:6555 

海马玩模拟器:adb connect 127.0.0.1:53001

网易MUMU模拟器:adb connect 127.0.0.1:7555

原生模拟器:adb connect (你的IP地址)5555
19、安卓10.0 使用Glide加载图片一直有的显示有的不显示

清单文件添加:

 android:usesCleartextTraffic="true"
 android:requestLegacyExternalStorage="true"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值