当前位置:  编程技术>移动开发
本页文章导读:
    ▪在模拟器中装配apk(转)        在模拟器中安装apk(转) 1、运行模拟器并成功开机进入待机界面2、点击PC开始菜单里面的“运行”输入cmd3.进入android SDK 的platform_tools.(网上提供的方法多数在tools文件下,跟我这个不太一.........
    ▪ UITableView 详细讲授        UITableView 详细讲解 UITableView 详细讲解  DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];  [DataTable setDelegate:self];  [DataTable setDataSource:self];  [self.view addSubview:DataTable];  [DataTable relea.........
    ▪ TelephonyManager获取电信网络跟手机信息       TelephonyManager获取电信网络和手机信息 添加权限   <uses-permission android:name="android.permission.READ_PHONE_STATE" />     private TelephonyManager telMgr; private SimpleAdapter listItemAdapter; // ListView的适配器 p.........

[1]在模拟器中装配apk(转)
    来源: 互联网  发布时间: 2014-02-18
在模拟器中安装apk(转)
1、运行模拟器并成功开机进入待机界面

2、点击PC开始菜单里面的“运行”输入cmd

3.进入android SDK 的platform_tools.(网上提供的方法多数在tools文件下,跟我这个不太一样~)

4.adb install xxx.apk(完整路径,可以直接把包拖到命令行中。)

    
[2] UITableView 详细讲授
    来源: 互联网  发布时间: 2014-02-18
UITableView 详细讲解

UITableView 详细讲解

 DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];

 [DataTable setDelegate:self];

 [DataTable setDataSource:self];

 [self.view addSubview:DataTable];

 [DataTable release];

 

 

二、UITableView各Method说

 

 

//Section总数

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{

 return TitleData;

}

 

 

// Section Titles

//每个section显示的标题

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

 return @"";

}

 

 

//指定有多少个分区(Section),默认为1

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

 return 4;

}

 

 

//指定每个分区中有多少行,默认为1

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

}

 

 

//绘制Cell

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";

 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:

                             SimpleTableIdentifier];

 

   if (cell == nil) { 

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault

                                       reuseIdentifier: SimpleTableIdentifier] autorelease];

 

 }

 cell.imageView.image=image;//未选cell时的图片

 cell.imageView.highlightedImage=highlightImage;//选中cell后的图片

 cell.text=//.....

 return cell;

}

 

 

//行缩进

-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{

 NSUInteger row = [indexPath row];

 return row;

}

 

 

//改变行的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    return 40;

}

 

 

//定位

[TopicsTable setContentOffset:CGPointMake(0, promiseNum * 44 + Chapter * 20)];

 

 

//返回当前所选cell

NSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section];

[TopicsTable selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone];

 

 

[tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];

 

 

//选中Cell响应事件

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

 

 [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失

}

 

 

//判断选中的行(阻止选中第一行)

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    NSUInteger row = [indexPath row];

    if (row == 0)

        return nil;

    return indexPath;

}

 

 

//划动cell是否出现del按钮

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

}

 

 

//编辑状态

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle

forRowAtIndexPath:(NSIndexPath *)indexPath

{

 

[topicsTable setContentSize:CGSizeMake(0,controller.promiseNum * 44)];

//右侧添加一个索引表

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{

}

 

//返回Section标题内容

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{

}

 

//自定义划动时del按钮内容

- (NSString *)tableView:(UITableView *)tableView

titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

 

 

//跳到指的row or section

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];

 

三、在UITableViewCell上建立UILable多行显示

 

 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";  

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

  UILabel *Datalabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 320, 44)];

  [Datalabel setTag:100];

  Datalabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

  [cell.contentView addSubview:Datalabel];

  [Datalabel release];

 }

 UILabel *Datalabel = (UILabel *)[cell.contentView viewWithTag:100];

 [Datalabel setFont:[UIFont boldSystemFontOfSize:18]];

 Datalabel.text = [data.DataArray objectAtIndex:indexPath.row];

 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    return cell;

}

 

//选中cell时的颜色

 

typedef enum {

    UITableViewCellSelectionStyleNone,

    UITableViewCellSelectionStyleBlue,

    UITableViewCellSelectionStyleGray

} UITableViewCellSelectionStyle

 

//cell右边按钮格式

 

typedef enum {

    UITableViewCellAccessoryNone,                   // don't show any accessory view

    UITableViewCellAccessoryDisclosureIndicator,    // regular chevron. doesn't track

    UITableViewCellAccessoryDetailDisclosureButton, // blue button w/ chevron. tracks

    UITableViewCellAccessoryCheckmark               // checkmark. doesn't track

} UITableViewCellAccessoryType

 

//是否加换行线


typedef enum {

    UITableViewCellSeparatorStyleNone,

    UITableViewCellSeparatorStyleSingleLine

} UITableViewCellSeparatorStyle

 

//改变换行线颜色lyttzx.com

 

tableView.separatorColor = [UIColor blueColor];

 


    
[3] TelephonyManager获取电信网络跟手机信息
    来源: 互联网  发布时间: 2014-02-18
