当前位置:  编程技术>移动开发
本页文章导读:
    ▪八个jQuery Mobile基础教程        8个jQuery Mobile基础教程 来自phpchina:http://www.phpchina.com/archives/view-39863-1.html   1. jQuery Mobile入门介绍     2. jQuery Mobile基本教程     3. jQuery Mobile开发简单应用     4. jQuery Mobile高级教程 - R.........
    ▪ Ubuntu B2G环境配备        Ubuntu B2G环境配置 可以参考这个:http://wikiserver.spreadtrum.com/Projects/SoftwareSystem/wiki/B2G%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA安装ubuntu系统(通常是11.04),cpu需要4核,内存2g以上,太低的硬件配置会影.........
    ▪ 用OpenGL ES作图一个红色三角形(二)       用OpenGL ES绘制一个红色三角形(二)以下均转自Android游戏编程入门经典,转载请标明出处首先,定义一个三角形的组成部分: 一个三角形由3个点组成; 每个点都称为顶点; 一个顶点对应3.........

[1]八个jQuery Mobile基础教程
    来源: 互联网  发布时间: 2014-02-18
8个jQuery Mobile基础教程

来自phpchina:http://www.phpchina.com/archives/view-39863-1.html

 

1. jQuery Mobile入门介绍

 

 

2. jQuery Mobile基本教程

 

 

3. jQuery Mobile开发简单应用

 

 

4. jQuery Mobile高级教程 - RSS阅读器应用

 

 

5. 使用PHP, MySQL和jQuery Mobile开发一个网站 第一部分  第二部分   

 

6. jQuery Mobile 框架 – A Forms Tutorial

 

 

7. 开发一个jQuery Mobile的调查程序: 应用逻辑和界面 

 

 

8. 使用开发一个本地Android新闻阅读应用 第一部分  第二部分  第三部分

    
[2] Ubuntu B2G环境配备
    来源: 互联网  发布时间: 2014-02-18
Ubuntu B2G环境配置
可以参考这个:
http://wikiserver.spreadtrum.com/Projects/SoftwareSystem/wiki/B2G%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA
安装ubuntu系统(通常是11.04),cpu需要4核,内存2g以上,太低的硬件配置会影响编译时间。
1.若自行安装ubuntu系统引起缺包和编译问题,参考这两个网址即可  http://webee.sinaapp.com/archives/tag/%E7%BC%96%E8%AF%91android%E9%85%8D%E7%BD%AE  http://www.cnblogs.com/taskiller/archive/2012/04/02/2429892.html
sudo apt-get install autoconf2.13
sudo apt-get install ccache
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
sudo apt-get install autoconf2.13
sudo apt-get install g++-4.4-multilib
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
sudo apt-get install lib32readline-gplv2-dev
常见问题是gcc版本过高(4.6以上),通过gcc -v查看,然后进入到/usr/bin目录下,$ls -l gcc* ,若发现gcc链接到gcc-4.6, 需要将它改为链接到gcc-4.4,方法如下,同理,g++也要配置一下
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
sudo mv g++ g++.bak
sudo ln -s g++-4.4 g++
2.B2G代码的下载
git clone https://github.com/mozilla-b2g/B2G.git
cd B2G
./config.sh emulator
3.B2G的编译
在B2G目录下
./config.sh                  查看支持的设备
./config.sh sp8810xx 选择8810设备
./build.sh
运行模拟器
./run-eumlator.sh
4.B2G下载到手机
手机插上电池,按camera键,再按power键,等手机进入boot模式,再插上USB线。 在B2G根目录下执行
sudo ./flash.sh
在执行sudo ./flash.sh之前需要先配置adb
cd ~
gedit .bashrc
在文件末尾加入PATH=$PATH:~/yourpath/B2G/out/host/linux-x86/bin
cd ~
mkdir ~/.android
echo 0x1782 > ~/.android/adb_usb.ini
5.查看adb
which adb
sudo ~/B2G/out/host/linux-x86/bin/adb kill-server
sudo ~/B2G/out/host/linux-x86/bin/adb start-server
adb shell

