当前位置:  编程技术>移动开发
本页文章导读:
    ▪小弟我这段时间暂时停止更新博客        我这段时间暂时停止更新博客。 如题。 ......
    ▪ PhoneState查看拨号器状态及展示联系人信息        PhoneState查看拨号器状态及显示联系人信息 添加权限   <uses-permission android:name="android.permission.READ_PHONE_STATE" />     private TextView myTextView1; public void onCreate(Bundle savedInstanceState) { super.onC.........
    ▪ 运用定制的NSMutableDictionary方法对NSMutableArray排序       使用定制的NSMutableDictionary方法对NSMutableArray排序 首先,给NSMutableDictionary建一个分类,里面加上自定义的排序方法。   头文件:   #import <Foundation/Foundation.h> @interface NSMutableDictionary(NSMutab.........

[1]小弟我这段时间暂时停止更新博客
    来源: 互联网  发布时间: 2014-02-18
我这段时间暂时停止更新博客。

如题。


    
[2] PhoneState查看拨号器状态及展示联系人信息
    来源: 互联网  发布时间: 2014-02-18
PhoneState查看拨号器状态及显示联系人信息

添加权限

 

<uses-permission
		android:name="android.permission.READ_PHONE_STATE" />
 

 

private TextView myTextView1;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.phone_state);

		myTextView1 = (TextView) findViewById(R.id.myTextView1);

		/* 新增的PhoneStateListener */
		MyPhoneCallListener myPhoneCallListener = new MyPhoneCallListener();
		/* 取得电话服务 */
		TelephonyManager tm = (TelephonyManager) this
				.getSystemService(Context.TELEPHONY_SERVICE);
		/* 注册Listener */
		tm.listen(myPhoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);

	}

	/* 内部class继承PhoneStateListener */
	public class MyPhoneCallListener extends PhoneStateListener {
		/* 重写onCallStateChanged当状态改变时改变myTextView1的文字及颜色 */
		public void onCallStateChanged(int state, String incomingNumber) {
			switch (state) {
			/* 无任务状态时 */
			case TelephonyManager.CALL_STATE_IDLE:
				myTextView1.setTextColor(Color.RED);
				myTextView1.setText("无任何状态");
				break;
			/* 接起电话时 */
			case TelephonyManager.CALL_STATE_OFFHOOK:
				myTextView1.setTextColor(Color.BLUE);
				myTextView1.setText("接起电话时");
				break;
			/* 电话进来时 */
			case TelephonyManager.CALL_STATE_RINGING:
				getContactPeople(incomingNumber);
				break;
			default:
				break;
			}
			super.onCallStateChanged(state, incomingNumber);
		}
	}

	private void getContactPeople(String incomingNumber) {
		myTextView1.setTextColor(Color.BLUE);
		ContentResolver contentResolver = getContentResolver();
		Cursor cursor = null;

		/* cursor里要放的字段名称 */
		String[] projection = new String[] { ContactsContract.Contacts._ID,
				ContactsContract.Contacts.DISPLAY_NAME,
				ContactsContract.CommonDataKinds.Phone.NUMBER };

		/* 用来电电话号码查找该联系人 */
		cursor = contentResolver.query(
				ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection,
				ContactsContract.CommonDataKinds.Phone.NUMBER + "=?",
				new String[] { incomingNumber }, "");

		/* 找不到联系人 */
		if (cursor.getCount() == 0) {
			myTextView1.setText("未知联系人:" + incomingNumber);
		} else if (cursor.getCount() > 0) {
			cursor.moveToFirst();
			/* projection这个数组里 */
			String name = cursor.getString(1);
			myTextView1.setText(name + ":" + incomingNumber);
		}

	}
 


 

 


    
[3] 运用定制的NSMutableDictionary方法对NSMutableArray排序
    来源: 互联网  发布时间: 2014-02-18
使用定制的NSMutableDictionary方法对NSMutableArray排序

首先,给NSMutableDictionary建一个分类,里面加上自定义的排序方法。

 

头文件:

 

#import <Foundation/Foundation.h>

@interface NSMutableDictionary(NSMutableDictionaryCompare)

- (NSComparisonResult)compareWithDictionary:(NSMutableDictionary *) dic;

@end

 

实现文件:

 

#import "CustomCompare.h"

@implementation NSMutableDictionary(NSMutableDictionaryCompare)

- (NSComparisonResult)compareWithDictionary:(NSMutableDictionary *) dic{
	NSMutableDictionary *dic1 = self;
	NSString *name1 = [dic1 objectForKey:@"Name"];
	NSString *name2 = [dic objectForKey:@"Name"];
	return [name2 compare:name1];
}

@end

 

示例:

 

NSMutableDictionary *dic1 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Michael", @"Name", @"26", @"Age", nil];
NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Eric", @"Name", @"24", @"Age", nil];
NSMutableDictionary *dic3 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Emilla", @"Name", @"25", @"Age", nil];
NSMutableDictionary *dic4 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Josh", @"Name", @"32", @"Age", nil];
NSMutableDictionary *dic5 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Echo", @"Name", @"22", @"Age", nil];
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:dic1, dic2, dic3, dic4, dic5, nil];
[dic1 release];
[dic2 release];
[dic3 release];
[dic4 release];
[dic5 release];
[array sortUsingSelector:@selector(compareWithDictionary:)];
NSLog(@"%@", array);
[array release];

 

示例输出:

 

{
    Age = 26;
    Name = Michael;
},
{
    Age = 32;
    Name = Josh;
},
{
    Age = 24;
    Name = Eric;
},
{
    Age = 25;
    Name = Emilla;
},
{
    Age = 22;
    Name = Echo;
}

 


    
最新技术文章:
▪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录音应用实例教程 iis7站长之家
▪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