当前位置:  编程技术>移动开发
本页文章导读:
    ▪获取在显示的Activity-转载        获取正在显示的Activity-转载    1. ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);     2. ComponentName cn = am.getRunningTasks(1).get(0).topActivity;     3. Log.d("", "pkg:"+cn.getPackageName());     .........
    ▪ Activity生命周期跟对话框        Activity生命周期和对话框 在一个Android程序中至少得有一个Activity,Android是一个对象,也就是可以想象成有生命形式的存在的一种方式,生命有生老病死的过程,伴随着Activity的一系列生命.........
    ▪ OpenGL学习四       OpenGL学习4 绘制一个3D的三棱锥   1.代码 package com.lanhuidong.opengl; import java.nio.FloatBuffer; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; import com.lanhuidong.opengl.util.Buf.........

[1]获取在显示的Activity-转载
    来源: 互联网  发布时间: 2014-02-18
获取正在显示的Activity-转载
   1. ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
   2. ComponentName cn = am.getRunningTasks(1).get(0).topActivity; 
   3. Log.d("", "pkg:"+cn.getPackageName()); 
   4. Log.d("", "cls:"+cn.getClassName());  

    
[2] Activity生命周期跟对话框
    来源: 互联网  发布时间: 2014-02-18
Activity生命周期和对话框
在一个Android程序中至少得有一个Activity,Android是一个对象,也就是可以想象成有生命形式的存在的一种方式,生命有生老病死的过程,伴随着Activity的一系列生命周期的方法决定着Activity的存不存在。这几个方法分别是长成这样的:onCreate();onStart();onResume();onPause();onStop();onDestroy();onRestart();根据单词就能大概判断出这几个方法是干什么用的。
  当一个Activity第一次被创建的时候就会调用onCreate();这个时候可以初始化数据,绑定LIstView,这个是帮助文档上如是说。
  onStart();是当一个Activity可以被用户看到的时候就会调用onStart();
  onRestart();当再次启动的时候就会调用这个方法;
  onResume();在Android应用程序里面所有的Activity都存放在一个Activity栈里面,所谓的栈就是遵循LIFO(last in first out)规律的存储空间,对于这段Activity的存储空间只有两种操作,压栈弹栈,所以对于放在最顶上的Activity总是最先被看到。onResume();就是当这个Activity被置于栈顶的时候调用的方法;
  onPause();当启动另一个Activity的时候会调用此方法,新的Activity会把旧的Activity遮住,此时就是被遮住那个Activity调用onPause();如果时间久了原来被遮住的Activity都会消失可以理解位线程挂起的状态。
  onStop()跟onPause();方法的区别就在于当一个Activity被完全遮住的时候就会调用onStop()方法,当前Activity只被局部遮住,被遮住的Activity已经用鼠标点不到的情况下就会调用onPause();
   onDestroy();毫无疑问最后的这个方法是销毁这个Activity,同样的finish();这个方法同样会调用onDestroy()方法销毁Activity
  最后来看看对话框:
   写过javascript的哥们姐们都应该知道在那个里面最好的调试bug的工具就是alert();弹出来看看里面到底是些什么东西既方便又快捷还直观。不知道Android里面的对话框能不能用来作调试。不管能不能先学会了弹对话框肯定没坏处。
  一样的新建Android项目,名字随便取自己人的就好,建好了以后第一件事就是该确定用哪种方式来布局,布局有两种方式,一种是在布局.xml文件里面写好,然后再onCreate()方法里面设置setContentView();两种方式效果都是一样的,本人崇尚与在程序端new 对象,一个Button就是一个对象,java的万物皆对象就是这个意思。当然这个随个人喜好。
  虽然本人崇尚在程序段new对象,但是今天这个就是几个Button做测试练手的。
  在layout布局文件中写四个Button。分别是 弹出来两个Button的对话框,弹出来三个Button的对话框,和弹出来能输入文本的对话框,最后一个是个进度条的对话框。
  首先在类中定义四个int类型的变量取好名字,在onCreate()方法中得到四个Button ,也就是findViewById();得到以后分别设置点击事件,重写父类的onCreateDialog方法,传进来一个Id,假设点击的是第一个Button那就传1就来,第二个Button就传2,再创建Dialog对象,这个过程看上去很麻烦,这个掉那个那个调这个,有个简单的方法直接弹出对话框:
在一个按钮的点击事件里面这样写到:AlertDialog.Builder builder=new AlertDialog.Builder(context);builder就是一个Dialog对象,需要设置builder.setTitle();builder.setMsg();设置属性,然后 builder.show();就可以了;

    
[3] OpenGL学习四
    来源: 互联网  发布时间: 2014-02-18
OpenGL学习4

绘制一个3D的三棱锥

 

1.代码

package com.lanhuidong.opengl;

import java.nio.FloatBuffer;

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

import com.lanhuidong.opengl.util.BufferToNativeOrder;

import android.opengl.GLSurfaceView.Renderer;

public class OpenGL3DRender implements Renderer {

    private float unit = 0.5f;
    private float sqrt = (float) Math.sqrt(3);
    private float[] triArray = new float[] {
            0, unit, 0,
            -unit, 0, unit/sqrt, 
            unit, 0, unit/sqrt,

            0, unit, 0, 
            unit, 0, unit/sqrt,
            0, 0, -unit*2*sqrt/3,
            
            0, unit, 0,
            0, 0, -unit*2*sqrt/3,
            -unit, 0, unit/sqrt,
            
            -unit, 0, unit/sqrt,
            unit, 0, unit/sqrt,
            0, 0, -unit*2*sqrt/3
        };
    
    private float colorUnit = 1f;
    private float[] triColor = new float[]{
            colorUnit, 0, 0, colorUnit,
            0, colorUnit, 0, colorUnit,
            0, colorUnit, colorUnit, colorUnit,
            
            colorUnit, 0, 0, colorUnit,
            0, colorUnit, colorUnit, colorUnit,
            colorUnit, 0, colorUnit, colorUnit,
            
            colorUnit, 0, 0, colorUnit,
            0, colorUnit, 0, colorUnit,
            colorUnit, 0, colorUnit, colorUnit,
            
            0, colorUnit, 0, colorUnit,
            0, colorUnit, colorUnit, colorUnit,
            colorUnit, 0, colorUnit, colorUnit
    };
    
    private float triangle = 0f;

    @Override
    public void onDrawFrame(GL10 gl) {
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        gl.glLoadIdentity();
        gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
        gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
        FloatBuffer floatBuffer = BufferToNativeOrder.getNativeOrderFloatBuffer(triArray);
        gl.glVertexPointer(3, GL10.GL_FLOAT, 0, floatBuffer);
        gl.glColorPointer(4, GL10.GL_FLOAT, 0, BufferToNativeOrder.getNativeOrderFloatBuffer(triColor));
        gl.glRotatef(triangle, 0, 1, 0);
        triangle += 1f;
        for(int i = 0; i < 4; i++){
            gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, i * 3, 3);
        }
        gl.glDisableClientState(GL10.GL_COLOR_ARRAY);
        gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
    }

    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);

        float ratio = (float) width / height;
        gl.glMatrixMode(GL10.GL_PROJECTION);
        gl.glLoadIdentity();
        gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);
    }

    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        gl.glClearColor(0, 0, 1.0f, 0.5f);
    }

}

 

2.效果



 


    
最新技术文章:
▪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