Android入门

来源:互联网 发布:剑灵天女捏脸图文数据 编辑:程序博客网 时间:2024/06/04 18:55

一、新建Android Application Project

新建Android Application Project的过程中可以给APP命名、设置APP图标、主界面背景颜色,完成后ADT将自动新建一个Activity及其对应的Layout。

二、安卓目录介绍

1. src:保存JAVA文件

2. gen:存放R文件,R文件自动生成,用来定义Android程序中所有各类型资源的索引。R文件是只读的,开发人员不可对其进行更改。笔者在开发过程中遇到过R文件不小心删除的情况,此时整个安卓工程都会报错,只需在其他安卓工程中复制一个R文件到此工程下即可。

3. bin:此文件夹下的AndroidMainfest.xml文件描述了程序activity等组件的配置信息,SDK版本,包名,权限信息,APP版本。

4. libs:主要用来存放jar包。

5. res:存放资源,包括图片、布局文件、菜单、值。

三、界面设计

安卓的界面设计比较方便,可直接把相应的组件拖拽到界面(当然也可用代码实现)。界面设计代码基本格式为(以Button为例):

<Button 属性>

</Button>

下面以笔者设计的一个极简代码为示例:

<RelativeLayout xmlns:android="schemas.android.com/apk"

xmlns:tools="schemas.android.com/too"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.drawpicture.BeginActivity$PlaceholderFragment" >


<SurfaceView

android:id="@+id/surfaceview1"

android:layout_width="match_parent"

android:layout_height="match_parent"/>


<Button

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="174dp"

android:background="#FFCC00"

android:text="简单模式"

android:textSize="30sp"

android:onClick="easy" />


<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/button1"

android:layout_below="@+id/button1"

android:layout_marginTop="39dp"

android:background="#FF9900"

android:text="复杂模式"

android:textSize="30sp"

android:onClick="difficult"/>


</RelativeLayout>

四、监听

按钮监听接口为Android.View.View.OnClickListener(注意不要导入错误的包),下面以一段实现界面跳转的简单代码为示例:

public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.fragment_main);

//找到按钮

Button b=(Button)findViewById(R.id.button1);

//在按钮上添加监听

Listener l=new Listener(this);

b.setOnClickListener(l);

}



@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;

}


@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

}

return super.onOptionsItemSelected(item);

}


/**

* A placeholder fragment containing a simple view.

*/

public static class PlaceholderFragment extends Fragment {


public PlaceholderFragment() {

}


@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment_main, container, false);

return rootView;

}

}


}







public class Listener implements OnClickListener{

private Activity activity;


public Listener(Activity activity) {

super();

this.activity = activity;

}


@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Log.v("user_click", "----------------------------------");

Intent in=new Intent(activity,LoginActivity.class);

activity.startActivity(in);

}




}