当前位置:  编程技术>移动开发
本页文章导读:
    ▪改变银屏显示方式已经加载图片        改变屏幕显示方式已经加载图片 //获取屏幕方向 public static int ScreenOrient(Activity activity) { int orient = activity.getRequestedOrientation(); // ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE横屏,PORTRAIT竖.........
    ▪ singleTop跟singleTask有什么区别?(活动 Activity 四种加载模式)        singleTop和singleTask有什么区别?(活动 Activity 四种加载模式) singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。(注意是栈顶,.........
    ▪ win phone的MD5加密跟imei号的获取       win phone的MD5加密和imei号的获取   1. m5加密:http://archive.msdn.microsoft.com/SilverlightMD5     从这个地址下一个文件,加到工程里,调用MD5Core.GetHashString(originalString);就可以了   2. http://stackoverflow.c.........

[1]改变银屏显示方式已经加载图片
    来源: 互联网  发布时间: 2014-02-18
改变屏幕显示方式已经加载图片
//获取屏幕方向
public static int ScreenOrient(Activity activity)
    {
        int orient = activity.getRequestedOrientation();
       // ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE横屏,PORTRAIT竖屏

        if(orient != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE && orient != ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
            //宽>高为横屏,反正为竖屏  
             WindowManager windowManager = activity.getWindowManager();  
             Display display = windowManager.getDefaultDisplay();  
             int screenWidth  = display.getWidth();  
             int screenHeight = display.getHeight();  
             orient = screenWidth < screenHeight ? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT : ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
        }
        return orient;
    }

   根据不同屏幕设置不同图片

public static void AutoBackground(Activity activity,View view,int Background_v, int Background_h)
    {
        int orient=ScreenOrient(activity);
        if (orient == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) { //纵向 
            view.setBackgroundResource(Background_v);
        }else{ //横向
            view.setBackgroundResource(Background_h);
        }  
    }

 

 

 

注意:

screenOrientations属性共有7中可选值(常量定义在 android.content.pm.ActivityInfo类中 ) :

  • landscape:横屏(风景照) ,显示时宽度大于高度;
  • portrait:竖屏 (肖像照) , 显示时 高 度大于 宽 度 ;
  • user:用户当前的首选方向;
  • behind:继承Activity堆栈中当前Activity下面的那个Activity的方向;
  • sensor:由物理感应器决定显示方向,它取决于用户如何持有设备,当 设备 被旋转时方向会随之变化——在横屏与竖屏之间;
  • nosensor:忽略物理感应器——即显示方向与物理感应器无关,不管用户如何旋转设备显示方向都不会随着改变("unspecified"设置除外);
  • unspecified :未指定,此为默认值,由Android系统自己选择适当的方向,选择策略视具体设备的配置情况而定,因此不同的设备会有不同的方向选择;
  • 以上配置值会反映在Activity.getRequestedOrientation()方法的返回值中,与之对应的setRequestedOrientation()方法可以通过API的方式动态改变该属性的值,如以下示例将在横屏/竖屏两个方向上进行切换:


        
    [2] singleTop跟singleTask有什么区别?(活动 Activity 四种加载模式)
        来源: 互联网  发布时间: 2014-02-18
    singleTop和singleTask有什么区别?(活动 Activity 四种加载模式)

    singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。(注意是栈顶,不在栈顶照样创建新实例!)

    singleTask模式:当intent到来,需要创建singleTask模式Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它。

    Activity的四种加载模式:

     

    1、standard :系统的默认模式,一次跳转即会生成一个新的实例。假设有一个activity命名为Act1,执行语句:

     startActivity(new Intent(Act1.this, Act1.class));

    后Act1将跳转到另外一个Act1,也就是现在的栈里面有 Act1 的两个实例。按返回键后你会发现仍然是在Act1(第一个)里面。

     

    2、singleTop:singleTop 跟standard 模式比较类似。唯一的区别就是,当跳转的对象是位于栈顶的activity(应该可以理解为用户眼前所 看到的activity)时,程序将不会生成一个新的activity实例,而是直接跳到现存于栈顶的那个activity实例。拿上面的例子来说,当 Act1 为 singleTop 模式时,执行跳转后栈里面依旧只有一个实例,如果现在按返回键程序将直接退出。这个貌似用得比较少。

     

    3、singleTask: singleTask模式和后面的 singleInstance模式都是只创建一个实例的。在这种模式下,无论跳转的对象是不是位于栈顶的activity,程序都不会生成一个新的实例 (当然前提是栈里面已经有这个实例)。这种模式相当有用,在以后的多activity开发中, 经常会因为跳转的关系导致同个页面生成多个实例,这个在用户体验上始终有点不好,而如果你将对应的activity声明为 singleTask 模式,这种问题将不复存在。不过前阵子好像又看过有人说一般不要将除开始页面的其他页面设置为 singleTask 模式,原因暂时不明,哪位知道的可以请教下。

     

    4、singleInstance: 设置为 singleInstance 模式的 activity 将独占一个task(感觉task可以理解为进程),独占一个task的activity与其说是activity,倒不如说是一个应用,这个应用与其他 activity是独立的,它有自己的上下文activity。拿一个例子来说明吧:

    现在有以下三个activity: Act1、Act2、Act3,其中Acti2 为 singleInstance 模式。它们之间的跳转关系为: Act1 -- Act2 -- Act3 ,现在在Act3中按下返回键,由于Act2位于一个独立的task中,它不属于Act3的上下文activity,所以此时将直接返回到Act1。这就 是singleInstance模式。


        
    [3] win phone的MD5加密跟imei号的获取
        来源: 互联网  发布时间: 2014-02-18
    win phone的MD5加密和imei号的获取

     

    1. m5加密:http://archive.msdn.microsoft.com/SilverlightMD5
        从这个地址下一个文件,加到工程里,调用MD5Core.GetHashString(originalString);就可以了
     
    2. http://stackoverflow.com/questions/14702868/serial-number-of-phone-device
    imei号:  Dont forget to specify ID_CAP_IDENTITY_DEVICE capability in the app manifest.
    object uniqueId;var hexString =string.Empty;
    if(DeviceExtendedProperties.TryGetValue("DeviceUniqueId",out uniqueId))
        hexString =BitConverter.ToString((byte[])uniqueId).Replace("-",string.Empty             );
    

     


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