当前位置:  编程技术>移动开发
本页文章导读:
    ▪加载无标题栏的全屏页面,加载速度慢的时候,出现标题栏提示页面,怎么去掉        加载无标题栏的全屏页面,加载速度慢的时候,出现标题栏提示页面,如何去掉 如果你是在onCreate方法中,通过设置requestWindowFeature(Window.FEATURE_NO_TITLE);来实现页面不显示标题栏的效果,如.........
    ▪ 项目口试        项目面试 1、自我介绍下,技术特长,工作学习背景等2、你认为你从事研发工作有哪些特点?3、谈简历中从事的项目,以及在其中充当的角色?4、请谈谈对一个系统设计的总体思路、针.........
    ▪ Ranking跟等级玩家搜索       Ranking和等级玩家搜索 基于redis的sorted set实现排名(Ranking)和等级玩家搜索功能。testcase1()有方法的调用样例: #-*- coding: utf-8 -* import redis import random # 调试开关 _DEBUG = False # 删除缓冲 BUF_SIZ.........

[1]加载无标题栏的全屏页面,加载速度慢的时候,出现标题栏提示页面,怎么去掉
    来源: 互联网  发布时间: 2014-02-18
加载无标题栏的全屏页面,加载速度慢的时候,出现标题栏提示页面,如何去掉
如果你是在onCreate方法中,通过设置requestWindowFeature(Window.FEATURE_NO_TITLE);来实现页面不显示标题栏的效果,如果加载速度慢则会出现带有标题栏的提示页面,如果要去掉,可以在AndroidManifest.xml中的相应的activity中加入这样的属性控制android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
eg:
     <activity
            android:name=".LoginActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    
[2] 项目口试
    来源: 互联网  发布时间: 2014-02-18
项目面试
1、自我介绍下,技术特长,工作学习背景等

2、你认为你从事研发工作有哪些特点?

3、谈简历中从事的项目,以及在其中充当的角色?

4、请谈谈对一个系统设计的总体思路、针对这个思路,你觉得应该具备哪些方面的知识?

5、硬件项目经理
   (1)职责范围:硬件架构师;领导团队;
   (2)硬件架构师应该具备哪些技能
   (3)对以前做过项目的整体理解,采用的硬件平台、芯片、操作系统、在整个系统整合时遇到的困难
   (4)假想有一个项目,智慧门铃,整合,你谈下自己的思路

6、驱动工程师
   (1)调试过哪些硬件?
   (2)是否在arm上调试过linux的驱动?
   (3)驱动与系统和硬件的关系?从性能角度看,最好能举个例子
   (4)有一个新的项目,涉及一些新的硬件设备,请问你如何最快的入手来进行驱动开发?

7、高级嵌入式软件工程师
   (1)接触过哪些嵌入式系统?
   (2)是否会内核剪裁?
   (3)交叉编译环境搭建?
   (4)进程通信有哪几种,最常用的是哪一种?
   (5)信号安全函数和线程安全函数区别?
 

    
[3] Ranking跟等级玩家搜索
    来源: 互联网  发布时间: 2014-02-18
Ranking和等级玩家搜索

基于redis的sorted set实现排名(Ranking)和等级玩家搜索功能。

testcase1()有方法的调用样例:

#-*- coding: utf-8 -*
 
import redis
import random
 
# 调试开关
_DEBUG = False
 
# 删除缓冲
BUF_SIZE = 128
 
def _import_func(func_name):
    components = func_name.split('.')
    if len(components) == 1:
        return globals()[func_name]
 
    mod = __import__(components[0])
    for comp in components[1:]:
        mod = getattr(mod, comp)
    return mod
 
 
