先是主函数public class App extends Activity {
    private AnimationDrawable anim;
private CustomDrawableView cusView;
    /** Called when the activity is first created. */
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        bitmapScale mao = new bitmapScale();
        
        setContentView(mao.getLayout());
}
}
然后是新创建的类...其实是抄的:
public class bitmapScale extends Activity{
public LinearLayout linLayout;
public void onCrete(Bundle icicle){
super.onCreate(icicle);
setTitle("图片变换");
linLayout = new LinearLayout(this);

//加载需要的图片
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sample_4);
//获取宽和高
int width = originalBitmap.getWidth();
int height = originalBitmap.getHeight();
//想要的宽和高
int newWidth = 200;
int newHeight=200;
//算算要缩放多少比例
float scaleWidth = newWidth/width;
float scaleHeight=newHeight/height;
//创建操作图片用的Matrix对象,好像matrix是储存一系列的操作然后应用到图片上的
Matrix matrix = new Matrix();
//先储存缩放图片动作到matrix里
matrix.postScale(scaleWidth, scaleHeight);
//然后储存旋转
matrix.postRotate(45);
//创建新图片
Bitmap resizedBitmap = Bitmap.createBitmap(originalBitmap,
0,
0,
width,
height,
matrix,
true);
//把上面的转换过的图片变成Drawable对象,让它可以放到imageview里
BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

ImageView imageView = new ImageView(this);
imageView.setImageDrawable(bmd);
//将图片居中显示
//imageView.setScaleType(ScaleType.CENTER);

//将ImageView添加到layout里
linLayout.addView(imageView, 
new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
setContentView(linLayout);

}
LinearLayout getLayout(){
return linLayout;
}
}运行后debug里显示:
[2011-06-07 23:37:11 - AndroidApp] Android Launch!
[2011-06-07 23:37:11 - AndroidApp] adb is running normally.
[2011-06-07 23:37:11 - AndroidApp] Performing com.enseignement.AndroidApp.App activity launch
[2011-06-07 23:37:11 - AndroidApp] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'Android22'
[2011-06-07 23:37:11 - AndroidApp] WARNING: Application does not specify an API level requirement!
[2011-06-07 23:37:11 - AndroidApp] Device API version is 8 (Android 2.2)

[2011-06-07 23:37:13 - AndroidApp] Application already deployed. No need to reinstall.
[2011-06-07 23:37:13 - AndroidApp] Starting activity com.enseignement.AndroidApp.App on device emulator-5554
[2011-06-07 23:37:15 - AndroidApp] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.enseignement.AndroidApp/.App }
[2011-06-07 23:37:15 - AndroidApp] ActivityManager: Warning: Activity not started, its current task has been brought to the front然后就运行失败了。。怎么回事呢

解决方案 »

  1.   

    [2011-06-07 23:37:15 - AndroidApp] ActivityManager: Warning: Activity not started, its current task has been brought to the front
    出现这个错误说明你的模拟器已经有项目在运行了,也就是说被占用了!你可以在project->clean 然后选择全部的项目,重新运行你的项目就行了!
    [2011-06-07 23:37:11 - AndroidApp] WARNING: Application does not specify an API level requirement!
    [2011-06-07 23:37:11 - AndroidApp] Device API version is 8 (Android 2.2)

    出现这个问题,说明你项目的API与你模拟器的API不匹配!最好的办法就是让版本全部统一!
      

  2.   

    那有什么方法可以知道哪些Api不匹配的么??? 
      

  3.   

    没运行失败 只是你的应用没更改并且已在最前面显示,没必要在下载了。可以ddms先关了那个进程,或返回键...
    在ANdroidManifest.xml下加入
    <manifest>
      <uses-sdk android:minSdkVersion="7" />
      
      <application android:icon ............
       ...
    </manifest>
    手册上有介绍  http://developer.android.com/guide/appendix/api-levels.html
      

  4.   

    [2011-06-07 23:37:11 - AndroidApp] WARNING: Application does not specify an API level requirement!
    [2011-06-07 23:37:11 - AndroidApp] Device API version is 8 (Android 2.2)

    API版本不匹配项目目录下面有一个defalut.properties这个文件,是配置文件,
    进入这个文件,target=android-8,把这个8改成你的模拟器匹配的API版本,如果是2.1就是7,2.2就是8,1.6就是4[2011-06-07 23:37:15 - AndroidApp] ActivityManager: Warning: Activity not started, its current task has been brought to the front这个问题有两种解决方法:一,project->clean  二,第一种方法不行的话,关闭模拟器,重新启动就可以拉!!楼主试试吧!@
      

  5.   

    我模拟器用的是2.2阿。 
    而且试过project-clean还是重启模拟器都无效一样的结果
      

  6.   

    模拟器点返回,eclipse再运行程序就可以了。
      

  7.   

    [2011-06-07 23:37:11 - AndroidApp] WARNING: Application does not specify an API level requirement!
    [2011-06-07 23:37:11 - AndroidApp] Device API version is 8 (Android 2.2)
    这个错一般不碍事,程序还是能运行
    Application does not specify an API level requirement   
    lz的工程用的应该是2.3的包[2011-06-07 23:37:15 - AndroidApp] ActivityManager: Warning: Activity not started, its current task has been brought to the front
    出现这个错是因为你的程序已经运行过一次,程序还没启动起来又运行一次,建议楼主慢点。解决办法随便找个工程里面的类加个空格,空行之类的,再运行次就好了或者就是按返回键盘再运行程序就ok了
      

  8.   

    这些警告都不影响,模拟器回到home,重新run试试。
      

  9.   

    我就不明白了怎么我写的程序每次运行都会提示运行失败呢,下面这个也一样,不过是简单的切换activity而已阿为什么按切换button后会提示需要关闭呢主函数:
    public class App extends Activity {
        /** Called when the activity is first created. */
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button bouton = (Button)findViewById(R.id.bottom);
             bouton.setOnClickListener(new Button.OnClickListener(){
             public void onClick(View v){
             Intent intent = new Intent();
             intent.setClass(App.this, SecondActivity.class);
             startActivity(intent);
             }
             });
    }

    }切换后该显示的Activity:
    public class SecondActivity extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main2);
    }
    }然后XML文件也没什么好看的 就一个textview和一个button而已 
    我就不明白了到底怎么回事!!!