当前位置:  编程技术>移动开发
本页文章导读:
    ▪UILocalNotification的了解        UILocalNotification的理解 Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种.........
    ▪ EditText加入图片混编展示        EditText加入图片混编显示 转载自:http://yutinglong.iteye.com/blog/919064       Android的WebView固然强大,不过很多时候还要依赖于Android组件。这些组件的常规的使用方法这里就不必说了,而在这些组.........
    ▪ OOP中,举动同样可以是类       OOP中,行为同样可以是类     今天,突然理解到,方法同样也可以是类。    在OO中,类里一般是既有状态又有方法。     例如:     人一般有状态:姓名,身高,性别等。     .........

[1]UILocalNotification的了解
    来源: 互联网  发布时间: 2014-02-18
UILocalNotification的理解
Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本地和远程。本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notification对象加入到系统Notification管理机制队列中,系统会在指定的时间激发将本地Notification,应用只需设计好处理Notification的方法就完成了整个Notification流程了。
本地Notification所使用的对象是UILocalNotification,UILocalNotification的属性涵盖了所有处理Notification需要的内容。UILocalNotification的 属性有fireDate、timeZone、repeatInterval、repeatCalendar、alertBody、 alertAction、hasAction、alertLaunchImage、applicationIconBadgeNumber、 soundName和userInfo。
UILocalNotification的调度
其中fireDate、timeZone、repeatInterval和repeatCalendar是用于UILocalNotification的调度。fireDate是UILocalNotification的激发的确切时间。timeZone是UILocalNotification激 发时间是否根据时区改变而改变,如果设置为nil的话,那么UILocalNotification将在一段时候后被激发,而不是某一个确切时间被激发。 repeatInterval是UILocalNotification被重复激发之间的时间差,不过时间差是完全根据日历单位 (NSCalendarUnit)的,例如每周激发的单位,NSWeekCalendarUnit,如果不设置的话,将不会重复激发。 repeatCalendar是UILocalNotification重复激发所使用的日历单位需要参考的日历,如果不设置的话,系统默认的日历将被作 为参考日历。
UILocalNotification的提醒内容
alertBody、alertAction、hasAction和alertLaunchImage是当应用不在运行时,系统处理UILocalNotification提醒是需要的内容。alertBody是一串现实提醒内容的字符串(NSString),如果 alertBody未设置的话,Notification被激发时将不现实提醒。alertAction也是一串字符 (NSString),alertAction的内容将作为提醒中动作按钮上的文字,如果未设置的话,提醒信息中的动作按钮将显示为“View”相对文字 形式。alertLaunchImage是在用户点击提醒框中动作按钮(“View”)时,等待应用加载时显示的图片,这个将替代应用原本设置的加载图 片。hasAction是一个控制是否在提醒框中显示动作按钮的布尔值,默认值为YES。
UILocalNotification的其他部分
applicationIconBadgeNumber、soundName和userInfo将使UILocalNotification更完 整。applicationIconBadgeNumber是显示在应用图标右上角的数字,这样让用户直接了解到应用需要处理的 Notification。soundName是另一个UILocalNotification用来提醒用户的手段,在Notification被激发之 后将播放这段声音来提醒用户有Notification需要处理,如果不设soundName的话,Notification被激发是将不会有声音播放, 除去应用特制的声音以外,也可以将soundName设为UILocalNotificationDefaultSoundName来使用系统默认提醒声 音。userInfo是Notification用来传递数据的NSDictionary。
登记UILocalNotification
在设置完UILocalNotification对象之后,应用需要在系统Notification处理队列中登记已设置完的UILocalNotification对象。登记UILocalNotification * localNotification的方式为:

   [[UIApplication sharedApplication]  scheduleLocalNotification:localNotification];

