`
xsuo
  • 浏览: 123507 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Android M5 新特性

阅读更多
Android SDK M5 Release - API Changes Overview

AndroidManifest.xml


在AndroidManifest.xml文件,这里有几处改动。当移植一个应用程序到M5下,它会立即提醒你去修改!就像你下面看到的这些:
在AndroidManifest.xml文件中,参数为“class=”全部被”android:name=”替代。
在AndroidManifest.xml文件中,参数为”android:value=”全部被”anroid:name=”替代.
在AndroidManifest.xml文件中,参数为”android:id”全部被”android:name=”替代。
在<intent-filter>里,提供了<type>,<scheme>,<authority>和<path>标签,现在被单个的<data>标签和其使用属性:android:mimeType, android:scheme, android:host
和 android:path所各自替代.这里还增加了一个很有用的新属性android:port.如果不做改变,intent-fiters将不能够正常工作.

例子:
复制内容到剪贴板
代码:

<intent-filter>
<action android:value="android.intent.action.INSERT" />
<category android:value="android.intent.category.DEFAULT" />
<type android:value="vnd.android.cursor.dir/vnd.google.note"
</intent-filter>

替代以后:
复制内容到剪贴板
代码:
<intent-filter>
<action android:name="android.intent.action.INSERT" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.dir/vnd.google.note" />
</intent-filter>


Layout

在你正常工作之前,Layout 下的文件也需要更改动:
主要改动是:”id=”被android:id=替换,并且所有的”id=”都要改动.

Adapters

android.widget.SimpleCursorAdapter被进行改良:
现在支持ImageViews.
用户可以在Cursor里的指定任意一列,来把Cursor转换成String
做为选择,用户还能够直接用CursorToStringConverter进行转换.
FilterQueryProvider 能够通过这种模式产生过滤性查询,以支持 AutoCompleteTextView.
虽然SimpleCursorAdapter 仅只支持TextView和ImageView,但现在用户可以运用ViewBinder轻松增加支持以实现任何View种类
这里的一些新特性极大降低了操作困难,扩展了SimpleCursorAdapter或者其父类的运用


Widgets and Views
类:
android.widget.Page和 android.widget.PageTurner 被移除了.
android.widget.TabHost和android.widget.TabWidget目前为止,不被反对并且还能够被使用.
坐标:
“窗体坐标”,在android.view.View被呈现,其中有这样的字段(mWindwoLeft和mWindowTop)已经被移除.公共访问方法getWindowLeft(),getWindowTop(),getWindowRight()和getWindowBottom()也同样的都被移除了.
线程处理:
android.view.View 现在能让你在UI线程里发布一个Runnable,附带的方法有post(Runnable)postDelayed(Runnable, long). 在子类或者应用程序里
,这些能够被用作替代项去创建一个句柄.
同样你也能使用一个新的类(android.view.UIThreadUtilities)去正确处理UI线程.UI 线程需要时,在UI线程或者一大块代码,这个类让你去核对代码是否正确执行了.你也能使用android.app.Activity.runOnUIThread(Runnable) 这个更容易,从应用程序去实现.
事件
android.view.KeyEvent.KEYCODE_FN 被改名为android.view.KeyEvent.KEYCODE_ALT,同样android.view.KeyEvent.isFnPressed()也被改名为android.view.KeyEvent.isAltPressed().
android.view.View.setKeyListener()现在被改名为 android.view.View.setOnKeyListener().
一个View,能够通过设置(android.view.View.setClickable() 或者android:clickable在 XML里)去接受click事件.这些被使用,实例化,在LinearLayout上创建复杂的按钮

触摸方式:
触摸方式是一种操作方式,并不需要准确的给出焦点或者控制焦点(
例如像按钮这样的可控制的项目),因此用户有必要去了解其中某一项目是怎样输入的.
有一种拥有触摸能力的设备,这种设备将具有“触摸方式”,用户能够触及屏幕.
依照前面所说的,仅在视图上,如果isFocusableInTouchMode()返回为true,那说明此处被聚焦了.(例如像文本编辑组件),还有一些其它的视图如按钮,当被触摸时,也会被捕获其焦点.
如果用户点击方向键,像D键,设备将退出触摸方式,并且所有的视图都将变为聚焦.关于触摸方式和焦点处理在android.view.Viewj里面有更加详细的介绍。

请求焦点:
android.view.View.takeFocus()被移除了。取而代之的是android.view.View.requestFocus()中的一种形式.
requestFocus()现在表现的更像是老式的takeFocus()方法,并且包括返回一个boolean,表示是否被调用成功.
takeFocus()被requestFocus()取而代之.
在你的行为给计算机的指示为聚焦时,现有requestFocus()方法,它将一直工作,如果进入触摸方式,触摸行为产生聚焦指示,调用这个方法。
修正重写了的requestFocus()返回一个boolean来指示是否在视图上,你转发这个请求(通常都以这样的方式在转发调用之前放入一个返回语句去请求焦点).

滚动条:
经滚动条拖过以后,渐隐去的部分的能见度能被android.view.View.getTopFadingEdgeStrength(),,getLeftFadingEdgeStrength(),
getBottomFadingEdgeStrength()getRightFadingEdgeStrength()
这四个方法动态的控制.
滚动条依然保持“长方形”这种视觉.


待续......
分享到:
评论

相关推荐

    Google Android操作系统内核编译教程

    - 在第519和520行,设置 `buildid` 的值为空,因为Android内核不支持此特性。 #### 四、编译内核 完成配置后,我们可以开始编译内核。 1. **执行编译命令** - 进入内核目录并执行编译命令:`$ make` - 编译完成...

    Android系统内核编译开发图文教程中文版借鉴.pdf

    在搭建好环境后,你需要下载Android内核源代码,例如linux-2.6.23-android-m5-rc14.tar.gz,并确保内核版本与所用模拟器版本匹配。解压缩源代码并放置在适当的目录下,例如/Android/kernel。 接下来,获取内核编译...

    Android 移植技術

    - **2008年2月13日**:发布Android SDK m5-rc15版本。 - **2008年5月12日**:公布Top 50 Android Application名单。 - **里程碑**:Android 1.0于2008年9月23日发布;Android 1.1于2009年2月10日发布;Android 1.5于...

    移植Android到S3C6410

    2. **解压文件**:使用`tar -xf linux-2.6.23-android-m5-rc14.tar.gz`命令解压源码包。 #### 五、安装Android SDK Android SDK是Android开发不可或缺的一部分,包含了必要的开发工具和库。 1. **下载SDK**:访问`...

    S3c6410移植android过程

    - 解压内核源代码 `$ tar -xf linux-2.6.23-android-m5-rc14.tar.gz`。 4. **安装 Android SDK**:下载适用于 Linux 的 Android SDK。 - 下载地址为 `...

    Android SDK 0.9版升级注意点

    ### Android SDK 0.9版升级注意点 ...此外,保持对官方文档的关注也是非常重要的,因为它们通常包含了关于新特性、更改和已知问题的详细信息。希望每位开发者都能顺利过渡到新版本,享受更加高效和稳定的开发体验。

    M5Cardputer实现一个可以切换鼠标和键盘模式的BLE HID设备

    - **Gatt服务和特性**:使用Android的`BluetoothGatt`和`BluetoothGattCharacteristic`类来操作BLE服务和特性。我们需要创建自定义服务并添加报告、输入和输出特性。 3. **数据编码与解码**: - **鼠标事件**:...

    S3C6410 移植Android 内核.doc

    3. **下载Linux内核**:从Google的Android项目页面获取特定版本的Linux内核源码,例如这里使用的是2.6.23-android-m5-rc14。下载后解压,准备好进行内核的定制和编译。 4. **安装Android SDK**:下载适用于Linux的...

    华为M5-10.8寸(畅享版)正视图

    内置EMUI操作系统,基于Android系统深度定制,提供丰富的功能和优化的用户体验。 4. 前置摄像头与音频体验: 正视图中的摄像头可能是用于视频通话和自拍,虽然具体参数未给出,但华为通常会提供清晰的拍摄质量。...

    s3c6400-6410移植android+内核参照.pdf

    - 从 Google Code 下载专门为 Android 设计的 Linux 内核版本,例如:linux-2.6.23-android-m5-rc14.tar.gz。解压后准备进行配置和编译。 4. **安装 Android SDK** - 下载适用于 Linux 的 Android SDK,解压后...

    android_device_bq_piccolo

    同时,开源的内核源代码允许开发者根据需要对设备进行深度定制,例如增强电池寿命、提升系统稳定性或增加新特性。 总的来说,"android_device_bq_piccolo"项目为BQ Aquaris M5提供了一个强大的自定义恢复环境,同时...

    将鼠标移动和键盘输入发送到连接的BLE设备

    Java是一种广泛使用的面向对象的编程语言,具有跨平台的特性,适合开发各种类型的应用,包括嵌入式系统和物联网(IoT)设备,如M5Cardputer。 在压缩包子文件的文件名"Bluetooth-Keyboard-Mouse-Emulator-main"中,...

    电子测量中的全球首款“会分享的行车记录仪”盯盯拍M5问世

    此外,盯盯拍M5在设计上考虑了用户体验,其配套的盯盯拍APP适用于Android和iPhone设备,界面简洁易用。首次配对后,行车记录仪和手机将自动关联,后续使用更为方便。 与传统的行车记录仪相比,盯盯拍M5的创新之处...

    小米刷机ROM

    刷机ROM的优点包括但不限于:更新最新的系统特性、优化性能、提高电池寿命、增加自定义选项等。然而,刷机也有一定的风险,例如可能导致设备失去保修,或者如果操作不当,可能会导致手机无法启动。因此,在进行刷机...

    appmobile:使用 Jquery 检测 userAgent 是否为移动设备

    另一种方法是使用`jQuery`的`$.support`对象,虽然它主要用来检测浏览器特性,但也可以辅助我们做设备检测: ```javascript function isMobileDevice() { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IE...

    简单的移动设备检测PHP脚本代码

    if (preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge|maemo|midp|mmp|operam(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|...

Global site tag (gtag.js) - Google Analytics