![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 80
赵开鹏
热爱编程,热爱生活,
展开
-
Android官网培训课:脱离UI主线程处理位图
如果图片数据来源是来自于sd卡或是网络(只要不是从内存中读取),BitmapFactory类的几种解码方法的执行,就应该和UI主线程相分离。因为这些情况下加载图片数据的时间依赖于很多因素(sd卡的读写速度,网络的速度,图片的大小,cpu的性能等),因此这个时间是不确定的。如果加载图片导致UI线程的阻塞,应用会变得不可响应,这种糟糕的体验很有可能让用户直接关掉你的应用。本节课带你过一遍如何用As翻译 2013-05-26 08:54:39 · 691 阅读 · 0 评论 -
Android培训课:添加动作
在屏幕上绘制对象是OpenGL最基本的功能,不过也可以用其他的Android绘图框架的类来做绘制,这些类包括Canvas和Drawable对象等。OpenGL ES提供了更加强大的功能来支持移动和转换被绘制的对象,以三维的方式或其他独特的方式来创建非常有新引力的用户体验。在本节课,你将迈向OpenGL ES的更深一步,通过学习如何给绘制对象添加旋转动作。旋转一个形状Op翻译 2013-06-12 08:19:04 · 544 阅读 · 0 评论 -
Android官网培训课:用ViewPager做屏幕幻灯片
是指从从一个完整屏幕到另一个屏幕的转移过渡,经常用在app安装向导或者幻灯片展示上。本节课讲解如何用ViewPage实现屏幕幻灯片,支持库ViewPager能够自动实现屏幕幻灯片效果。创建View创建一个用于fragment的layout布局文件。如下示例布局文件包含一个text view来显示某些文字。 xmlns:android="http://schemas.an翻译 2013-06-12 08:22:39 · 2145 阅读 · 0 评论 -
Android官网培训课:绘制形状
用OpenGL定义了形状之后,下一步是绘制他们。以OpenGL ES 2.0绘制形状要写比你想象要多一些的代码,因为所提供的API提供了许多对图形渲染pipeline的控制。本节课讲解如何用OpenGL ES 2.0 API绘制上节课所定义的形状。初始化形状在做任何绘制之前,需要初始化并加载所要绘制的形状。除非形状的结构(最初的坐标)在程序执行过程中会变化,否则你应该用你的渲染翻译 2013-06-04 06:57:50 · 699 阅读 · 0 评论 -
Android官网培训课:App开发中的网络连接和云计算
下面的的课程讲解app如何连接用户手持设备以外的世界。你会了解到如何连接区域内其他设备,连接因特网,备份和同步app数据,等等。无线方式连接设备。如何发现和连接到本地的设备,如何使用Newwork Service Discovery(网络服务发现)和Wi-Fi直连以创建peer-to-peer点对点连接。使用Network Service Discovery连接到Wi-Fi D翻译 2013-09-09 23:00:36 · 1149 阅读 · 0 评论 -
Android官网培训课:缩放View
本节课讲述如何实现触屏缩放动画,这种动画很有用处,像在图片集中将一个缩略图放大成一个全尺寸填满屏幕的图片。创建View创建一个layout布局文件,其中包含你要缩放的内容的小尺寸版本和大尺寸版本。下面的历次创建了一个ImageButton以用于可点击的缩略图和一个ImageView以用于显示放大了的图片: xmlns:android="http://schemas.andr翻译 2013-09-09 22:59:36 · 983 阅读 · 0 评论 -
Android官网培训课:布局的变化
布局动画layout animation 是一种预加载动画,每次当在运行时改变了布局layout配置时系统会自动该动画。你所需要做的就是在布局layout中设置一个属性来告诉Android系统执行这些layout布局变化,然后系统默认的动画就会被调出执行了。创建Layout布局在activity的layout xml文件中,如果你想让一个layout能够执行布局变化动画,那么设翻译 2013-09-09 23:00:03 · 668 阅读 · 0 评论 -
Android官网培训课:无线方式连接设备
除了能够与云服务通信外,Android的无线API能够实现在同一局域网内与其他设备通信,甚至不需要在同一网络仅物理上相邻的设备即可实现通信。网络服务发现(NSD,Network Service Discovery)使得通信更进一步,即允许app应用搜寻出附近设备上运行的服务,通过其上运行的服务与之通信。将该功能集成到你的app应用上能够提供很多新的产品特性,例如,与同屋内的其他人一起玩游戏,从连网翻译 2013-09-09 23:02:09 · 1014 阅读 · 0 评论 -
Android官网培训课:网络服务探索(NSD)
把网络服务探索NSD(Network Service Discovery)添加到开发者的app中可以让用户识别局域网上支持你的app所请求服务的设备。对于很多点对点peer-to-peer应用这是非常有用的,例如文件分享或是多玩家游戏。Android的NSD API简化了开发者实现上述功能特性的工作。本节课讲解如何构建一个app应用,实现把应用名称和连网信息广博到局域网的功能,并且可以扫描翻译 2013-09-12 23:00:06 · 1907 阅读 · 0 评论 -
Android官网培训课:用Wi-Fi Direct进行网络连接
Wi-Fi Direct™ 的API可以让app应用连接到其附近的设备,而无需借助连接到网络或者热点。app应用可以快速发现附近设备并与之交互,其距离范围超过了蓝牙。本节课讲解用Wi-Fi Direct如何发现附近设备并与之连接。设置Application Permissions为了使用Wi-Fi Direct, 把CHANGE_WIFI_STATE, ACCESS_W翻译 2013-09-12 23:01:11 · 1791 阅读 · 0 评论 -
Android官网培训课:定义形状
在一个OpenGL ES view中定义shape是创作高端图形杰作的第一步。如果不了解一些如何以OpenGL ES期待的方式定义图形对象的基本知识,那么用OpenGL ES画图还是有点困难的。本节课讲解OpenGL ES在Android设备屏幕的相对坐标系,定义定义shape,shape face的基本信息,以及定义一个三角形和一个正方形。定义三角形OpenGL ES 用三维翻译 2013-06-02 23:51:26 · 638 阅读 · 0 评论 -
Android官网培训课:添加动画
动画能以微妙的视觉线索来提示用户应用的下一步动作,能够提升用户对应用界面的认知。当屏幕界面发生改变时动画尤其有效,例如当内容加载或是新的动作变得可用时。动画也能给予应用一个华丽的外表,让应用看起来更有档次。不过对动画的滥用或者错用也会给用户体验带来伤害,例如动画可能使应用不流畅。本培训部分讲解集中常用的动画类型,可以用来增加点实用性和闪光点,而且不会惹怒你的用户。课程安排翻译 2013-06-12 08:21:00 · 863 阅读 · 0 评论 -
Android官网培训课:响应触摸事件
按预置程序使绘制对象移动,比如旋转一个三角形,有助于吸引用户的注意力,但如果你想让用户与你的OpenGL ES图形交互该怎么做呢?实现OpenGL ES应用的触摸式交互的关键就在于扩展你的GLSurfaceView重写onTouchEvent()方法来监听触摸事件。本节课讲解如何监听触摸事件让用户旋转OpenGL ES对象。设置一个触摸监听器为了使OpenGL ES应用翻译 2013-06-12 08:20:05 · 877 阅读 · 0 评论 -
Android官网培训课:加载大尺寸位图
图片有大有小有各种形状。很多情况下图片比界面所需要的尺寸要大。例如,用Gallery显示图片时,你的手机屏幕分辨率有时会低于你手机摄像头所拍摄图片的清晰度。手机的工作内存是有限制的,为降低内存使用,理想状态下你会只想加载一个低清晰度的图片。这个低清晰度图片应该和要显示图片的UI元件的尺寸匹配一致。如果仍然用高清晰度的图片,不仅不会带来什么视觉上的更佳效果,而且还占用更多宝贵的内存,而且还会导致翻译 2013-05-26 08:53:52 · 629 阅读 · 0 评论 -
Android官网培训课:缓存位图
缓存位图把单独一个位图加载到你的UI中是很简单直接的,但如果你想一次加载大量的图片就会变得很麻烦。像ListView,GridView和ViewPager这样的组件,当前屏幕显示的图片加上即将被显示到屏幕上的图片的总和实际上是无限的。在子view被移出屏幕后继续循环使用这些子view,这些子view占用的内存未被释放而是继续保存着。如果你不继续对位图保持长时间的引用,垃圾回收机制也会清理这些位翻译 2013-05-26 08:55:53 · 790 阅读 · 0 评论 -
Android官网培训:管理位图内存
在《缓存位图》一课中,我们用缓存的方法提高了位图的重用,除了cache缓存的应用以外,你还可以做其他几个事情来帮助虚拟机进行内存回收和位图重用。根据你的app的目标android版本的不同,我们所推荐的策略也不相同。BitmapFun样例说明了如何在跨越不同版本android的情况下设计app,使app高效的工作。在Android2.2(API level 8)以及更低版本,当内存回收翻译 2013-05-29 07:15:59 · 723 阅读 · 0 评论 -
Android官网培训课:在UI中显示位图
本节课综合前几节课的知识,向你展示如何使用后台线程和bitmap 缓存把多张bitmap加载到ViewPager和GridView中,同时处理线程并发和配置改变。向ViewPager中加载bitmap的实现swipe view pattern(http://developer.android.com/design/patterns/swipe-views.html)是一种浏翻译 2013-06-01 17:36:39 · 760 阅读 · 0 评论 -
Android官网培训课:运用投影和摄像机视角
在OpenGL ES环境,投影和摄像机视角可以让所绘制对象的显示更近似于用肉眼看实际物体。这种物理视角的仿真是通过对绘制对象坐标的数学转换来做到的:投影Projection - 投影转换是根据所绘制对象所在GLSurfaceView的宽高来调整绘制对象的坐标。若不做投影计算,所绘对象就会因view窗口的不等比例而被歪曲。投影转换的计算一般只应发生在OpenGL view的宽高比已被翻译 2013-06-12 08:18:18 · 925 阅读 · 0 评论 -
Android官网培训课:用OpenGL ES显示图形
Android framework提供了很多的标准工具来创建有吸引力的,功能强大的图形用户界面。不过如果你想更强的控制你的app在屏幕上绘制的内容,或者想尝试三维图形,那么你需要不同的工具。Android Framework的OpenGL ES API提供了一系列工具来显示高端的超乎你想象的动画图形,而且能够借助于许多Android设备提供的GPU加速能力。本节课带你浏览用OpenGL开发应用翻译 2013-06-02 23:49:55 · 804 阅读 · 0 评论 -
Android官网培训课:构建OpenGL ES环境
为了在你的Android应用中用OpenGL ES绘制图形,你得创建一个view container。更直接的一种方式是实现GLSurfaceView和GLSurfaceView.Renderer。GLSurfaceView是一个用于OpengGL绘制图形的view container,GLSurfaceView.Render控制在view中画了什么。更多信息看OpenGL ES开发者指南。翻译 2013-06-02 23:50:54 · 980 阅读 · 0 评论 -
Android官网培训课:淡入淡出两个view
淡入淡出动画(亦称渐隐动画)通常是隐去一个UI组件同时渐现另一个UI组件。这个动画比较适合于当你选择切换应用中的某个内容或是某个视图时。渐隐动画很短小但是能提供从一个界面到另一个节目的流畅过渡,避免生硬和仓促的过渡。创建View创建将要淡入淡出的两个View,下面示例创建一个进度条和一个可滚动text view: xmlns:android="http://schemas.翻译 2013-06-12 08:21:47 · 1568 阅读 · 0 评论 -
Android官网培训课:显示卡片翻转动画
本节课讲解如何以定制的fragment动画来实现卡片翻转动画。创建animator创建卡片翻转的动画。你需要两个animator,用于卡片的正面向左向外翻转,然后从左向内翻转。你同意需要两个animator,用于卡片的北面从右向内翻转,然后向右向外翻转。card_flip_left_in.xml xmlns:android="http://schemas.andro翻译 2013-06-12 08:23:34 · 1606 阅读 · 0 评论 -
再学android的一些认识
我之前看过一段时间的android,后来扔下了,从来没有用android做过项目,但是有java的功底。最近为了跟一个同学做私活儿,借了一本android书,重新看起来,因为之前翻译过官方的教材,现在看书的速度比较快。但凡是只实现功能,不考虑美观和特效的界面,其实都不难,android前台开发的这一套技术,我觉得跟C#的WPF那一套做桌面程序的开发基本思想差不多,就是定义布局文件,原创 2015-10-10 00:05:55 · 396 阅读 · 0 评论