B2G升级指南:
以下操作如果没有说明的话,都是在B2G根目录下。
1)用以下命令把工程clean干净

repo forall -c 'git reset --hard HEAD'
repo forall -c 'git clean -df'
repo forall -c 'git checkout aosp/sprdroid4.0.3_vlx_3.0_b2g'
repo forall -c 'git branch -D sprdroid4.0.3_vlx_3.0_b2g'
2)  repo  forall -c  'git branch'

查看B2G下面的所有分支,要确保没有任何残留分支,都是"no branch"。如果还有其他分支,确认第一步操作都是成功的。
3)  删除 out 和 objdir-gecko 这两个目录,保证make的时候不会用老的编译结果。

4) ./config.sh sp8810eaplus

5) ./build.sh ,如果 build.sh失败超过2次,就用单线程编译,即 ./build.sh -j1

常用命令:
1.查看已经安装了哪些包
dpkg -l 或 dpkg -l | less
2.查询软件xxx依赖哪些包
apt-cache depends xxx
查询软件xxx被哪些包依赖
apt-cache rdepends xxx

    
[3] 用OpenGL ES作图一个红色三角形(二)
    来源: 互联网  发布时间: 2014-02-18
用OpenGL ES绘制一个红色三角形(二)

以下均转自Android游戏编程入门经典,转载请标明出处首先,定义一个三角形的组成部分:

一个三角形由3个点组成;

每个点都称为顶点;

一个顶点对应3D空间中的一个位置;

3D空间中的一个位置由3个浮点数表示,分别是x、y、z坐标;

一个顶点可以有一些附加属性,例如颜色或纹理坐标,这些属性也由浮点数表示。

OpenGL ES采用数组的形式定义三角形。但是,OpenGL ES实际上是通过C API提供接口,因此无法使用标准Java数组。这里使用的替代方法是采用Java的NIO缓冲区,该缓冲区是一段连续字节的内存块。

为了保证完全准确,需要使用直接NIO缓冲区。这意味着这块内存不是在虚拟机的堆内存中,而是在主机的堆内存中。为了构造这样的一个直接NIO缓冲区,可以使用下面的代码:

ByteBuffer buffer = ByteBuffer.allocateDirect(NUMBER_OF_BYTES);

buffer.order(ByteOrder.nativeOrder());

上面的代码将分配一个总长NUMBER_OF_BYTES字节的ByteBuffer,并且保证字节的顺序等于底层的CPU的字节顺序。一个NIO缓冲区有3个属性:

Capacity: 缓冲区可以容纳的元素总个数;

Position: 下一个元素将要写入或读取的当前位置;

Limit: 最后一个元素的索引加一。

一个缓冲区的容量实际上是它的大小。ByteBuffer的容量是字节数。Position和Limit属性可以看作是在缓冲区中从位置开始到界限(不包括在内)位置定义的一段。

既然需要使用浮点数表示顶点,那么最好不用处理字节。可以将ByteBuffer实例转换成FloatBuffer实例,这样就可以使用浮点数了:

FloatBuffer floatBuffer = buffer.asFloatBuffer();

在FloatBuffer中,容量,位置和界限都是浮点型。这些缓冲区的使用方式也很简单--如下所示:

float[] vertices = {...};

floatBuffer.clear();

floatBuffer.put(vertices);

floatBuffer.flip();  // 将位置值和界限值交换

发送顶点给OpenGL ES:

ByteBuffer byteBuffer = ByteBuffer.allocateDirect(3 * 2 * 4);
byteBuffer.order(ByteOrder.nativeOrder());
vertices = byteBuffer.asFloatBuffer();
vertices.put(new float[]{
0.0f,     0.0f,
319.0f,   0.0f,
160.0f, 479.0f
});
vertices.flip();

注意:只能够用x、y坐标指定顶点, OpenGL ES会自动将Z坐标设置为0.

