当前位置:  编程技术>移动开发
本页文章导读:
    ▪const void *a 与 void *const a 的差别        const void *a 与 void *const a 的区别 const void *a这是定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对.........
    ▪ 若有安裝APP, 自動開啟(使用 URL Schema), 若無, 則詢問是不是到商店進行下載        若有安裝APP, 自動開啟(使用 URL Schema), 若無, 則詢問是否到商店進行下載。 ......
    ▪ Intent的起动       Intent的启动 <div ></div>显示意图启动 public void explicit(View view){ // 1).先创建意图对象然后制定开启的activity Intent intent = new Intent(); // 1.使用当前环境 intent.setClass(this, otherActivity.........

[1]const void *a 与 void *const a 的差别
    来源: 互联网  发布时间: 2014-02-18
const void *a 与 void *const a 的区别
const void *a
这是定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。

在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对象。

例如:

const void *a;*a=0x123;//是编译通不过的,因为*a中放的是个const值。const值是不能被改变的。

const int  m=1;     const int n=2;

a=&m;    a=&n;//编译可以通过。



void* const  a
这是定义了一个const指针a,a可以指向任意类型的值,但a是指向某个对象的常量指针。

我们不能修改指针中存储的地址,但可以修改指针指向的对象。

例如:

void* const  a;这个定义:*a=0x123;是没问题的,

但是a=(void*)&b;是不行的,因为a是const变量。

如:

int  m=1;     nt n=2;

a=&m;    a=&n;//编译不成功。



可以这么说,const void *a;中const修饰的是*a。在void* const  a中,const 修饰的是a。


原文:http://blog.csdn.net/yinjiabin/article/details/6731352

    
[2] 若有安裝APP, 自動開啟(使用 URL Schema), 若無, 則詢問是不是到商店進行下載
    来源: 互联网  发布时间: 2014-02-18
若有安裝APP, 自動開啟(使用 URL Schema), 若無, 則詢問是否到商店進行下載。

原理:用瀏覽器開啟下載html, 利用javascript判斷。 
  

<html>
<head>
<title>判斷是否有安裝APP,若無,則詢問是否下載</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="/blog_article/images/css.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
    var isiPad = navigator.userAgent.match(/iPad/i) != null;
    var isiPhone = navigator.userAgent.match(/iPhone/i) != null;
    var isandroid = navigator.userAgent.match(/Android/i) != null;
    
    if(isandroid)
    {
        window.location.href='https://play.google.com/store/apps/details?id=com.fonestock.android.yourapp';
    }
    if(isiPad)
    {
        document.location = 'yourappurls://'; 
        setTimeout( function() { 
            if( confirm( '您似乎沒有安裝, 這個APP, 進行下載?')) { 
                document.location = 'http://itunes.apple.com/tw/app/id4179293XX'; 
            } 
        }, 300);
    }
    if(isiPhone)
    {
        document.location = 'yourappurls://'; 
        setTimeout( function() { 
            if( confirm( '您似乎沒有安裝, 這個APP, 進行下載?')) { 
                document.location = 'http://itunes.apple.com/tw/app/id4179293XX'; 
            } 
        }, 300);
    }
 
 
</script>
 
</head>
<body>
 
</body>
</html>

    
[3] Intent的起动
    来源: 互联网  发布时间: 2014-02-18
Intent的启动
<div ></div>
显示意图启动

	public void explicit(View view){
//		1).先创建意图对象然后制定开启的activity
		Intent intent = new Intent();
//		1.使用当前环境
		intent.setClass(this, otherActivity.class);
//		2.指定包名和类名
		intent.setClassName("com.zls.intentabout", "com.zls.intentabout.otherActivity");
//		3.包名用this代替
		intent.setClassName(this, "com.zls.intentabout.otherActivity");
		
//		2)创建意图的时候直接指定
		Intent intent = new Intent(this, otherActivity.class);
		startActivity(intent);
	}



隐式意图, 通过动作, 数据等设置打开Activity, 程序中并不指定一个类
public void implicit(View view){
		/*
		  打电话
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:18600012345"));
		startActivity(intent);
		 */
		
		/*
		  打开网页
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_VIEW);
		intent.setData(Uri.parse("http://www.baidu.com"));
		startActivity(intent);
		 */
		
		/*打开图片
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_VIEW);
		intent.setDataAndType(Uri.parse("file://mnt/sdcard/img.jpg"), "image/*");
		startActivity(intent);
		*/
		
		
		/*打开音乐
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_VIEW);
		intent.setDataAndType(Uri.parse("file://mnt/sdcard/mu.mp3"), "audio/*");
		startActivity(intent);
		*/
		
		/*打开视频
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_VIEW);
		intent.setDataAndType(Uri.parse("file://mnt/sdcard/di.mp4"), "video/*");
		startActivity(intent);
		 */
		
	}


在开启一个新的activity的时候,我们可以往里面传数据
public void sendData(View view)
	{
		Intent intent = new Intent(this,otherActivity.class);
		//1.形式一
		intent.putExtra("name", "张三");
		intent.putExtra("age", 20);
		//2.形式二
		Bundle b1 = new Bundle();
		b1.putInt("age", 20);
		b1.putString("name", "张三");
		intent.putExtra("b1", b1);
		
		startActivity(intent);					// 开启Activity,不接受返回的数据
//		startActivityForResult(intent, 100);	// 开启Activity, 并接收返回的数据(在新Activity关闭的时候执行onActivityResult方法)100是请求码
	}



/**
* @param requestCode startActivityForResult方法中传入的int值, 用来区别哪里开启的
* @param resultCode setResult方法中传入的int值, 用来区别哪里返回的
* @param data setResult方法中返回的Intent对象
*/

@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		String name = data.getStringExtra("name");
		int age = data.getIntExtra("age", -1);
		super.onActivityResult(requestCode, resultCode, data);
	}


otherActivity中代码
public class otherActivity extends Activity {
	//第一种
	Intent intent = getIntent();
//	String name = intent.getStringExtra("name");
//	Integer age = intent.getIntExtra("age", -1);
	
	//第二种
	Bundle b1 = intent.getBundleExtra("b1");
	String name = b1.getString("name");
	Integer age = b1.getInt("age");
}


最后记得在配置清单中加入activity
<activity android:name=".otherActivity" android:label="新的Activity" >
        	<intent-filter >
                       	   
                <action android:name="android.intent.action.CALL" />        	   
				<action android:name="android.intent.action.VIEW" />        	   
				<data android:scheme="tel" />
				<data android:scheme="http" />
				<data android:scheme="file" android:mimeType="image/*" />
				<data android:scheme="file" android:mimeType="audio/*" />
				<data android:scheme="file" android:mimeType="video/*" />
				<category android:name="android.intent.category.DEFAULT" /> 
        	</intent-filter>    
        </activity>

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