android学习:用自己的Activity打开图片和网页

时间:2023-01-26 23:38:02

一、要用自己Activity打开图片,首先要建一个Activity:ImageViewer,建一个ImageVIew组件,来显示图片

public class ImageViewer extends Activity {

	
	private ImageView iv;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		iv = new ImageView(this);
		setContentView(iv);
		
		iv.setImageURI(getIntent().getData());
	}
}
	

二、在Androidmanifest中 注册这个Activity

        <activity android:name="ImageViewer">
            
            <intent-filter >
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="image/*" android:scheme="file"/>
            </intent-filter>
        </activity>

三、在mainactivity中绑定个触发的按钮

		findViewById(R.id.btnOpenImage).setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				File f = new File("/mnt/sdcard/test.png");
				Intent i = new Intent(Intent.ACTION_VIEW);
				i.setDataAndType(Uri.fromFile(f), "image/*");
				startActivity(i);
			}
		});

接下来是在自己的Activity中显示网页:

一、建一个的layout,这里面就一个WebView组件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>


二、建个名为WebExplorer的Activity,建一个WebView对象,在一个WebView组件中显示图片:

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class WebExplorer extends Activity {
	
	//private WebView wv;

	@Override
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		setContentView(R.layout.web);
		
		WebView webView = (WebView) findViewById(R.id.webView); 
		String url = getIntent().getStringExtra("URL");
		webView.loadUrl(url);
		
		//wv = (WebView) findViewById(R.id.webView);   
		//String url = getIntent().getStringExtra("URL");
		//String url = "http://www.baidu.com";
		//wv.loadUrl(url);
		//setContentView(R.id.webView);
	}
}

三、Androidmanifest中注册这个Activity:

        <activity android:name="WebExplorer">
			<intent-filter>
                <action android:name="com.example.test.intent.action.WebExplorer"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

不要忘了加一句 Internet访问权限,不然会无法访问,我就老是忘了加:

	<uses-permission android:name="android.permission.INTERNET"></uses-permission>
如果要访问的网页要转向另一个界面,或者在访问的页面中点击超链接的时候,还是会调用系统的浏览器,在内部调用该没有学会,不过这样访问没超链接的网页是挺方便的。