当前位置:  编程技术>移动开发
本页文章导读:
    ▪【OBJC种扩展之Hex值颜色转换】UIColor+Hex        【OBJC类扩展之Hex值颜色转换】UIColor+Hex #import <UIKit/UIKit.h> @interface UIColor (Hex) + (UIColor *)colorWithHex:(long)hexColor; + (UIColor *)colorWithHex:(long)hexColor alpha:(float)opacity; @end #import "UIColor+Hex.h" @i.........
    ▪ 怎么取出 Map中key和value的值        如何取出 Map中key和value的值 你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下: Set keys = map.........
    ▪ AT91SAM9260上的U-Boot移植和添加LCD驱动支持       AT91SAM9260下的U-Boot移植和添加LCD驱动支持第一步:从http://www.denx.de/wiki/U-Boot/SourceCode网站下载u-boot-2008.10.tar.bz2这个文件。 第二步:建立自己的交叉编译环境,我用的是arm-none-linux-gnueabi-,可以.........

[1]【OBJC种扩展之Hex值颜色转换】UIColor+Hex
    来源: 互联网  发布时间: 2014-02-18
【OBJC类扩展之Hex值颜色转换】UIColor+Hex

#import <UIKit/UIKit.h>

@interface UIColor (Hex)

+ (UIColor *)colorWithHex:(long)hexColor;
+ (UIColor *)colorWithHex:(long)hexColor alpha:(float)opacity;

@end


#import "UIColor+Hex.h"

@implementation UIColor (Hex)

+ (UIColor*) colorWithHex:(long)hexColor;
{
    return [UIColor colorWithHex:hexColor alpha:1.];    
}

+ (UIColor *)colorWithHex:(long)hexColor alpha:(float)opacity
{
    float red = ((float)((hexColor & 0xFF0000) >> 16))/255.0;
    float green = ((float)((hexColor & 0xFF00) >> 8))/255.0;
    float blue = ((float)(hexColor & 0xFF))/255.0;
    return [UIColor colorWithRed:red green:green blue:blue alpha:opacity];  
}   

@end




    
[2] 怎么取出 Map中key和value的值
    来源: 互联网  发布时间: 2014-02-18
如何取出 Map中key和value的值

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:

Set keys = map.keySet( );

if(keys != null) {

Iterator iterator = keys.iterator( );

while(iterator.hasNext( )) {

Object key = iterator.next( );

Object value = map.get(key);

;....

;}

}

然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。


幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。 接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:



Set entries = map.entrySet( );

if(entries != null) {

Iterator iterator = entries.iterator( );

while(iterator.hasNext( )) {

Map.Entry entry =iterator.next( );

Object key = entry.getKey( );

Object value = entry.getValue();


;....

}

}

尽管增加了一行代码,我们却省略了许多对Map不必要的“get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。

Hashtable内部排列的方式是散列排布,所以当输出信息时会是无序的。为了能保证输出的数据按照顺序排列,不要渴望用java自带的函数来对 Hashtable对象进行调整处理。当我们获取Hashtable里的KEY和VALUE时,一般都运行了Map.Entry类来转换,好,现在就用这 个类来作文章,我具体写了一个方法。

代码:

/**
* 方法名称:getSortedHashtable
* 参数:Hashtable h 引入被处理的散列表
* 描述:将引入的hashtable.entrySet进行排序,并返回
*/
public static Map.Entry[] getSortedHashtable(Hashtable h){

   Set set = h.entrySet();
  
   Map.Entry[] entries = (Map.Entry[])set.toArray(new Map.Entry[set.size()]);
   
   Arrays.sort(entries,new Comparator(){

    public int compare(Object arg0, Object arg1) {
     Object key1 = ((Map.Entry)arg0).getKey();
     Object key2 = ((Map.Entry)arg1).getKey();
     return ((Comparable)key1).compareTo(key2);
    }
   
   });
  
   return entries;
}

调用这个方法:

Map.Entry[] set = getSortedHashtable(t);
    
   //perportyTable
   for (int i=0;i<set.length;i++){

    System.out.println(set[i].getKey().toString());
   
     System.out.println(set[i].getValue().toString());

   }



    
[3] AT91SAM9260上的U-Boot移植和添加LCD驱动支持
    来源: 互联网  发布时间: 2014-02-18
AT91SAM9260下的U-Boot移植和添加LCD驱动支持

第一步:从http://www.denx.de/wiki/U-Boot/SourceCode网站下载u-boot-2008.10.tar.bz2这个文件。

第二步:建立自己的交叉编译环境,我用的是arm-none-linux-gnueabi-,可以从这里下载最新的交叉编译器。建立的系统为fedora 16。设置好交叉编译环境变量。一般觉得export命令来设置会比较好用,有的会提供修改profile的方式和bash的方式。本人认为还是动态设置比较好。

第三步:首先用make disclean命令清除以前编译的u-boot.bin文件。接着用make at91sam9261ek_config命令来配置好编译的目标。

第四步:用vim Makefile命令,修改

ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux- 改为 arm-none-linux-guneabi-
endif
第五步:编译,make

如果编译通过会生成 u-boot.bin文件

第六步:移植LCD 显示驱动:

需要修改LCD时序参数,以适合本站的竖屏。
u-boot-2008.10\board\atmel\at91sam9261ek\at91sam9261ek.c: 修改结构体:

