欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Android开发问题集锦第一期.pdf

    • 资源ID:94067273       资源大小:473.46KB        全文页数:6页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Android开发问题集锦第一期.pdf

    2010/11/22 www.eoeA|编辑:Tony Android 开发 问 题 集 锦第 一 期 目录 问题一、Bitmap 如何保存 成为一个 bmp 文件 问题二、ByteBuffer 的flip,clear 及rewind 区别 问题三、Android 都支持 哪些 Java 特性 问题四、EditText 控件无 法代码设置 ReadOnly 只读 问题五、使用 xml 让你的Activity 无标题方法 问题六、Android 应用完 全退出终极篇 问题七、View 类中setPadding 和setMargins 区别 问题八、Android 最简单 播放 GIF 动画方法是?问题九、Binder invocation to an incorrect interface 错误 问题十、Android 上开发 手机浏览器原理 问题一、Bitmap 如何保存 成为一个bmp 文件 很多网友可能发现了 Android 的 Bitmap 对象无法保存成 为一个 bmp 文件,即提供的方 法只有 compress(Bitmap.CompressFormat format,int quality,OutputStream stream),可以存为png 和 jpg,png 可能还好说,但是 jpg 是 有损压缩会降低图片的质量,其实 Google 还提供了一 个 API 在 Bitmap 类,通过 copyPixelsToBuffer(Buffer dst)这个方法来解决,Buffer 类型,和前几天我们说到 的 NIO 中的ByteBuffer 处理方式一样,需 要说明的是 java 中的 Buffer 在内存中是连续成块的,同时底层有 C+支持效率还是很高的。通过 copyPixelsToBuffer(Buffer dst)方法将会返回一 个 RGB8888 格式的DIB 文件,DIB 位图和设备无关,这里 Tony 提醒大家,如 果想显示出位图,还需要将其加上位图的文件头才行。问题二、ByteBuffer 的flip,clear 及rewind 区别 近期不少网友表示Android 的NIO 中有关ByteBuffer 的 几种常用方法比如clear,rewind 和flip 到底有哪些区别。下面 Tony 给大家 这三种方法的源码,方便大家 记忆。1.public final Buffer clear()2.position=0;/设置 为 0 3.limit=capacity;/极限和容量相同 4.mark=-1;/取消标记 5.return this;6.7.8.public final Buffer rewind()9.position=0;10.mark=-1;11.return this;12.13.14.public final Buffer flip()15.limit=position;16.position=0;17.mark=-1;18.return this;19.从上面对比来看 flip 和 rewind 的区别就是 flip 会制定 极限和位置相同,所以我们写数据时不多不少正好,而 clear 则清空缓冲区。问题三、Android 都支持 哪些Java 特性 很多 Java SE 或EE 的程序 员想转到 Android 平台上进行 开发,对于 Android 平台上到 底对 Java 支持有多少呢?下面Tony 给大家总 结下常规的支持:目前来看 JDK 的高级特性 均支持,比如说 1.Java 的反 射、2.NIO(New I/O)、3.JNI(Java Native Interface)相对而言 对于 OpenGL 和SQLite 的支持比较强大,但是AWT 和 JDBC 这些东西都不支持。在 Xml 解析上,兼容DOM、XmlPull 和 SAX,同时数据交 换格式上,Android 虽然不支 持 LINQ 但对于Java 来说JSON 同样支持。对于 Http 处理方面,提供 了轻量级的 Http 处理类,以及 更完善的 Apache 库支持。音频方面 Android 比较强 大,使用了 OpenCore 库,很多地 方我们可以自己编写编码、解码器进行扩展。Android 在文件系统上基 本山和 Java 是相同的,不过对 于高效率的内存影射文件而言提供了android.os.MemoryFile 这个 类。总体而言,Java 程序员转 入 Android 开发只需要了解平 台特有的,Intent,Service,Receiver 和Activity 就差不多了,深入了 解下 AIDL 和 UI 控件和自定义Widget 基本上可以胜任常规的 工作。问题四、EditText 控件无 法代码设置ReadOnly 只读 有些网友可能发现Android 的EditText 控件有个设计bug,就是无法使用Java 代码方式 设置ReadOnly只读方式,但是 Android123 提示大家通过 xml 代码可以设 置 android:editable=false,相关的setEnabled 方法这里不适用,同时 android.text.Editable.Factory 也无法设置可编辑,该类相关方法只有 static Editable.Factory getInstance()和 Editable newEditable(CharSequence source)两个。目前还没有很好的解决方法,EditText 控件这种设计缺 陷确实比较麻烦,Tony 给大家 一个曲线的方法,通过父类 TextView 的 addTextChangedListener(TextWatcher watcher)方法,设置一个listener 监控文字修改后立即恢复原来的内容即可。问题五、使用xml 让你 的Activity 无 标题方 法 近期收到 网友的邮件表示如何不在 onCreate 中设置无标 题,其实方法比较简单,这里 Tony 给大家一个简单的吧,在 androidmanifest.xml 中找到需要设置的 Activity,加一个属性内容为 android:theme=android:style/Theme.NoTitleBar 即可,比如说 这样子 android123_cwj 这个窗口在运行时就没有标题了。是不是很简单,同时大家使用 onCreate 中的Java 代码如何设置,注意一定要在setContentView 之前执行 requestWindowFeature(Window.FEATURE_NO_TITLE);这句,顺序 不要搞颠倒,代码如下:1.requestWindowFeature(Window.FEATURE_NO_TITLE);2.setContentView(R.layout.cwj)问题六、Android 应用完 全退出终极篇 很多网友不知道,Android 应用如何完全退出,有的网 友可能发现 Android 2.2 中即 使使用了 Google最新给出的 Android 2.2 新增API killBackgroundProcesses 方法也无法实现。在 J2SE 中 我们可能使用System.exit(0);退出,那么 我们提到的 5 种常规方法都无 法完全退出怎么办呢?今天 Tony 给大家介绍一种 方法,制造异常退出。1.首先我们可以制造一个 空指针的异常,比如 TextView.setText 方法中执行一个int 型的内容,由于 setText 方法重载了 R.string.xxx 这样的资源int 型内容,但是我们没有声明这个资源,仅仅把 String写成了 int 的值,就会产生一 个异常,这时系统 Dalvik VM 会直接关闭你的进程,这招十分有效,CWJ 一般平时不公布给大家。2.但是有的网友说了,有 Force Close 的对话框怎么 办,其实我们通过重写 Android 应用程序的Application 基类自己实现 Thread.UncaughtExceptionHandler 接口的uncaughtException 方法是可以避免出现FC 窗口的,用户感觉直 接退出了一样。问题七、View 类中setPadding 和setMargins 区别 有网友对View 类中提供的setPadding 和setMargins 两个 方法有什么区别不是很了解,其 实在Android自绘控件时我们需要计算控件大小,使用过 getMeasuredWidth()和getMeasuredHeight()方法计算和父容器之间的距离可以用 setMargins 方法,对整个屏幕的间距 计算我们可以使用 getWidth()和 getHeight()这两个方法获得。有关Padding 和Margins 的最好 解释,Tony 推荐网友设计在一 个Layout 中放上多个Button,设置Button的 Padding 和Margins 同时设 置Button 父View 的这两个属 性来观察下按钮位置和按钮文字显 示位置就可以简单区分不同了。问题八、Android 最简单 播放GIF 动画方法 是?很多网友觉得 GIF 动画竟 然 Android 无法播放,其实GIF 动画的原理就是逐帧播放,在 Android 中提供了AnimationDrawable 类可 以实现,有的网友写过GIF89A 的解码方法在过去的J2ME 平台 移植到Android平台也能用,其实在 Google Android 上面开发目前2.2 以后 的固件支持的方法除了 Flash Player 外,更好的兼容方法就是使用万能的 webkit 浏览器了,我们直接在 工程中内嵌一个 webView,当 然了路径大家可以换成本地的,对于浏览器使用本地资源 url 为file:/开 头。不过 webView 的资源消耗 也不小,开个webView 对象可能占用了至少 8MB 的RAM 吧,保守估计,当然 更多的要看插件和以及 html 的 复杂程度所决定的。问题九、Binder invocation to an incorrect interface 错误 有时候我们可能发现Android 的版本不同,有些AIDL 的调 用可能会爆出ERROR/AndroidRuntime(28520):java.lang.SecurityException:Binder invocation to an incorrect interface 这样的错误,表面上看是安全问题,但出现 Binder invocation to an incorrect interface 这样的错误,可能是 由于 API 变动导致了 AIDL 的声明有出入,为 了防止执行意外出现空指针,Android 平台默认保护了进一步 的执行,从错误的提示来看就是不正确的接口异常,一般我们检查时可以查看源代码参考解决。问题十、Android 上开发 手机浏览器原理 近期手机浏览器比较热 门,如何开发一款 Android 上的手 机浏览器呢?今天就网友这一 问题 Tony 给大家一些思路。目前Google 的Android 平 台上有几款比较热门的产品,比 如说Opera Mini、Dolphin Browser、Firefox、UC 以及手机QQ 浏览器等,他 们之间还是有一定的区别:1.Opera Mini 使用的是 自己的渲染引擎,页面经过重新排版处理,需要中间服务器干预好处就是压缩数据,省流量。2.Dolphin Browser 在国 外用的比较多,国内用户较少,这里不做过多介绍。3.Firefox 在Android 平 台上是因为 Google 推出 了 NDK,使用了 mozilla 自己的渲染 引擎,支持Javascript 解析,效率直逼Webkit 内核,不过整体对W3C 的 支持大于桌面平台的IE。4.UC 是国内大家较熟知 的产品前身为 UCWEB,当初是 为节省流量而设计类似 Opera Mini,但对于JS脚本的支持无能为力,内部使用了自己的 HTML 解析器,当然 现在的版本已经由服务器中转压缩数据,不过渲染效果不如 webkit 和 firefox 的效果好。5.手机 QQ 浏览器的实现 类似 UCWEB,比较山寨但 UCWEB 主要的功能都包含了在内。6.GO 浏览器是 3G 门户推 出的一款手机浏览器,和 UC 差 不多,可以说是模仿。经过上面的分析来看,Android 开发网将手机浏览器定为 两大类三种情况。1.高效内核、功能全面,比如 Android 自带的Chrome Lite,或 iPhone 上的Safari 浏 览器,Firefox、IE。2.模拟浏览器,Opera 其 实自己有解析引擎,但 Opera Mini 更像一个 html 解析器,并 不能真正的算浏览器和桌面上差距很大,UC、QQ 以及GO 类似 Opera 其实 他们没有自主的 JavaScript 的 支持,对 W3C 标准支持有限和PC 上的浏览器设 计原理有很大的不同。3.增强型,基 于 Android 的 Webview 或修改WebView 设计的 基于 webkit 的产品,这类浏览 器开发轻松,更像重新定制系统的浏览器,可以加入很多辅助功能,或者说更好的 UI。

    注意事项

    本文(Android开发问题集锦第一期.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开