我是android的新手。我尝试使用一些开源代码开发一个应用程序。该应用程序使用图库中的图像,然后将其放入 imageview 中,我们对图像进行一些操作。
我需要的是,该应用程序应该从已经进入 imageview 的一些默认图像开始。然后我将添加一些按钮以稍后从图库中选择图像。我无法理解这里的工作流程。如果有人可以指导我,那就太好了。
这是我的代码主要活动。其中还包含启动画面。
public class Main extends Activity {
static final String PREFS_FILE = "image_edit";
/** The URI of the Image to display. */
private int _wait;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main_screen);
_wait = 1000;
imageUri = null;
}
@Override
protected void onResume() {
super.onResume();
if (_wait != 0) {
new CountDownTimer(_wait, _wait) {
@Override
public void onFinish() {
if (imageUri != null) {
Intent viewActivity = new Intent(Main.this, Viewer.class);
viewActivity.putExtra("image", imageUri);
startActivity(viewActivity);
} else {
startActivityForResult(newIntent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI),0);
}
}
@Override
public void onTick(long millisUntilFinished) {
}
}.start();
_wait = 0;
} else {
if (imageUri != null) {
Intent viewActivity = new Intent(this, Viewer.class);
viewActivity.putExtra("image", imageUri);
startActivity(viewActivity);
} else {
startActivityForResult(newIntent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), 0);
}
}
}
@Override
protected void onPause() {
super.onPause();
imageUri = null;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
imageUri = data.getData();
} else {
System.exit(0);
Log.e("result", "BAD");
}
}
}
然后从这里拍摄的图像进入下一个名为 Viewer 活动的活动,其 onresume 是这个
protected void onResume() {
super.onResume();
mHandler = new Handler();
mPreferences = this.getSharedPreferences(Main.PREFS_FILE, 0);
setContentView(R.layout.nothing);
// Inflate all the views.
int orientation = getResources().getConfiguration().orientation;
basicInit(orientation);
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
initPortrait();
} else {
initLandscape();
}
Intent intent = getIntent();
Uri imageURI = null;
Log.e("URI:", intent.getData() + "");
if (intent.getAction() != null && intent.getAction().equals(Intent.ACTION_SEND)) {
Bundle extras = intent.getExtras();
if (extras.containsKey(Intent.EXTRA_STREAM)) {
imageURI = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
}
} else if (intent.getAction() != null && intent.getAction().equals(Intent.ACTION_VIEW)) {
imageURI = intent.getData();
} else {
imageURI = (Uri) intent.getParcelableExtra("image");
}
addImage(imageURI);
addDraggableImages();
_updateImageTask = new UpdateImage(mRelative, mHandler);
}
所以我尝试在主视图中执行此操作
if(wait !=0){}
else{
startActivity(new Intent(Main.this, Viewer.class));
}
但这不起作用..错误是runtimeexception
所以如果有人指导我会很有帮助..谢谢