一旦NIO缓冲区可用,OpenGL ES便可根据它的当前状态进行绘制(即视口和投影矩阵)。

gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vertices);
gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);

  glEnableClientState()方法需要告诉OpenGL ES这些需要绘制的顶点都有一个位置。

glVertexPointer()方法,需要告诉OpenGL ES从何处取得顶点的位置和其他一些附加信息。第一个参数告诉OpenGL ES每个顶点的位置是由x、y坐标组成。如果需要指定x、y和z值,那么需要将参数设置为3.第二个参数告诉OpenGL ES坐标使用的数据类型。在这里是GL10.GL_FLOAT,这说明坐标值使用的是浮点型,占用4个字节。第三个参数是步长,告诉OpenGL顶点位置之间的字节距离。本例中,步长为零,说明位置值是紧密封装的。最后一个参数是FloatBuffer,它代表原生堆中的一个内存块,并有一个起始地址。

当需要绘制缓冲区中的内容时,OpenGL ES将从该位置读取这些顶点值。

最后调用的是glDrawArrays()方法,它将绘制一个三角形。第一个参数指明了将要绘制的物体类型。本例中通过GL10.GL_TRIANGLES指明将渲染三角形。下一个参数是与顶点指针指向第一个顶点相关联的偏移量。该偏移量是以顶点为单位进行测量的,而不是以字节或浮点为单位。如果指定了多个三角形,那么可以使用这个偏移量渲染三角形列表的一个子集。最后一个参数告诉OpenGL ES渲染时使用的顶点数量。

每一个顶点可能拥有多个属性,不仅仅只是位置。其他的属性可能是顶点颜色。

在没有指定顶点属性时,OpenGL ES会将这些属性设为默认值。绝大多数默认值可直接设置。例如,当需要为绘制的所有顶点设置默认颜色时,使用如下方法;

GL10.glColor4f(float r, float g, float b, float a)

OpenGL ES默认颜色值从(1, 1, 1, 1 )开始,这意味着从白色开始。

FirstTriangleTest.java

package org.example.androidgames.glbasics;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;

import javax.microedition.khronos.opengles.GL10;

import org.example.androidgames.framework.Game;
import org.example.androidgames.framework.Screen;
import org.example.androidgames.framework.impl.GLGame;
import org.example.androidgames.framework.impl.GLGraphics;

public class FirstTriangleTest extends GLGame {
	
	@Override
	public Screen getStartScreen() {
		// TODO Auto-generated method stub
		return new FirstTriangleScreen(this);
	}
	
	class FirstTriangleScreen extends Screen{
		GLGraphics glGraphics;
		FloatBuffer vertices;

		public FirstTriangleScreen(Game game){
			super(game);
			glGraphics = ((GLGame)game).getGLGraphics();
			
			ByteBuffer byteBuffer = ByteBuffer.allocateDirect(3 * 2 * 4);
			byteBuffer.order(ByteOrder.nativeOrder());
			vertices = byteBuffer.asFloatBuffer();
			vertices.put(new float[]{
					0.0f,     0.0f,
					319.0f,   0.0f,
					160.0f, 479.0f
			});
			vertices.flip();
		}

		@Override
		public void update(float deltaTime) {
			// TODO Auto-generated method stub
			game.getInput().getTouchEvents();	
			game.getInput().getKeyEvents();
		}

		@Override
		public void present(float deltaTime) {
			// TODO Auto-generated method stub
			GL10 gl = glGraphics.getGL();
			gl.glViewport(0, 0, glGraphics.getWidth(), glGraphics.getHeight());
			gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
			gl.glMatrixMode(GL10.GL_PROJECTION);
			gl.glLoadIdentity();
			gl.glOrthof(0, 320, 0, 480, 1, -1);
			
			gl.glColor4f(1, 0, 0, 1);
			gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
			gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vertices);
			gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
		}

		@Override
		public void pause() {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void resume() {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void dispose() {
			// TODO Auto-generated method stub
			
		}
		
	}
}

运行效果:


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3