我把源码贴在这里,各位帮忙看一下package com.example.gsbtest;import java.io.FileNotFoundException;
import java.io.InputStream;import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;public class MainActivity extends Activity { Button btn0,btn1;
TextView Text1;
Bitmap bitmap, temp ;//选择了图片后调用
ImageView imageView; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn0 = (Button)findViewById(R.id.b01);
btn0.setText("select image");
btn1 = (Button)findViewById(R.id.sufflebtn);
btn0.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,1);
}
});
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Text1 = (TextView)findViewById(R.id.Txt1);
if(temp==null || temp.isRecycled() )
return;
suffleImageRGB(temp);
}
});
} protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
Log.e("uri", uri.toString());
android.content.ContentResolver cr = this.getContentResolver();
try {
bitmap = BitmapFactory.decodeStream((InputStream) cr.openInputStream(uri));
temp = bitmap.copy(Bitmap.Config.ARGB_8888, true);
imageView = (ImageView) findViewById(R.id.iv01);
/* 将Bitmap设定到ImageView */
imageView.setImageBitmap(temp);
} catch (FileNotFoundException e) {
Log.e("Exception", e.getMessage(),e);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
void suffleImageRGB(Bitmap bmp)
{
int w = bmp.getWidth();
int h = bmp.getHeight();
int color=0,r=0,g=0,b=0;
for(int x=0; x<w; x++)
{
for(int y=0 ;y<h; y++)
{
color = bmp.getPixel(x, y);
r = Color.red(color);
g = Color.green(color);
b = Color.blue(color);
bmp.setPixel(x,y,Color.argb(Color.alpha(color), b,g ,r ) );//R->G->B->R } } }
imageView.setImageBitmap(bmp);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
import java.io.InputStream;import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;public class MainActivity extends Activity { Button btn0,btn1;
TextView Text1;
Bitmap bitmap, temp ;//选择了图片后调用
ImageView imageView; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn0 = (Button)findViewById(R.id.b01);
btn0.setText("select image");
btn1 = (Button)findViewById(R.id.sufflebtn);
btn0.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,1);
}
});
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Text1 = (TextView)findViewById(R.id.Txt1);
if(temp==null || temp.isRecycled() )
return;
suffleImageRGB(temp);
}
});
} protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
Log.e("uri", uri.toString());
android.content.ContentResolver cr = this.getContentResolver();
try {
bitmap = BitmapFactory.decodeStream((InputStream) cr.openInputStream(uri));
temp = bitmap.copy(Bitmap.Config.ARGB_8888, true);
imageView = (ImageView) findViewById(R.id.iv01);
/* 将Bitmap设定到ImageView */
imageView.setImageBitmap(temp);
} catch (FileNotFoundException e) {
Log.e("Exception", e.getMessage(),e);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
void suffleImageRGB(Bitmap bmp)
{
int w = bmp.getWidth();
int h = bmp.getHeight();
int color=0,r=0,g=0,b=0;
for(int x=0; x<w; x++)
{
for(int y=0 ;y<h; y++)
{
color = bmp.getPixel(x, y);
r = Color.red(color);
g = Color.green(color);
b = Color.blue(color);
bmp.setPixel(x,y,Color.argb(Color.alpha(color), b,g ,r ) );//R->G->B->R } } }
imageView.setImageBitmap(bmp);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
bmp=bmp.copy(bmp.getConfig(), true);
import java.io.InputStream;import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;public class MainActivity extends Activity { Button btn0,btn1;
TextView Text1;
Bitmap bitmap, temp ;//选择了图片后调用
ImageView imageView; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn0 = (Button)findViewById(R.id.b01);
btn0.setText("select image");
btn1 = (Button)findViewById(R.id.sufflebtn);
btn0.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,1);
}
});
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Text1 = (TextView)findViewById(R.id.Txt1);
if(temp==null || temp.isRecycled() )
return;
suffleImageRGB(temp);
}
});
} protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK) {
Uri uri = data.getData();
Log.e("uri", uri.toString());
android.content.ContentResolver cr = this.getContentResolver();
try {
bitmap = BitmapFactory.decodeStream((InputStream) cr.openInputStream(uri));
temp = bitmap.copy(bitmap.getConfig(), true);
imageView = (ImageView) findViewById(R.id.iv01);
/* 将Bitmap设定到ImageView */
imageView.setImageBitmap(temp);
} catch (FileNotFoundException e) {
Log.e("Exception", e.getMessage(),e);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
void suffleImageRGB(Bitmap bmp)
{
int w = bmp.getWidth();
int h = bmp.getHeight();
int color=0,r=0,g=0,b=0;
for(int x=0; x<w; x++)
{
for(int y=0 ;y<h; y++)
{
color = bmp.getPixel(x, y);
r = Color.red(color);
g = Color.green(color);
b = Color.blue(color);
bmp.setPixel(x,y,Color.argb(Color.alpha(color), b,g ,r ) );//R->G->B->R } } }
imageView.setImageBitmap(bmp);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources> <string name="app_name">GSBTest</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="suffle">suffle</string>
<string name="desc">imageview01</string></resources>
{
public void run()
{
suffleImageRGB(temp);
}
});
CountingTask task=new CountingTask();
task.execute(); 然后按照如下代码写AsyncTask,但是不知道是不是写的不对,很多报错 private class CountingTask extends AsyncTask<Void, Integer, Integer>{
CountingTask()
{
super();
}
protected void onPostExecute(Object result)
{
System.out.print("onPostExecute is running...");
imageView.setImageBitmap((Bitmap)result);
super.onPostExecute(result);
}
protected void onPreExecute()
{
System.out.print("onPreExecute is running...");
super.onPreExecute();
}
protected void onProgressUpdate(Object... values)
{
System.out.print("onProgressUpdate is running...");
super.onProgressUpdate(values);
}
protected Object doInBackground(Void... params)
{
suffleImageRGB(temp);
return null;
} }
报错:Name clash:The method onPostExecute(Object) of type MainActivity.CountingTask has the same erasure as onPostExecute(Result) of type AsyncTask<Params, Progress, Result> but doese not override it
在protected void onProgressUpdate(Object... values) 这一行上也是类似的报错