
Android应用开发
文章平均质量分 89
pinggle
好好工作,好好生活
展开
-
【Android开发学习46】Android平台分割PNG图片成小png图片
功能描述:分解 assets 目录文件下的 PNG 图片成 各个小尺寸 PNG 图片 。主函数执行: // 创建目录, 用来保存分解出来的图片 createPath("/sdcard/gui_blocks/"); createPath("/sdcard/gui_blocks_2/"); createPath("/sd原创 2015-03-15 23:31:57 · 2002 阅读 · 1 评论 -
【Android开发学习34】OpenGL 性能优化
作者: Yang Jian (jyang@cad.zju.edu.cn)日期: 2009-05-04 本文从硬件体系结构、状态机、光照、纹理、顶点数组、LOD、Cull等方面分析了如何优化 OpenGL 程序的性能。 OpenGL状态机(State Machine)OpenGL状态机的目前只有1.1版本,也是最经典的,大家可以参考下述链接:ft转载 2013-04-09 17:47:29 · 3984 阅读 · 1 评论 -
【Android开发学习05】Android中SQLite数据库操作
SQLite官网: http://www.sqlite.org/SQLite特点: 体积小,独立,开源,支持多种开发语言,支持最大2TB数据库。一.基础知识:1.SQLite的数据类型:NULL:空值。INTEGER:带符号的整型,具体取决有存入数字的范围大小。REAL:浮点数字,存储为8-byte IEEE浮点数。TEXT:字符串文本。BLOB:二进制对象原创 2013-01-31 14:14:18 · 1797 阅读 · 0 评论 -
【Android开发学习33】PopupWindow之显示顶层对话框
一、基础知识: 1. PopupWindow是阻塞对话框,只有在外部线程 或者 PopupWindow本身做退出操作才行。2. PopupWindow完全依赖Layout做外观 二、使用方法:1. 为我们的对话框新建一个Layout文件作为外观:(下面是我的一个示例) <LinearLayout xmlns:android="http:原创 2013-04-07 14:41:01 · 3728 阅读 · 0 评论 -
【Android开发学习32】BroadcastReceiver之电源管理
直接上代码:/* ========================== Battery Start =============================*/ int tBatteryLevel = 0, tBatteryCurLevel = 0; int tBatteryChargeFlag = -1; private void Battery(){ int原创 2013-04-03 15:01:55 · 2525 阅读 · 1 评论 -
【Android开发学习31】Gallery之初体验--实现手指直接拖动图片移动
一、基础知识: 要实现这一效果,需要一个容器来存放Gallrey显示的图片,这里使用一个继承自BaseAdapter类的派生类来装这些图片。我们需要监听其事件setOnItemClickListener,从而确定用户当前选中的是哪一张图片。首先,需要将所有要显示的图片的索引存放在一个int型数组中,然后通过setImageResource方法来设置ImageView要显示的图片资源原创 2013-04-02 14:55:08 · 1645 阅读 · 0 评论 -
【Android开发学习29】界面控件之列表控件(ListView)--显示图片和文本
一、目标效果如下: 二、代码实现:1.“Activity_11\src\yan\activity_11\MainActivity.java”package yan.activity_11;import android.os.Bundle;import android.app.Activity;import android.content.转载 2013-03-19 10:09:27 · 11121 阅读 · 1 评论 -
【Android开发学习28】界面控件之列表控件(ListView)--显示字符数组
一、基础知识:ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件。先说说ListView的实现:1.准备ListView要显示的数据;2.使用一维或多维动态数组保存数据;3.构建适配器,简单地来说,适配器就是Item数组,动态数组有多少元素就生成多少个Item;4.把适配器添加到ListView,并显示出来。原创 2013-03-18 16:56:46 · 4009 阅读 · 1 评论 -
【Android开发学习27】界面控件之进度条(ProgressBar)
一、基础知识: 1.ProgressBar在界面文件XML中的布局:<progressBar android:id="@+id/progressbar_updown" android:layout_width="200dp" android:layout_height="wrap_content" style="?android:原创 2013-03-16 10:04:56 · 21617 阅读 · 1 评论 -
【Android开发学习30】动态创建多个按钮,并给每个按键添加监听事件
//获取屏幕大小,以合理设定 按钮 大小及位置 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; int height = dm.heightPixels; //自定义la转载 2013-03-30 13:39:08 · 2806 阅读 · 0 评论 -
【Android开发学习26】界面控件之选项组件(RadioGroup和CheckBox)
一、基础知识: 单项选择组件 : RadioGroup 互相排斥多项选择组件 : CheckBox 彼此独立 二、代码展示:1."Activity_08\src\yan\activity_08\MainActivity.java"package yan.activity_08;import android.os.Bund原创 2013-03-15 17:37:34 · 3041 阅读 · 0 评论 -
【Android开发学习35】GL_TRIANGLE_STRIP之纹理贴图
一、基础知识: GL_TRIANGLE_STRIP比GL_TRIANLGES 快100% ~ 200%。建议:尽可能地使用GL_TRIANGLE_STRIP替代GL_TRIANGLES。 二、使用方法: 1.首先以框架入手,我们一般在Android上画一个3D的图形,需要在MainActivity的OnCreate函数中加入如下代码,用来进入我们的3D场景界原创 2013-04-10 16:21:25 · 5996 阅读 · 1 评论 -
【Android开发学习36】Java回调函数之callback接口
按照我个人的理解,就是: 用java的回调机制来实现C语言中的函数指针的传递。 为了了解什么是回调函数,在网上查阅了如下资料,整理如下: 资料一:首先说说什么叫回调函数? 在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就 称为回调。在调用接口时,需要严格的按照定义的转载 2013-04-12 13:53:26 · 12594 阅读 · 2 评论 -
【Android开发学习37】android opengl es 2.0里surfaceview背景透明
surfaceview的黑色背景会挡住其父的背景,现在把surfaceview的背景设为透明,既可以看到所绘的3D物体,又可以看到背景。在onSurfaceCreated里,调用GLES20.glClearColor(0f, 0f, 0f, 0f);alpha为0,即透明。然后,对surfaceview要作一定处理:mGLSurfaceView.setEGLConfigChooser(转载 2013-04-15 19:45:37 · 5496 阅读 · 1 评论 -
Ubuntu下android手机通过usb连接电脑,显示"???????????? no permissions"问题
问题现象:$adb devicesList of devices attached???????????? no permissions解决方法:1、设置usb权限$lsusbBus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubBus 004 Device 001: ID 1d6b:00转载 2013-06-05 11:06:02 · 2722 阅读 · 0 评论 -
【Android开发学习45】使用google语音识别引擎(Google Speech API)<一>
最近项目中需要研究语音识别功能,感觉挺好玩的,特别搜索了大量的资料来学习,这一篇是参考网上的一篇文章记录出来的,主要是以用户的角度来使用google语音识别引擎,与代码无关。语音搜索网站,挺好用的,不过要装chrome!!!网址是:http://slides.html5rocks.com/#speech-input1、准备必要的软件: flac.exe , wg原创 2013-05-23 18:54:07 · 5942 阅读 · 1 评论 -
【Android开发学习41】Android 将文字转为为图片drawText
项目介绍:将android 项目assets中的1.txt文档中的文字转换成一张图片第一步:创建工具类,用于读取文档,存入一个String数组, 代码如下:package test.com;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;转载 2013-05-07 16:10:08 · 1889 阅读 · 0 评论 -
【Android开发学习42】OpenGL函数思考-glTexParameter
函数原型:voidglTexParameterf(GLenum target,GLenum pname, GLfloatparam)voidglTexParameteri(GLenum target,GLenum pname,GLintparam)参数说明:target:指定目标纹理,它只能取值GL_TEXTURE_1D或者GL_TEXTURE_2D;转载 2013-05-20 15:44:32 · 1664 阅读 · 5 评论 -
【Android开发学习44】android: 静态XML和动态加载XML混合使用,以及重写Layout控件
近期对android里面控件修改做了很多实验,由于公司需求很多,不得不重写很多控件。程序目标无非是:高效、轻巧、清晰、标准化完成动态加载Layout有两种方法,依据个人喜好进行选择:方法1:静态主Layout动态加载静态子Layout首先构建子Layout:main2 < LinearLayout xmlns:android = "http://schema转载 2013-05-20 16:59:34 · 1033 阅读 · 0 评论 -
【Android开发学习38】关于GLSurfaceView显示的几点说明
关于GLSurfaceView加载之后,会给各层的显示造成一些不便,但是又人说,GLSurfaceView的效率是SurfaceView的30倍。主要是因为GLSurfaceView采用硬件加速的原因。 关于GLSurfaceView和SurfaceView的叠加,网上有这段话可以解释:必须先添加GLSurfaceView,再添加SurfaceView,否则GLSurface原创 2013-04-16 14:14:10 · 10538 阅读 · 0 评论 -
【Android开发学习40】在GLSurfaceView之上添加SurfaceView层
1. 首先,初始化系统:rivate void sys_init(){ // 去掉标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN , WindowManager.原创 2013-04-16 18:22:10 · 9614 阅读 · 0 评论 -
【Android开发学习39】VideoView在GLSurfaceView之上显示的解决方案
在项目中,有时候需要将视频显示在GLSurfaceView之上, 目前我的方法是: 解决方案一:在GLSurfaceView.Renderer中,将onDrawFrame函数中画物体的操作全部屏蔽掉。在这里我使用一个变量bRendeFlag 来控制的。@Overridepublic void onDrawFrame(GL10 gl) { // TODO Auto-ge原创 2013-04-16 14:28:19 · 10014 阅读 · 3 评论 -
Android中dp和px之间进行转换
转载自: ---------------------------------------------------------------------------GL(arui319) http://blog.youkuaiyun.com/arui319----------------------------------------------------------------------转载 2013-03-15 17:21:47 · 786 阅读 · 0 评论 -
【Android开发学习24】界面布局之表格布局TableLayout+TableRow
一、基础知识: TableLayout置底,TableRow在TableLayout的上面,而Button、TextView等控件就在TableRow之上,另外,TableLayout之上也可以单独放控件。TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。 androi原创 2013-03-15 15:01:28 · 53391 阅读 · 1 评论 -
【Android开发学习15】Android OpenGL ES 纹理映射之glDrawArrays
目标: 为四方体的每个面贴上一张图片,并自动旋转。 一、基础知识:1.初始化: // 1.允许2D贴图,纹理 gl.glEnable(GL10.GL_TEXTURE_2D); // 2.创建纹理 gl.glGenTextures(1, textureids, 0); // 3.绑定要使用的纹理 gl.glBindTexture(GL10.GL_TEXTU原创 2013-02-22 16:11:02 · 6481 阅读 · 1 评论 -
【Android开发学习13】Android OpenGL ES 3D空间与glDrawArrays
1.四棱锥: 由4个三角形构成。 四方体: 由6个三角形构成。难点:在构建3D空间的顶点坐标时,要让对象绕自身的轴旋转,必须让对象的中心坐标总是(0.0f,0.0f,0.0f), 并且三角形都是按逆时针次序绘制的。2.3D空间的绘制:GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode原创 2013-02-20 16:29:49 · 1526 阅读 · 0 评论 -
【Android开发学习11】Android OpenGL ES 颜色
一、基础知识:1.平滑着色(Smooth coloring): 将多个顶点的不同颜色混合在一起,创建出漂亮的色彩混合。2.单调着色: 给图形涂上一种固定单一的颜色。3.三角形定义的颜色数组(平滑着色): int one = 0x10000; //三角形的顶点颜色值(r,g,b,a) private IntBuffer colorBuffe原创 2013-02-20 15:27:08 · 3015 阅读 · 0 评论 -
【Android开发学习12】Android OpenGL ES 旋转glRotatef
1.旋转函数: glRotatef(float angle, float X, float Y, float Z)其中,angle指定对象旋转的角度,X,Y,Z三个参数共同决定旋转轴的方向。即,glRotatef函数是将某对象沿指定轴旋转angle角度。2.旋转实现方法: float rotateTri; float rotateQuad原创 2013-02-20 15:54:01 · 2634 阅读 · 0 评论 -
【Android开发学习09】Android OpenGL ES 基础
其实,我个人学习Android最主要的目的是学习在此平台下的3D效果的开发。所以,我们开始进入主题吧。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开原创 2013-02-06 16:51:06 · 1977 阅读 · 0 评论 -
【Android开发学习10】Android OpenGL ES 画多边形
一、基础知识:OpenGL ES目前只支持三角形,但任何多边形都可拆分成多个三角形,所以无所谓这个限制的存在。1.OpenGL中的坐标点:每一个坐标点由(X, Y, Z)组成。定义一个三角形的顶点数组: int one = 0x10000; //三角形三个顶点 private IntBuffer triggerBuffer = IntBuffer.原创 2013-02-06 17:55:40 · 4532 阅读 · 0 评论 -
【Android开发学习07】存储简单数据的利器--Preferences
一.基础知识:Preferences是一种轻量级的数据库存储机制,主要用于记录游戏中的得分,应用程序上次登录的时间等。二.编程实现:1. 界面编辑(res\layout\main.xml):<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:ori原创 2013-02-04 15:09:54 · 1187 阅读 · 0 评论 -
【Android开发学习08】SurfaceView显示动画效果
一、基础知识:SurfaceView继承自View,View负责在主线程中更新动画,而SurfaceView是在一个新线程中更新动画。SurfaceView类的主要方法:// 在SurfaceView创建时调用pubilic abstract void surfaceCreated(SurfaceHolder holder)// 在SurfaceView改变时调用pub原创 2013-02-05 11:22:35 · 11127 阅读 · 1 评论 -
【Android开发学习06】Android中的文件I/O操作
本节分两部分:1.访问SD卡.2.访问手机中的存储文件夹.3.读取assets中的文件.一.访问SD卡:1.界面编辑(res\layout\main.xml):<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="v原创 2013-02-04 11:47:13 · 2654 阅读 · 1 评论 -
【Android开发学习04】长时间的音乐播放实现MediaPlayer
长时间的音乐因为体积比较大,放在手机内存中,对资源的占用太大。MediaPlayer类可以用来播放音频、视频和流媒体,MediaPlayer包含了Audio和Video的播放功能。在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的。一.基原创 2013-01-29 18:21:37 · 5965 阅读 · 0 评论 -
【Android开发学习18】Android OpenGL ES 光照glDrawArrays
一、基础知识:1..光照介绍:①环境光: 来自四面八方,所有场景中的对象都处于环境光的照射中。②漫射光: 由特定的光源产生,并在场景中的对象表面产生反射。 处于漫射光直接照射下的任何对象表面都变得很亮,而几乎未被照射到的区域就显示得要暗一些。 2.光照使用:①设定光源参数: //环境光 private float[] lightAmbient;原创 2013-02-23 11:09:08 · 1606 阅读 · 0 评论 -
【Android开发学习00】Windows下Android开发环境搭建
本文源地址:http://blog.youkuaiyun.com/ypist/article/details/8541093一.下载:(1) JDK下载: (选择 Download JDK 只下载JDK,无需下载jre.)(2) eclipse下载:(我们选择第一个,即eclipse IDE for java EE Developers即可)(3) Android SDK下载:(这个这里原创 2013-01-25 11:52:52 · 2071 阅读 · 0 评论 -
【Android开发学习01】与Android实体设备的连接
本文源地址:http://blog.youkuaiyun.com/ypist/article/details/8542974 一.将Android设备连接电脑,并安装相关的驱动。二.设置用户的环境变量。【我的电脑】-->>【属性】-->>【高级】-->>【Administrator的用户环境变量】-->>【Path】点击【编辑】按钮,在【变量值】一栏的最后,输入我们安装原创 2013-01-25 17:46:51 · 2828 阅读 · 0 评论 -
【Android开发学习25】界面布局之相对布局RelativeLayout
一、基础知识:android:layout_above 将该控件的底部至于给定ID的控件之上android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐android:la原创 2013-03-15 15:16:19 · 1494 阅读 · 0 评论 -
【Android开发学习23】界面布局之线性布局LinearLayout
一、基础知识: id="@+id/edtInput",ID 是连接UI 与代码的桥梁 layout_width="fill_parent" ,自动填充至屏幕宽度 layout_width="wrap_content" ,自动填充为控件大小 在LinearLayout 里面的控件,按照水平或者垂直排列: orientation="horizontal"原创 2013-03-15 14:17:12 · 8550 阅读 · 0 评论 -
【Android开发学习20】多个Activity间的交互之Intent
一、基础知识:1.一个Intent对象包含了一组信息:1. Component name 指定启动的Activity2. Action 要做什么3. Data 传送数据4. Category5. Extras 键值对6. Flags 2.Intent基本用法:// 生成一个Intent对象Intent intent = new Intent()原创 2013-03-13 11:55:36 · 3758 阅读 · 2 评论