class Ranking:
 
    _instances = {}
 
    def __init__(self, id, redis_inst, conf, eval_rank_cb):
        self.label = id
        self.redis = redis_inst
        self.conf  = conf
        self.eval_rank_cb = eval_rank_cb
 
    @classmethod
    def instance(cls, label):
        return cls._instances[label]
 
    @classmethod
    def init(cls, configs, callback=None):
        label = configs['label']
        instance = None
        if cls._instances.has_key(label):
            instance = cls._instances[label]
 
        if instance is None:
            conf = cls.parse_config(configs)
            if conf is not None:
                instance = cls(conf['label'], \
                               conf['redis'], \
                               conf, \
                               conf['eval_rank_cb'])
                cls._instances[label] = instance
 
        return instance
 
 
    def add(self, uid, **attrs):
        name, value = self.eval_rank_cb(**attrs)
        if name is not None:
            self.do_add(name, uid, value)
        else:
            pass
 
    def do_add(self, rank, id, value):
 
        if _DEBUG:
            print "[DEBUG] Ranking.do_add: rank:", rank, " id:", id, " value", value
 
        rank_len = self.conf['rank_len']
        rc = self.redis.zadd(rank, value, id)
        len = self.redis.zcount(rank, '-inf', '+inf')
        if (len - BUF_SIZE) > rank_len:
            self.redis.zremrangebyrank(rank, 0, (len - rank_len))
            if _DEBUG:
                len = self.redis.zcount(rank, '-inf', '+inf')
                print "[DEBUG] Ranking.do_add: do remove due to too long, now len =", len
 
    def get(self, rank, len, end=-1):
        start = end - len
        return self.redis.zrange(rank, start, end, withscores=True)
 
    @classmethod
    def parse_config(cls, configs):
 
        conf = {}
 
        conf['label'] = ''
        conf['redis_server'] = ''
        conf['redis_port'] = -1
        conf['redis_db'] = ''
        conf['rank_len'] = 1000
 
        if configs.has_key('redis_server'):
            conf['label'] = configs['label']
 
        if configs.has_key('redis_server'):
            conf['redis_server'] = configs['redis_server']
 
        if configs.has_key('redis_port'):
            conf['redis_port'] = int(configs['redis_port'])
        if configs.has_key('redis_db'):
            conf['redis_db'] = configs['redis_db']
 
        if configs.has_key('rank_size'):
            conf['rank_len'] = int(configs['rank_size'])
 
        if configs.has_key('eval_rank_func'):
            conf['eval_rank_cb'] = _import_func(configs['eval_rank_func'])
 
        try:
            conf['redis'] = redis.StrictRedis(host=conf['redis_server'], \
                                              port=conf['redis_port'], \
                                              db=conf['redis_db'], \
                                              socket_timeout=3)
        except Exception,e:
            print "Ranking.parse_config.Error:", e
            return None
 
        return conf
 
# 回调接口
# 返回值格式 (rank_name, score)
 
def testcase1_eval(**kwargs):
    # 为每个等级建立一个rank,rank的依据是当前时间
    # 实现:搜索指定顶级的玩家列表功能
    import time
    lv = kwargs['level']
    return ('Lv%03d'%lv, time.time())
 
def testcase1_eval2(**kwargs):
    # 建立等级的rank,玩家根据级别大小排列。
    lv = kwargs['level']
    return ('Level', lv)
 
def testcase1():
    fifo_configs = {
        'label' : 'Fifo',
        'redis_server': '127.0.0.1',
        'redis_port': 6379,
        'redis_db': 0,
        'rank_len': 20,
        'eval_rank_func': 'testcase1_eval',
    }
 
    level_configs = {
        'label' : 'Level',
        'redis_server': '127.0.0.1',
        'redis_port': 6379,
        'redis_db': 0,
        'rank_len': 20,
        'eval_rank_func': 'testcase1_eval2',
    }
 
    Ranking.init(fifo_configs)
    Ranking.init(level_configs)
 
    level_instance = Ranking.instance('Level')
    fifo_instance = Ranking.instance('Fifo')
 
    for i in xrange(10000):
        uid = "uid%d" % i
        level = random.randint(1, 40)
 
        fifo_instance.add(uid, level=level)    # 添加rank数据
        level_instance.add(uid, level=level)   # 添加rank数据
 
    data = level_instance.get("Level", 20)     # 获取等级最高的玩家列表(20条)
    print "Level:", data
 
    data = fifo_instance.get("Lv007", 20)      # 获取等级为7级的玩家列表(20条)
    print "Level:", data
 
if __name__ == '__main__':
    testcase1()

 


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