vidinfo_t panel_info = {
	vl_col:		240,
	vl_row:		320,
	vl_clk:		4965000,
	vl_sync:	ATMEL_LCDC_INVLINE_INVERTED |
			ATMEL_LCDC_INVFRAME_INVERTED,
	vl_bpix:	3,
	vl_tft:		1,
	vl_hsync_len:	5,
	vl_left_margin:	1,
	vl_right_margin:33,
	vl_vsync_len:	1,
	vl_upper_margin:1,
	vl_lower_margin:0,
	mmio:		AT91SAM9261_LCDC_BASE,
};
然后修改为:

vidinfo_t panel_info = {
	vl_col:		480,
	vl_row:		272,
	vl_clk:		9000000,
	vl_sync:	ATMEL_LCDC_INVLINE_INVERTED |
			ATMEL_LCDC_INVFRAME_INVERTED,
	vl_bpix:	3,
	vl_tft:		1,
	vl_hsync_len:	41,
	vl_left_margin:	2,
	vl_right_margin:2,
	vl_vsync_len:	10,
	vl_upper_margin:2,
	vl_lower_margin:2,
	mmio:		AT91SAM9261_LCDC_BASE,
};
修改完后,下面还需要修改:

        at91_set_A_periph(AT91_PIN_PB1, 0);     /* LCDHSYNC */
        at91_set_A_periph(AT91_PIN_PB2, 0);     /* LCDDOTCK */
        at91_set_A_periph(AT91_PIN_PB3, 0);     /* LCDDEN */
        at91_set_A_periph(AT91_PIN_PB4, 0);     /* LCDCC */
        at91_set_A_periph(AT91_PIN_PB7, 0);     /* LCDD2 */
        at91_set_A_periph(AT91_PIN_PB8, 0);     /* LCDD3 */
        at91_set_A_periph(AT91_PIN_PB9, 0);     /* LCDD4 */
        at91_set_A_periph(AT91_PIN_PB10, 0);    /* LCDD5 */
        at91_set_A_periph(AT91_PIN_PB11, 0);    /* LCDD6 */
        at91_set_A_periph(AT91_PIN_PB12, 0);    /* LCDD7 */
        at91_set_A_periph(AT91_PIN_PB15, 0);    /* LCDD10 */
        at91_set_A_periph(AT91_PIN_PB16, 0);    /* LCDD11 */
        at91_set_A_periph(AT91_PIN_PB17, 0);    /* LCDD12 */
        at91_set_A_periph(AT91_PIN_PB18, 0);    /* LCDD13 */
        at91_set_A_periph(AT91_PIN_PB19, 0);    /* LCDD14 */
        at91_set_A_periph(AT91_PIN_PB20, 0);    /* LCDD15 */
        at91_set_B_periph(AT91_PIN_PB23, 0);    /* LCDD18 */
        at91_set_B_periph(AT91_PIN_PB24, 0);    /* LCDD19 */
        at91_set_B_periph(AT91_PIN_PB25, 0);    /* LCDD20 */
        at91_set_B_periph(AT91_PIN_PB26, 0);    /* LCDD21 */
        at91_set_B_periph(AT91_PIN_PB27, 0);    /* LCDD22 */
        at91_set_B_periph(AT91_PIN_PB28, 0);    /* LCDD23 */

 

为:

01.static void at91sam9261ek_lcd_hw_init(void)  
02.{  
03.        at91_set_A_periph(AT91_PIN_PB1, 0);     /* LCDHSYNC */  
04.        at91_set_A_periph(AT91_PIN_PB2, 0);     /* LCDDOTCK */  
05.        at91_set_A_periph(AT91_PIN_PB3, 0);     /* LCDDEN */  
06.        at91_set_gpio_value(AT91_PIN_PB4, 1);   /* LCDCC */  
07.        at91_set_A_periph(AT91_PIN_PB7, 0);     /* LCDD2 */  
08.        at91_set_A_periph(AT91_PIN_PB8, 0);     /* LCDD3 */  
09.        at91_set_A_periph(AT91_PIN_PB9, 0);     /* LCDD4 */  
10.        at91_set_A_periph(AT91_PIN_PB10, 0);    /* LCDD5 */  
11.        at91_set_A_periph(AT91_PIN_PB11, 0);    /* LCDD6 */  
12.        at91_set_A_periph(AT91_PIN_PB12, 0);    /* LCDD7 */  
13.        at91_set_A_periph(AT91_PIN_PB15, 0);    /* LCDD10 */  
14.        at91_set_A_periph(AT91_PIN_PB16, 0);    /* LCDD11 */  
15.        at91_set_A_periph(AT91_PIN_PB17, 0);    /* LCDD12 */  
16.        at91_set_A_periph(AT91_PIN_PB18, 0);    /* LCDD13 */  
17.        at91_set_A_periph(AT91_PIN_PB19, 0);    /* LCDD14 */  
18.        at91_set_A_periph(AT91_PIN_PB20, 0);    /* LCDD15 */  
19.        at91_set_B_periph(AT91_PIN_PB23, 0);    /* LCDD18 */  
20.        at91_set_B_periph(AT91_PIN_PB24, 0);    /* LCDD19 */  
21.        at91_set_B_periph(AT91_PIN_PB25, 0);    /* LCDD20 */  
22.        at91_set_B_periph(AT91_PIN_PB26, 0);    /* LCDD21 */  
23.        at91_set_B_periph(AT91_PIN_PB27, 0);    /* LCDD22 */  
24.        at91_set_B_periph(AT91_PIN_PB28, 0);    /* LCDD23 */

 

下面为验证的结果:

 经过我和我的搭档两天的合作,终于把这个问题解决了!接下来把linux-2.6.30移植到这款板子上来!


    
最新技术文章:
▪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程序设计之AIDL实例详解 iis7站长之家
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


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

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

浙ICP备11055608号-3