android
文章平均质量分 70
j313469458
这个作者很懒,什么都没留下…
展开
-
OpenGL ES(1)——构建OpenGL ES环境
为了在应用里面绘制OpenGL ES,你需要为它们创建View Container。一个更直接的方式是实现GLSurfaceView和GLSurfaceView.Renderer。一个GLSurfaceView是绘制OpenGL的View Container,而GLSurfaceView.Renderer控制了那个View上绘制什么。GLSurfaceView只是其中一种显示OpenGL ES图像的翻译 2015-11-04 11:16:46 · 536 阅读 · 0 评论 -
Rexxar及Webview相关总结
总体来看,三部分功能1.Uri映射,提供了Uri向本地文件转换的映射2.缓存,使用okhttp请求资源,然后建立自己的缓存,如果匹配到缓存会优先加载缓存3.js->Native功能,主要是通过Url带参数的这种形式,对指定url去处理,抽象出了Container和Widget两个逻辑结构去处理功能。不足:1.原生webview,根本不稳定2.根本没有native调用js的方法3.网页本就是很容易发生原创 2016-10-17 09:34:42 · 447 阅读 · 0 评论 -
Rexxaar android笔记
跟着代码看一看豆瓣开源的混合开发框架Rexxaar // 初始化rexxar Rexxar.initialize(this); Rexxar.setDebug(BuildConfig.DEBUG); // 设置并刷新route RouteManager.getInstance().setRouteApi("https://原创 2016-10-11 19:23:12 · 1331 阅读 · 0 评论 -
OkHttp全解析
闲来无事阅读了一下OkHttp的源码,发现OkHttp根本就不基于HttpURLConnection或者HttpClientOkHttp是基于java Socket自己实现了一套java层http协议,当然还支持SPDY,https,http2.0等。用OkHttp,一个请求怎么去写呢OkHttpClient client = new OkHttpClient(); Request r原创 2016-06-20 15:42:11 · 1657 阅读 · 0 评论 -
Android Touch事件全解析
思路:override相关类里面的touch事件方法,通过修改返回值来看实际的机制。最外层Activitypackage com.sohu.androidtouchtest;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android原创 2016-06-17 18:34:02 · 728 阅读 · 0 评论 -
TouchEvent总结
原文出自链接内容Android Touch事件 假设布局层次为 Layout0 Layout1 Layout2 Layout3如果谁都没有去interceptTouch,同时谁都没有处理onTouch事件。 那么 1.Layout0->intercept 2.Layout1->intercept 3.Layout2->intercept 4.Layout3->interce转载 2016-06-14 13:29:21 · 275 阅读 · 0 评论 -
Bitmap那些事(3)
作为Bitmap缓存的补充,还有一些特定的事情可以加速垃圾回收和Bitmap重用。推荐的策略取决于你的目标sdk版本。(我先理解为编译的sdk版本,project.properties中android-target=22这样的) 在BitmapFun示例app中展示了怎样去有效跨越不同版本的Android。在Android2.2和以下,垃圾回收发生时,你的app线程会阻塞。这导致了卡顿。Andr翻译 2015-11-03 14:23:13 · 346 阅读 · 0 评论 -
OpenGL ES(2)——定义图形
能够定义图形是创造好的图像作品的第一步。当你不知道OpenGL ES希望你怎样去定制图像对象的时候,使用OpenGL ES绘制可能会有点困难。 这节课解释了OpenGL ES的坐标系统和Android设备屏幕的关系,如何定义图形形状,图形表面,以及如何定义三角形和正方形。OpenGL ES允许你使用三维坐标来绘制对象。因此,在你绘制三角形之前,你必须定义它的坐标。在OpenGL中,一个常用的方法是翻译 2015-11-04 12:07:16 · 364 阅读 · 0 评论 -
Bitmap那些事(1)
文章内容来自(需梯子) http://developer.android.com/training/displaying-bitmaps由于将200*200的图片读入内存,显示在20*20的ImageView上并不合算,所以需要在读入内存之前量一下Bitmap的width和heightBitmapFactory.Options options = new BitmapFactory.Optio原创 2015-10-25 22:17:17 · 408 阅读 · 0 评论 -
Scenes and Transitions(1)——转换框架
给你的用户界面添加动画提供了比静态界面更多的信息。动画强调了发生的改变,并且提供了帮助用户了解你的应用如何工作的视觉线索。为了帮助你在一个view hierarchy和另一个之间执行动画,Android提供了转换框架。这个框架对不同hierarchies中的所有view应用动画,使得看起来好像从一个hierarchy变换到了另外一个。这个框架有以下功能: 1. 分组动画:使得一个view hier翻译 2015-11-09 16:26:54 · 283 阅读 · 0 评论 -
OpenGL ES(6)——响应触摸事件
使得对象自己旋转可以引起一些注意,但是如果你想要让用户和你的OpenGL ES图像交互呢?关键在于重写你的GLSurfaceView的onTouchEvent()方法来监听触摸事件。这节课告诉你怎样去监听触摸事件,让用户来旋转OpenGL ES对象。为了使你的应用能响应出没时间,实现GLSurfaceView的onTouchEvent()方法。下面的示例实现展示了怎样去监听MotionEvent.A翻译 2015-11-09 14:56:00 · 432 阅读 · 0 评论 -
OpenGL ES(5)——添加动作
在屏幕上绘制对象是OpenGL的基本功能,你可以使用其他的Android graphics framwork classes来做这件事情,包括Canvas和Drawable对象。OpenGL ES提供了在三维空间中移动和转换绘制对象的能力以及其他提升用户体验的独特方法。在这节课中,你通过使得图形旋转在使用OpenGL ES上更进了一步。在OpenGL ES2.0中旋转一个正在绘制的对象相对简单。在你翻译 2015-11-09 14:39:39 · 313 阅读 · 0 评论 -
OpenGL ES(4)——使用投影和Camera Views
在OpenGL ES环境中,投影和camera views允许你以一种更像用眼睛去看实际物体的方式来绘制对象。这种物理视觉模拟是通过对被绘制的对象的数学转换来完成的。投影——这个转换基于GLSurfaceView的width和height来调整被绘制的对象的坐标。没有这个计算,被OpenGL ES绘制的对象会因为view的width和height的比例不相等而被扭曲。一个投影的转换需要在对Open翻译 2015-11-09 14:22:27 · 471 阅读 · 0 评论 -
Scenes and Transitions(2)——创建场景
场景保存了一个view hierarchy的状态,包括它所有的views和它们的属性值。转换框架可以在开始场景和结束场景之间播放动画。开始场景通常由用户界面的当前状态来决定。对于结束场景,框架会让你通过layout resource file或者一组views来创建。这节课展示了怎样在你的app中创建场景和怎样定义场景动作。下节课告诉你怎样进行两个场景的转换。注意:框架可以在一个view hiera翻译 2015-11-09 17:52:44 · 360 阅读 · 0 评论 -
OpenGL ES(3)——绘制图形
在你定义了被OpenGL绘制的形状之后,你可能想要真正地绘制出它们。OpenGL ES 2.0可能会比你想象的花费更多代码,因为API提供了对于图像渲染管道相当多的控制。这节课解释了怎样去使用OpenGL ES 2.0 API绘制你之前定义的图形。在你做任何绘制之前,你必须初始化并加载你计划绘制的形状。你应该在Renderer的onSurfaceCreated()方法中初始化它们来节省内存并加快执行翻译 2015-11-09 11:47:31 · 410 阅读 · 0 评论 -
Bitmap那些事(2)
在使用ListView,GridView,ViewPager一类的组件时,图片的总数包括了当前显示的和将会滑动出来的,事实上可以是无限的。为什么内存使用不会增加呢,因为此类组件会回收移除屏幕的child view,垃圾回收也会回收掉你不再持有引用的Bitmap。为了避免每次展示图片都重新加载一遍,让滑动的时候更流畅,内存缓存和硬盘缓存此时就可以派上用场了。内存缓存以内存为代价换取Bitmap的快速访翻译 2015-11-03 10:57:00 · 308 阅读 · 0 评论 -
Leetcode-4. Median of Two Sorted Arrays
两个有序数组,寻找他们的中位数,要求算法时间O(log(m+n))。一个难度为Hard的问题,确实难住了我。。。。。看了一下discuss里面的大神讲解,现在来分析一波。这个问题,转化为找两个数组里面第k大的数。举个栗子 如果A1={1,2,3},A2={2,3}。那么组合是1,2,2,3,3。会找到第3个数。如果A1=A2={1,2,3}。那么组合是1,1,2,2,3,3。会找到第3个数和第4个原创 2016-10-18 18:22:53 · 285 阅读 · 1 评论