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

编程入门 行业动态 更新时间:2024-10-19 15:23:48

安<a href=https://www.elefans.com/category/jswz/34/1764436.html style=卓开发中遇到问题记录贴(二)"/>

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

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:

  <activityandroid: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、蓝牙

13、腾讯IM

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

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

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

//使滚动
Thread{Thread.sleep(500)val vg =tablayout_index.getChildAt(0) as ViewGroupvar tabLayoutWidth = 0var 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"

更多推荐

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

本文发布于:2024-03-13 12:21:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1733983.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:卓开发

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!