android入门篇

俗话说,任何一种语言入门都是helloworld。当然android并不是一门新的语言,它是基于java的一种开发平台吧。

作为入门,其实不能算入门了,因为之前就写过一些代码,但是并没有系统的总结过。

这次我打算跟着《疯狂android讲义》好好学一遍。

关于环境配置这里略去了,并且在讲义第一章讲了很多工具,看上去很高大上,这里先留坑,以后再慢慢研究。

大体你会发现讲义第一章在说,ADT和eclipse方便我们开发,为我们做了很多事情,然而呢?这对初学者并不是什么好事,因为你压根不懂其中的原理,所以必须教你如何用命令行建android工程,如何ADB调试,什么AAPT打包...其实作为初学者,很难看懂,包括我...所以占坑是正确的,以后学得多了再回过头来看看,或者会豁然开朗。

当然和web开发类似,android也有前后端,因此android里的.xml文件有点类似前端的.html文件,可以写各种UI布局。然而书本告诉我们,.xml文件并不是必须的,它只是将UI界面与业务逻辑很好的分离开来,方便代码管理。实际上呢?.xml文件最终应该也是会变成.class文件?具体我不太清楚,也先占坑,总之,学习如何不用.xml文件写UI界面也是很重要的。这会给你一个不同的体验。

于是让我门来体验一把吧。

//使用一个线性布局LinearLayout
//两个TextView和1个Button组件
//setText是设置文字,addView是把组件加到线性布局里
import android.app.Activity;
import android.os.Bundle;
import android.text.StaticLayout;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Myview extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout layout = new LinearLayout(this);
        super.setContentView(layout);
        final TextView tx = new TextView(this);
        tx.setText(R.string.hello_world);
        layout.addView(tx);
        TextView tx1 = new TextView(this);
        tx1.setText("123456");
        layout.addView(tx1);
        Button btn = new Button(this);
        btn.setText("wocao");
        btn.setLayoutParams(new ViewGroup.LayoutParams( //按钮大小刚好包裹文字
        		ViewGroup.LayoutParams.WRAP_CONTENT,
        		ViewGroup.LayoutParams.WRAP_CONTENT));
        layout.addView(btn);
        layout.setOrientation(LinearLayout.VERTICAL); //布局中组件排列方式为垂直
        btn.setOnClickListener(new OnClickListener() { //点击按钮改变文字
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				tx.setText("你好!!!");
			}
		});

    }
}


下面是个简单的实例:

请自行找几张图片,放到工程目录下的res/drawable文件下,一般选drawable-mdpi这个文件夹

然后运行一下以下代码,就可以看到图片切换功能,实际上就是给ImageView加了一个点击监听器而已.

代码:

import android.R.layout;
import android.app.Activity;
import android.os.Bundle;
import android.text.StaticLayout;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Myview extends Activity {
	int images[] = { //图片数组
    	R.drawable.ajax,
    	R.drawable.classic,
    	R.drawable.ee,
    	R.drawable.java,
    	R.drawable.xml
    };
	int cur = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout layout = new LinearLayout(this);
        super.setContentView(layout);
        layout.setOrientation(LinearLayout.VERTICAL);
        final ImageView imageView = new ImageView(this);
        layout.addView(imageView);
        imageView.setImageResource(images[0]); //初始化第一张图片
        imageView.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) { //轮转图片
				// TODO Auto-generated method stub
				if(++cur == images.length) cur = 0;
				imageView.setImageResource(images[cur]);
			}
		});
    }
}


你可能感兴趣的:(android入门篇)