当前位置:  编程技术>移动开发
本页文章导读:
    ▪onConfigurationChanged步骤监控系统更改事件        onConfigurationChanged方法监控系统更改事件 添加权限   <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>  在manifest.xml中的activity中设置configuration的属性   <activit.........
    ▪ 谷歌在线商店更名为Google Play 或因音乐盒表现不佳        谷歌在线商店改名为Google Play 或因音乐盒表现不佳  导 语:有国外媒体日前发表了综述,对谷歌将谷歌音乐、Google eBookstore以及Android Market进行整合,并推出Google Play Store的原因进行了分析.........
    ▪ Service 与 Thread 的差别       Service 与 Thread 的区别 Service 与 Thread 的区别 很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来解释一下。 1).........

[1]onConfigurationChanged步骤监控系统更改事件
    来源: 互联网  发布时间: 2014-02-18
onConfigurationChanged方法监控系统更改事件

添加权限

 

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

 在manifest.xml中的activity中设置configuration的属性

 

<activity
			android:name=".ConfigChange"
			android:label="@string/app_name"
			android:configChanges="orientation|keyboard">
		</activity>

 代码,重写onConfigurationChanged方法

 

private Button button1;
	private int width;
	private int height;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.screen_change);

		button1 = (Button) findViewById(R.id.button1);

		button1.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				DisplayMetrics dm = new DisplayMetrics();
				getWindowManager().getDefaultDisplay().getMetrics(dm);
				width = dm.widthPixels;
				height = dm.heightPixels;
				if (width < height) {
					setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

				} else {
					setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
				}
			}

		});
	}

	public void onConfigurationChanged(Configuration newConfig){
		if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)toast("已切换为横屏");
		else{
			toast("已切换竖屏");
		}
		super.onConfigurationChanged(newConfig);
	}
	
	
	
	public void toast(String str) {
		Toast.makeText(ConfigChange.this, str, Toast.LENGTH_LONG).show();
	}
 



 

 

 


    
[2] 谷歌在线商店更名为Google Play 或因音乐盒表现不佳
    来源: 互联网  发布时间: 2014-02-18
谷歌在线商店改名为Google Play 或因音乐盒表现不佳

 导 语:有国外媒体日前发表了综述,对谷歌将谷歌音乐、Google eBookstore以及Android Market进行整合,并推出Google Play Store的原因进行了分析。指出谷歌此举主要源于谷歌音乐盒Google eBookstore的表现不佳,同时该公司要进一步强调“谷歌”这一品牌。http://developer.aiwgame.com/

  以下为综述全文:

   谷歌日前将把该公司出售音乐的网站谷歌音乐、出售电子图书的平台Google eBookstore以及出售其他包括应用程序和服务在内的数字产品的在线商店Android Market进行了整合,并更名为Google Play Store,该调整从周二起正式生效,此举是谷歌为改善自身在电子内容销售市场上的形象,并且更好地与苹果和亚马逊展开竞争而推出的最新措施。

  这不禁让人联想到2005年当微软推出了一大堆MSN在线服务之后,对这些服务进行了整合并推出了Windows Live。尽管该服务并没有什么特别的亮点,但是还是向外界进一步强调了该公司的核心产品:Windows。

  而如今,看来谷歌似乎也开始意识到重新确立起“谷歌”品牌的重要性,而不是Android在线服务,同时基本上借此一并处理掉了谷歌音乐以及eBookStore,特别是这两款服务本身的表现并不尽如人意。

  尽管谷歌音乐已经经历了1年左右的测试阶段(作为在线音乐存储服务),并且音乐商店也于去年秋天正式推出,但是由于一直缺乏一大主要唱片公司——华纳方面的音乐产品,而另一方面,相同的在线音乐服务也很多,因此谷歌在这一领域并无优势可言。

  因此最后谷歌走出这样一步,并不出人意料。

   eBookstore在2010年正式推出,在其后的6个月当中,用户总共从eBookstore当中下载了250万册图书,一年的销售量大约为500 万册。而相比之下,亚马逊在2010年的电子书Kindle Book的销售量应该为2200万册,而亚马逊在之后进而宣布该公司的电子书销售量已经超越了实体书销售量。而苹果方面在2011年10月则指出该公司在 苹果书店开业之后的不到2年内已经售出了1800万册电子书。

  然而Android市场则是大获成功,该市场在去年12月已经完成了100亿次下载,尽管其增长速度尚无法达到苹果App Store的高度,但是总体发展还是一帆风顺的。   


    
[3] Service 与 Thread 的差别
    来源: 互联网  发布时间: 2014-02-18
Service 与 Thread 的区别
Service 与 Thread 的区别

很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来解释一下。

1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。
2). Service:Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的 main 线程上。因此请不要把 Service 理解成线程,它跟线程半毛钱的关系都没有!

既然这样,那么我们为什么要用 Service 呢?其实这跟 android 的系统机制有关,我们先拿 Thread 来说。Thread 的运行是独立于 Activity 的,也就是说当一个 Activity 被 finish 之后,如果你没有主动停止 Thread 或者 Thread 里的 run 方法没有执行完毕的话,Thread 也会一直执行。因此这里会出现一个问题:当 Activity 被 finish 之后,你不再持有该 Thread 的引用。另一方面,你没有办法在不同的 Activity 中对同一 Thread 进行控制。

举个例子:如果你的 Thread 需要不停地隔一段时间就要连接服务器做某种同步的话,该 Thread 需要在 Activity 没有start的时候也在运行。这个时候当你 start 一个 Activity 就没有办法在该 Activity 里面控制之前创建的 Thread。因此你便需要创建并启动一个 Service ,在 Service 里面创建、运行并控制该 Thread,这样便解决了该问题(因为任何 Activity 都可以控制同一 Service,而系统也只会创建一个对应 Service 的实例)。

因此你可以把 Service 想象成一种消息服务,而你可以在任何有 Context 的地方调用 Context.startService、Context.stopService、Context.bindService,Context.unbindService,来控制它,你也可以在 Service 里注册 BroadcastReceiver,在其他地方通过发送 broadcast 来控制它,当然这些都是 Thread 做不到的。

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