当前位置:  编程技术>移动开发
本页文章导读:
    ▪Sencha Touch 二使切换速度加快小贴士        Sencha Touch 2使切换速度加快小贴士 大家做st应用的时候可以先把目的地页面的内容隐藏掉,切换完成后去显示,这样可以快很多 类似这样 先hide(),然后切换完成后show()  不然打页.........
    ▪ MSM7627a 调试记要        MSM7627a 调试记录一.屏幕在休眠唤醒后闪屏? 答:添加当屏幕休眠时置低reset脚,在resume的时候再重新拉高reset脚. 二.在kernel内添加自己的Logo? 答: 1. 制作当前屏幕像素的图片(模拟器默认为320*480).........
    ▪ 运用AsyncTask跟新进度条       使用AsyncTask跟新进度条在Android中是不允许在子线程中跟新UI的,解决这个问题的主要方法有两种: 1、Handler 2、AsyncTask   现在就来讲解AsyncTask跟新进度条的例子 AsyncTask的构造函数中有三个参.........

[1]Sencha Touch 二使切换速度加快小贴士
    来源: 互联网  发布时间: 2014-02-18
Sencha Touch 2使切换速度加快小贴士
 大家做st应用的时候可以先把目的地页面的内容隐藏掉,切换完成后去显示,这样可以快很多

类似这样

先hide(),然后切换完成后show()
 不然打页面控件太多容易造成delay的
特别是有图表的页面
canvas渲染极慢
有疑问可去q群交流224711028

    
[2] MSM7627a 调试记要
    来源: 互联网  发布时间: 2014-02-18
MSM7627a 调试记录

一.屏幕在休眠唤醒后闪屏?

答:添加当屏幕休眠时置低reset脚,在resume的时候再重新拉高reset脚.


二.在kernel内添加自己的Logo?

答:

1. 制作当前屏幕像素的图片(模拟器默认为320*480)
使用PS制作一张320*480的图片,保存时选“保存为 Web 所用格式”,然后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo.png
注:好像只支持png-24,其他格式生成的rle文件显示不正常,有兴趣大家可以再验证一下。
2. 将图片转换为raw格式
使用linux下的ImageMagick自带的convert命令,进行raw格式转换,命令为:
  convert -depth 8 android_logo.png rgb:android_logo.raw
注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:
  sudo apt-get install imagemagick
3. 将raw格式转化为rle文件
需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:
rgb2565 -rle < android_logo.raw > initlogo.rle
到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的宏:
#define INIT_IMAGE_FILE "/initlogo.rle"  4.在板子的根目录下加initlogo.rle文件.

     a. put the file initlogo.rle in device /qcom/common/

     b.修改device /qcom/common/common.mk

           添加 PRODUCT_COPY_FILES := \

           ....

           $(LOCAL_PATH)/initlogo.rle:root/initlogo.rle \

        最后再将整个Android 系统编译,检查生成的out/target/product/msm7627a_sku3/root/就可以发现initlogo.rle在其目录下.


三.在TP下加载虚拟按键?

在probe设置按键类型

    __set_bit(KEY_MENU, ts->input_dev->keybit);
    __set_bit(KEY_HOME, ts->input_dev->keybit);
    __set_bit(KEY_BACK, ts->input_dev->keybit);
    __set_bit(KEY_SEARCH, ts->input_dev->keybit);

并且设置按键区域 static struct osd_offset OSD_mapping[] = {
    {1, 165, KEY_SEARCH},
    {285, 410, KEY_MENU},
    {480, 590, KEY_HOME},
    {650, 790, KEY_BACK},
};

中断里面处理 上报函数 input_report_key(idev, OSD_mapping[i].key_event, 1);

其它的程序流程基本上跟TP的一样.




    
[3] 运用AsyncTask跟新进度条
    来源: 互联网  发布时间: 2014-02-18
使用AsyncTask跟新进度条

在Android中是不允许在子线程中跟新UI的,解决这个问题的主要方法有两种:

1、Handler

2、AsyncTask

 

现在就来讲解AsyncTask跟新进度条的例子

AsyncTask的构造函数中有三个参数

第一个参数:表示传递到doInBackground中的参数

第二个参数:表示传递到onProgressUpdate中的参数

第三个参数:表示doInBackground的返回值

 

 

对AsyncTask中几个比较常用的函数进行解释:

doInBackground :表示在后台运行的代码,主要用于执行比较耗时的任务,比如从网络下载数据

onPreExecute:表示在execute方法之前执行

onPostExecute:表示在execute方法后面执行

onProgressUpdate:主要用来跟新UI的

publishProgress:一般在doInBackground调用,从而调用onProgressUpdate

 

下面将我跟新ProgressBar的代码贴上:

public class MyTask extends AsyncTask<ProgressBar, Integer,Integer>
{

	//用于保存UI上面的进度条
	private ProgressBar bar;
	@Override
	protected Integer doInBackground(ProgressBar... params)
	{
		// TODO Auto-generated method stub
		System.out.println("doinbackground=====>"+Thread.currentThread().getName());
		
		bar=params[0];
		int i=0;
		for(;i<=bar.getMax();i++)
		{
			bar.setProgress(i);
			try
			{
				//通过调用此方法,从而调用onProgressUpdate
				this.publishProgress(i);
				Thread.sleep(1000);
				
			} catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return i;
	}

	@Override
	protected void onCancelled()
	{
		// TODO Auto-generated method stub
		super.onCancelled();
	}

	@Override
	protected void onPostExecute(Integer result)
	{
		// TODO Auto-generated method stub
		super.onPostExecute(result);
		System.out.println("postExecute=====>"+Thread.currentThread().getName());
	}

	@Override
	protected void onPreExecute()
	{
		// TODO Auto-generated method stub
		super.onPreExecute();
		System.out.println("preExecute=====>"+Thread.currentThread().getName());
	}

	@Override
	protected void onProgressUpdate(Integer... values)
	{
		// TODO Auto-generated method stub
		System.out.println("onprogressUpdate=====>"+Thread.currentThread().getName());
		super.onProgressUpdate(values);
		bar.setProgress(values[0]);
	}
	
	

}


 


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