在有些时候,应用可能需要直接激发一个Notification而不是等一段时间在激发,应用可以以下的方式直接触发已设好的Notification:

   [[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];

处理UILocalNotification
在提醒框动作按钮被点击后,应用开始运行时,可以在 -(BOOL)application:didFinishLaunchingWithOptions:这个Application delegate方法中处理。可以通过以下方式来加载为最近未处理的Notification:

   UILocalNotification * localNotif=[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

如果应用正在运行时,可以通过覆盖在Application Delegate中的方法-(void)application:didReceiveLocalNotification:来处理 Notification。作为方法的第二个参数为UILocalNotification对象,只需处理对象携带的userInfo来处理响应的动作。

取消UILocalNotification
可以使用以下两个方式来取消一个已经登记的Notification,第一个方式可以直接取消一个指定的Notification,第二个方式将会把该应用已登记的Notification一起取消

   [[UIApplication sharedApplication] cancelLocalNotification:localNotification];


   [[UIApplication sharedApplication] cancelAllLocalNotification];

总结
本地Notification的机制在应用开发中非常有效,可以很好的帮助开发者管理一些指定时间需要发生的事件,例如闹钟类的应用。而且因为系统统一对Notification的管理,让同样的任务可以非常简单得被处理,而无需让应用浪费资源去等待事件的触发。

    
[2] EditText加入图片混编展示
    来源: 互联网  发布时间: 2014-02-18
EditText加入图片混编显示

转载自:http://yutinglong.iteye.com/blog/919064

 

 

 

Android的WebView固然强大,不过很多时候还要依赖于Android组件。这些组件的常规的使用方法这里就不必说了,而在这些组件中还有很多比较有趣的使用方法。例如,使用过QQ for Android的开发人员可能会发现,在输入聊天记录时,可以直接将表情图像放到EditText组件中(如图3所示)。也许会多初学者会感觉实现这个功能比较困难,但实际上实现这个功能再简单不过了。

我们一般通过EditText的setText方法来设置EditText中的文本,例如如下的代码向EditText添加了一个字符串。EditText edittext = (EditText)findByView(R.id.edittext);
Edittext.setText(“测试数据”);

 

 

 

Java代码  
  • 1.    ImageGetter imageGetter = new ImageGetter()   
  • 2.    {   
  • 3.   
  • 4.        @Override  
  • 5.        public Drawable getDrawable(String source)   
  • 6.        {   
  • 7.            int id = Integer.parseInt(source);   
  • 8.            Drawable d = getResources().getDrawable(id);   
  • 9.            d   
  • 10.                    .setBounds(0, 0, d.getIntrinsicWidth(), d   
  • 11.                            .getIntrinsicHeight());   
  • 12.            return d;   
  • 13.        }   
  • 14.    };  
  • 1.    ImageGetter imageGetter = new ImageGetter()
    2.    {
    3.
    4.        @Override
    5.        public Drawable getDrawable(String source)
    6.        {
    7.            int id = Integer.parseInt(source);
    8.            Drawable d = getResources().getDrawable(id);
    9.            d
    10.                    .setBounds(0, 0, d.getIntrinsicWidth(), d
    11.                            .getIntrinsicHeight());
    12.            return d;
    13.        }
    14.    };

     

    上面的代码通过ImageGetter接口的getDrawable方法返回了一个Drawable对象,其中source参数的值就是<img>标签的src属性的值。我们需要通过如下的代码来使用<img>标签。

     

    Java代码  
  • editText.append(Html.fromHtml("<imgsrc='"+ faces[new Random().nextInt(6)] +"'/>", imageGetter, null));  
  • editText.append(Html.fromHtml("<imgsrc='"+ faces[new Random().nextInt(6)] +"'/>", imageGetter, null));
    
    

     其中faces是一个int类型数组,保存了相应的drawable资源的ID值。在使用<img>标签之前需要使用Html.fromHtml方法来封装这些标签,如果使用的是<img>标签,需要使用fromHtml方法的第2个参数指定ImageGetter对象,以便通过<img>标签的src属性获得相应的Drawable对象。通过EditText.append方法插入<img>标签后,系统会自动将<img>标签转换成相应的图像显示在EditText中。下面来看看我们的成果(如图4所示)。

     

    转载自:http://yutinglong.iteye.com/blog/919064

    我们只需要对上面的代码稍微做一下手脚,就可以实现将图像插入到EditText中的目的。如果读者看过《Android/OPhone开发完全讲义》,会发现书中在很多情况下使用了文本标记(类似于HTML语言的标签,但只包含了十分有限的HTML语言的功能)。在这些标记中有一个<img>标记。通过这个标记,可以很容易地实现将图像插入到EditText的功能。不过使用<img>标签要比使用其他的标签多一个步骤,这就是要实现一个ImageGetter接口,通过这个接口,可以获得一个Drawable对象。先看看如下的代码:


        
    [3] OOP中,举动同样可以是类
        来源: 互联网  发布时间: 2014-02-18
    OOP中,行为同样可以是类
        今天,突然理解到,方法同样也可以是类。
        在OO中,类里一般是既有状态又有方法。
         例如:
         人一般有状态:姓名,身高,性别等。
                 方法:跑步,吃饭,睡觉。
         大家有没有想过,其实跑步也是有速度的,又分长跑短跑。

        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    移动开发 iis7站长之家
    ▪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