編輯:關於Android編程
以下為TestIntentData工程
MainActivity如下:
[java]
package cn.testintentdata;
import java.util.List;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
/**
* Demo描述:
* 應用中依據包名啟動另外一個APP
*
*/
public class MainActivity extends Activity {
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
mButton=(Button) findViewById(R.id.button);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
startAnotherApp("cc.testintent");
}
});
}
private void startAnotherApp(String packageName){
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo(packageName, 0);
if (packageInfo==null) {
System.out.println("packageInfo==null");
} else {
System.out.println("packageInfo!=null");
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
//<data android:scheme="app" android:host="jp.co.cybird.barcodefootballer/" />
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.setData(Uri.parse("app://jp.co.cybird.barcodefootballer/"));
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(packageInfo.packageName);
System.out.println("packageInfo.packageName="+packageInfo.packageName);
List<ResolveInfo> resolveInfoList =
getPackageManager().queryIntentActivities(resolveIntent, 0);
System.out.println("resolveInfoList.size()="+resolveInfoList.size());
ResolveInfo resolveInfo = resolveInfoList.iterator().next();
if (resolveInfo != null ) {
String activityPackageName = resolveInfo.activityInfo.packageName;
String className = resolveInfo.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName componentName = new ComponentName(activityPackageName, className);
intent.setComponent(componentName);
startActivity(intent);
}
}
}
package cn.testintentdata;
import java.util.List;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
/**
* Demo描述:
* 應用中依據包名啟動另外一個APP
*
*/
public class MainActivity extends Activity {
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
mButton=(Button) findViewById(R.id.button);
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
startAnotherApp("cc.testintent");
}
});
}
private void startAnotherApp(String packageName){
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo(packageName, 0);
if (packageInfo==null) {
System.out.println("packageInfo==null");
} else {
System.out.println("packageInfo!=null");
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
//<data android:scheme="app" android:host="jp.co.cybird.barcodefootballer/" />
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.setData(Uri.parse("app://jp.co.cybird.barcodefootballer/"));
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(packageInfo.packageName);
System.out.println("packageInfo.packageName="+packageInfo.packageName);
List<ResolveInfo> resolveInfoList =
getPackageManager().queryIntentActivities(resolveIntent, 0);
System.out.println("resolveInfoList.size()="+resolveInfoList.size());
ResolveInfo resolveInfo = resolveInfoList.iterator().next();
if (resolveInfo != null ) {
String activityPackageName = resolveInfo.activityInfo.packageName;
String className = resolveInfo.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName componentName = new ComponentName(activityPackageName, className);
intent.setComponent(componentName);
startActivity(intent);
}
}
}
main.xml如下:
[html]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click me"
android:layout_centerInParent="true"
/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click me"
android:layout_centerInParent="true"
/>
</RelativeLayout>
以下為TestIntent工程
MainActivity如下:
[java]
package cc.testintent;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
package cc.testintent;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
main.xml如下:
[html]
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大 家 好"
android:layout_centerInParent="true"
/>
</RelativeLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大 家 好"
android:layout_centerInParent="true"
/>
</RelativeLayout>
AndroidManifest.xml如下:
[html]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cc.testintent"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="cc.testintent.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<data android:scheme="app"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cc.testintent"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="cc.testintent.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<data android:scheme="app"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
fragment是Activity中用戶界面的一個行為或者是一部分。你可以在一個單獨的Activity上把多個Fragment組合成為一個多區域的UI,並且可以在多個Ac
本文實例講述了Android編程之陰影(Shadow)制作方法。分享給大家供大家參考,具體如下:先看運行效果圖如下:陰影制作:包括各種形狀(矩形,圓形等等),以及文字等等
准備工作:利用github第三方添加輪播圖 基於MVP模式搭建架構 調試添加輪播圖:可參考:github輪播圖Banner添加依賴://添加Retrofit的依賴和Gli
首先看一張國內Top500 Android應用中它們用到的第三方推送以及所占數量:現在總結下Android平台下幾種推送方案的基本情況以及優缺點:一、使用GCM(Goog