Android 11 兼容性 本期我们将重点探讨 Android 11 兼容性这一对所有开发者都非常重要的主题。 更轻松实现应用与 Android 11 兼容 在每次版本更新中,我们都希望尽量减少应用适配 Android 所需的工作。 在 Android 11 中,我们添加了新的流程、开发者工具和版本发布里程碑,以帮助我们最大程度地减少平台更新带来的影响,更轻松实现应用的兼容性。 现在,我们在 Android 11 中添加了 Resource Loader 框架,感谢向我们提出这些需求的开发者! 在 Android 11 中,我们还会将更多此类平台变更添加到新的 兼容性框架 中。 什么是兼容性框架? 您可以使用全新开发者工具,针对包含在兼容性框架内的变更对应用进行测试和调试。
Kotlin、Java 编程语言和 C++ 共同构成了 Android API 和日常应用开发工具的基础。 本期我们将深入探讨 Android 三种核心语言的所有最新资讯: 从 Kotlin 协程到 Android 11 新的 Java API,再到更出色的本地开发工具,最新版本中包含了很多内容。 世界各地的 Android 开发者向我们反馈称,Kotlin 极具表现力,能帮助大家编写更高质量的应用,而且可以轻松在现有的 Java 代码库中使用,因此都对 Kotlin 赞赏有加。 Android 应用。 对于 Android 11,我们还更新了 Android 运行时间 (Android runtime),以通过 I/O 预取 加快应用的启动速度。 C++ 开发者的体验也在不断改善。
作者 / Android 产品经理 Jamal Eason 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份 、隐私和安全 、 Android 11 兼容性 、 开发语言 重要更新 11 Weeks of Android 期间,我们在 Android Studio 中推出了一系列开发者工具更新。 视频与文档资源 如要查看 Android Studio 近期版本中有关 Android 开发者工具新增功能的概况,请观看 #Android11 发布会中精彩而又深入的演示。 腾讯视频地址:v.qq.com/x/page/h313… Android 开发工具中的新增功能 设计 在 Android 开发者工具周,我们首先重点介绍了面向开发者的应用设计工具。 Android 模拟器 您还可以参阅下方技术内容,了解更多关于使用 Android 模拟器的最佳实践和实用建议: 利用 Android 模拟器针对 Android 11 开发: 概述 Android 模拟器的新增功能
- 10-17 09:51:58.930: D/STATUSBAR-NetworkController(2441): refreshSignalCluster: data=-1 bt=false 开发中遇到了上述错误 奇怪的空指针异常 今天出现一个奇怪的错误, 很简单空指针异常, 我只负责编码, 不管编译, 然后上传到SVN上, 结果出了下面的错误 , 看了半天 , 木有看懂 : 11-13 10:39:53.337 11-13 10:39:53.337: E/AndroidRuntime(11030): at com.ivt.mHealth.widget.aa.b(Unknown Source) 11-13 10 39:53.337: E/AndroidRuntime(11030): at com.ivt.mHealth.widget.DisplaySurfaceView.a(Unknown Source) 11 EXCEPTION: Thread-398 11-13 10:41:57.432: E/AndroidRuntime(11507): java.lang.NullPointerException 11
/.Settings: task=TaskRecord{42392278 #448 A com.android.settings U 0} V/ActivityManager( 500): We have log/main W/ADB_SERVICES(10028): adb: unable to open /proc/10028/oom_adj D/dalvikvm(23292): threadid=11 : created from interp D/dalvikvm(23292): start new thread D/dalvikvm(23292): threadid=11: notify debugger D/dalvikvm(23292): threadid=11 (Thread-24538): calling run() octopus@octopus:~$ 查看日志缓冲区信息 : 使用 entry is 5120b, max payload is 4076b octopus@octopus:~$ 加载日志缓冲区 : 使用 adb logcat -b 缓冲区类型 命令; -- Android
作者 / Android 与 Google Play 游戏产品管理主管 Greg Hartrell 在往期 #11WeeksOfAndroid 系列文章中我们介绍了 联系人和身份、隐私和安全、Android 11 兼容性 、开发语言、Jetpack、Android 开发者工具 、Google Play 应用分发与盈利,本期将聚焦 游戏开发 ,帮助您更好地了解您的游戏表现,覆盖更多设备和新受众,并通过 Google Android 游戏开发扩展 : 对于使用 C/C++ 在多个平台上构建游戏的开发者,我们持续扩展 Visual Studio,包括增加 Visual Studio 2019 支持并推出独立 Android 注册开发者预览版,并请关注我们即将推出的公开测试版。 覆盖更多设备和用户 Android Performance Tuner : 更方便地为更多 Android 用户提供优质的游戏体验。 数百万玩家现在拥有一个全新平台级好友列表,开发者可以访问该列表来建立和增强游戏内好友网络,并让您的游戏出现在 Play Games 应用的新集群中。
概述 android 的消息通知还是很方便的,它会出现在窗体的顶部,并给出提示。常见的短信就是这样的通知方式。本文我们尝试实现一个这样的演示。 演示截图: ? android以服务的形式提供给用户操作接口。
android开发中使用AndroidManiFest.xml静态注册的BroadCastReceiver没有作用是什么原因? to discover and pair bluetooth devices) android蓝牙开发——权限 为了在应用程序中使用蓝牙功能,我们至少需要声明两方面的权限:BLUETOOTH和BLUETOOTH_ADMIN 大多数应用程序必须具有这个权限才能够发现本地蓝牙设备,这个权限保护的其他能力(除了发现本地设备)不应该被使用,除非你的应用程序是在用户请求的时候能够修改蓝牙设置的管理者。 你需要在应用程序的manifest文件中声明程序的蓝牙权限。 </manifest> 关于声明应用程序权限的信息,请看<uses-permission>参考。
SoundPool播放的音效要小于7秒 , 否则会出现加载失败的现象; 在Android平台上使用的即时文件越小越好 , 必要的时候可以降低采样频率或者将立体声改为单声道;
案例演示 XML布局文件 : <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/nine_patch > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="
注意一个错误 : 已安装具有该名称和不同签名的数据包 , 早上测试人员报告突然出现这个问题, 在开发的时候我直接将eclipse上编译的版本放到了服务器上, 最后出现了这个问题, 开发的时候明明是好的啊 又发现一个BUG : 在弹出更新对话框, 点击确定下载完毕之后会弹出系统自带的替换应用程序对话框, 在这里点取消的话就会一直卡在Splash界面. 设置一个跳转机制解决这个问题. > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width > <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android > <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android
一、Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成。 三、Android系统架构分为四层: 应用层:java编写运行在虚拟机上的程序。 应用框架层:编写应用时使用的API框架。 九、Android应用解析 1、Activity 一个Activity通常就是一个单独的屏幕,每个活动都被实现为一个独立的类。 2、Intent Android用Intent这个特殊类实现在Activity和Activity之间的切换。 4、Service 十、Android应用程序的生命周期 [img]http://images.51cto.com/files/uploadimg/20100105/145010651.jpg[/img
BluetoothSocket 和 BluetoothServerSocket 类似于Java中的套接字的 Socket 和 ServerSocket;
配置文件 配置 ActionBar 启用 和 关闭 配置文件中指定 targetSdkVersion : 在创建应用的时候, 指定的 targetSdkVersion 大于 3.0 版本, 就会默认启用 并在图标上添加左箭头; -- setDisplayOption(int) : 设置 ActionBar 的显示选项; -- setDisplayShowHomeEnable(boolean) : 设置是否显示应用程序图标 ; -- setHomeButtonEnable(boolean) : 设置是否将应用程序图表转换为可点击按钮; 2. 相关代码 设置不显示应用图标并添加左箭头 : actionBar = getActionBar(); /* 设置将左侧图标设置成可点击图标, 并添加一个左箭头 */ actionBar.setDisplayHomeAsUpEnabled (true); /* 不显示应用程序图标 */ actionBar.setDisplayShowHomeEnabled(false); 设置点击图表回调事件 : ActionBar 中的图表代表的组件
需要权限 android.permission.BLUETOOTH : 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于对配对后进行操作; android.permission.BLUETOOTH_ADMIN : 允许程序发现和配对蓝牙设备, 该权限用来管理蓝牙设备, 有了这个权限, 应用才能使用本机的蓝牙设备, 主要用于对配对前的操作; 优先级 : BLUETOOTH权限是BLUETOOTH_ADMIN权限的前提 蓝牙栈自动进行管理; String ACTION_ACL_CONNECTED : android.bluetooth.device.action.ACL_CONNECTED,与远程设备建立了ACL连接发出的广播 本地设备和远程设备之间的通信可以被认证和加密; 这个连接不是已经连接成功, 时刻保持连接状态, 这个连接的作用是, 下次连接的时候不用再次建立新的蓝牙连接; 绑定中 : intBOND_BONDING, 值为11 ", 几乎该类中的每个广播都有该附加域; 蓝牙名称 : StringEXTRA_NAME, 蓝牙名称附加域, 存放蓝牙名称, 值为"android.bluetooth.device.extra.NAME
Android开发之《Android应用开发揭秘》UI事件汇总 /* * Android开发之《Android应用开发揭秘》UI事件汇总 * 北京Android俱乐部群:167839253 * 还好,现在沉淀下来,继续android开发的征程。 以下是Android应用开发揭秘这本书第四章的关于UI的事件处理的总结。基本上都是可以复用的代码。存着日后方便。 android:id="@+id/color" android:orderInCategory="0" android:title="蓝色" /> <item android:id="@+id/ ="2" android:title="青色" /> <item android:id="@+id/color" android:orderInCategory="3" android:title //设置显示比例类型 //myImageView.setScaleType(ImageView.ScaleType.FIT_CENTER); return myImageView; } } 11
Android功能快速上线神器! 推荐一款开源的轻应用开发框架RapidView:[https://github.com/Tencent/RapidView) 用过的都说好,神器! 简介 RapidView是一套用于开发Android客户端界面、逻辑以及功能的开发组件。 布局文件(XML)及逻辑文件(Lua)可以运行时执行,主要用以解决Android客户端界面、逻辑快速更新以及快速开发的诉求。 RapidView的XML语法规则与Android原生XML类似,而写逻辑的Lua部分除语言语法规则外,可以直接使用我们提供的Java API以及Android原生API,因此熟悉Android客户端开发的开发者上手成本会非常小 除了解决动态更新问题外,RapidView希望Android开发者能够以更快的速度开发产品功能需求,因此我们在语法和开发方式上做了一些改变,期望开发者能够实现:小功能极速开发、大功能极速上线。
Closeable是可以关闭的数据源或者目标, 实现该接口必须重写close()方法, 调用close()方法可以释放该对象保存的资源;
UI = 控件 + 布局,上一节介绍的是简单控件,这里主要介绍一下Android应用界面开发中的布局。 五大布局 LinearLayout:线性布局。 RelativeLayout:相对布局。 android:gravity:该属性用于控制它所包含的子元素的对齐方式。 外边距 android:marginLeft:控件距布局左边界的距离。 android:marginTop:控件距布局上边界的距离。 android:marginRight:控件距布局右边界的距离。 android:marginBottom:控件距布局下边界的距离。 android:paddingRight:控件中内容距控件右边界的距离。 android:paddingBottom:控件中内容距控件下边界的距离。 AbsoluteLayout 运行Android应用的手机往往千差万别,因此屏幕大小、分辨率都有可能有很大差异,使用绝对布局很难兼顾不同屏幕大小、分辨率问题,因此AbsoluteLayout布局已经过时
文章目录 LruCache 应用场景 LruCache 算法原理 LruCache 实现 LruCache 参考 LruCache 应用场景 ---- 1. Android 中的 LruCache : 其缓存空间就是一个 LinkHashMap 链表 , 当调用 put 方法向其中放入新元素时 , 就会判断这个 LinkHashMap 链表是已满 , 如果没有空间 并保证其插入取出顺序的一致性 ; 当调用 get 方法获取其中的元素时 , 会将该元素提取到队头中 , 这符合了 LRU 算法的要求 ; LruCache 参考 ---- LruCache 参考 : ① Android