TelephonyManager获取电信网络和手机信息

添加权限

 

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

 

private TelephonyManager telMgr;

	private SimpleAdapter listItemAdapter; // ListView的适配器
	private ArrayList<HashMap<String, Object>> listItem; // ListView的数据源,这里是一个HashMap的列表
	private ListView myList; // ListView控件

	@SuppressWarnings("static-access")
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.phone_info);

		telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); /* 将取得的信息写入List中 *//* 取得手机电话号码 */

		listItem = new ArrayList<HashMap<String, Object>>();
		listItemAdapter = new SimpleAdapter(this, listItem,
				R.layout.list_item4, new String[] { "title", "text" },
				new int[] { R.id.title, R.id.text });
		myList = (ListView) findViewById(R.id.listView1);
		myList.setAdapter(listItemAdapter);

		if (telMgr.getLine1Number() != null) {
			addItem("手机电话号码" ,telMgr.getLine1Number());
		} else {
			addItem("手机电话号码" ,"无法取得");
		} 
		
		/* 取得电信网络国别 */

		if (telMgr.getNetworkCountryIso().equals("")) {
			addItem("电信网络国别" ,"无法取得");
		} else {
			addItem("电信网络国别" ,telMgr.getNetworkCountryIso());
		} 
		
		/* 取得电信公司代码 */

		if (telMgr.getNetworkOperator().equals("")) {
			addItem("电信公司代码 " ,"无法取得");
		} else {
			addItem("电信公司代码 " ,telMgr.getNetworkOperator());
		} 
		
		/* 取得电信公司名称 */

		if (telMgr.getNetworkOperatorName().equals("")) {
			addItem("电信公司名称" ,"无法取得");
		} else {
			addItem("电信公司名称 " ,telMgr.getNetworkOperatorName());
		} 
		
		/* 取得行动通讯类型 */
		if (telMgr.getPhoneType() == telMgr.PHONE_TYPE_GSM) {
			addItem("行动通讯类型" ,"GSM");
		} else {
			addItem("行动通讯类型" ,"未知");
		} 
		
		/* 取得网络类型 */

		if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_EDGE) {
			addItem("网络类型 " ,"EDGE");
		} else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_GPRS) {
			addItem("网络类型" ,"GPRS");
		} else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_UMTS) {
			addItem("网络类型" ,"UMTS");
		} else if (telMgr.getNetworkType() == 4) {
			addItem("网络类型" ,"HSDPA");
		} else {
			addItem("网络类型" ,"未知");
		} 
		
		/* 取得漫游状态 */
		if (telMgr.isNetworkRoaming()) {
			addItem("漫游状态" ,"漫游中");
		} else {
			addItem("漫游状态" ,"无漫游");
		} 
		
		/* 取得手机IMEI */
		addItem("手机IMEI" ,telMgr.getDeviceId()); 
		
		/* 取得IMEI SV */
		if (telMgr.getDeviceSoftwareVersion() != null) {
			addItem("IMEI号码" ,telMgr.getDeviceSoftwareVersion());
		} else {
			addItem("IMEI号码" ,"无法取得");
		} 
		
		/* 取得手机IMSI */
		if (telMgr.getSubscriberId() != null) {
			addItem("手机IMSI号码" ,telMgr.getSubscriberId());
		} else {
			addItem("手机IMSI号码" ,"无法取得");
		} 
		
		/* 取得ContentResolver */
		ContentResolver cv = PhoneInfo.this.getContentResolver();
		String tmpS = ""; /* 取得蓝芽状态 */
		tmpS = android.provider.Settings.System.getString(cv,
				android.provider.Settings.System.BLUETOOTH_ON);
		if (tmpS.equals("1")) {
			addItem("手机蓝牙状态" ,"已开启");
		} else {
			addItem("手机蓝牙状态" ,"未开启");
		} 
		
		/* 取得WIFI状态 */
		tmpS = android.provider.Settings.System.getString(cv,
				android.provider.Settings.System.WIFI_ON);
		if (tmpS.equals("1")) {
			addItem("手机WIFI状态" ,"已开启");
		} else {
			addItem("手机WIFI状态" ,"未开启");
		} 
		
		/* 取得飞行模式是否开启 */
		tmpS = android.provider.Settings.System.getString(cv,
				android.provider.Settings.System.AIRPLANE_MODE_ON);
		if (tmpS.equals("1")) {
			addItem("飞行模式" ,"开启中");
		} else {
			addItem("飞行模式" ,"未开启");
		} 
		
		/* 取得数据漫游是否开启 */
		tmpS = android.provider.Settings.System.getString(cv,
				android.provider.Settings.System.DATA_ROAMING);
		if (tmpS.equals("1")) {
			addItem("数据漫游" ,"开启中");
		} else {
			addItem("数据漫游" ,"未开启");
		}
	}

	private void addItem(String title, String str) {
		HashMap<String, Object> map = new HashMap<String, Object>();
		map.put("title", title);
		map.put("text", str);
		listItem.add(map);
		listItemAdapter.notifyDataSetChanged();
	}

 


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