android程式設計實例入門 -Sample改寫分享 (2014/11/03)
此範例為程式碼(08\Sample06)的改寫,利用一個LinearLayout、一個Button和一個ImageView來實作GUI界面,利用Intent+ACTION_GET_CONTENT開啟圖片選擇,並顯示選擇的圖片,程式碼如下所示:
package com.jashsample;
import java.io.File;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Random;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.ContactsContract;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.SearchManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnKeyListener;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Camera;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.hardware.Camera.Size;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.speech.RecognizerIntent;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.text.format.DateFormat;
import android.text.method.KeyListener;
import android.view.Display;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.RotateAnimation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewFlipper;
/*
 * 建立Button*1+ImageView*1,利用Intent+ACTION_GET_CONTENT開啟圖片選擇,並顯示選擇的圖片。
 */
/*
 * <uses-permission android:name="android.permission.READ_CONTACTS" />
 */
public class MainActivity extends Activity {
	public static int SAMPLE_APP = 1;
	Button bt;
	ImageView iv;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		LinearLayout ll = new LinearLayout(this); 
		ll.setOrientation(LinearLayout.VERTICAL);
		setContentView(ll);
		bt = new Button(this);
		iv = new ImageView(this);
		bt.setText("選擇");
	       
		ll.addView(bt);
		ll.addView(iv);
	      
		bt.setOnClickListener(new SampleClickListener());
	}
	public void onActivityResult(int reqcode, int result, Intent it)
	{
		if(reqcode == SAMPLE_APP && result == RESULT_OK)
		{
			Uri u = it.getData();
			try
			{
				InputStream is = getContentResolver().openInputStream(u);	  
				Bitmap bmp = BitmapFactory.decodeStream(is);
				iv.setImageBitmap(bmp);
			}
			catch(Exception e){}
		}
	}
	class SampleClickListener implements OnClickListener
	{
		public void onClick(View v)
		{
			Intent it = new Intent();
			it.setType("image/*");
			it.setAction(Intent.ACTION_GET_CONTENT);//開啟圖片選擇
			startActivityForResult(it, SAMPLE_APP);
		}
	}   
}
沒有留言:
張貼留言