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="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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);
}
}
- Android入门:Intent入门
- Android入门
- Android 入门
- Android入门
- Android 入门
- Android入门
- android入门
- android入门
- android入门
- Android 入门
- android入门
- android 入门
- android入门
- Android入门
- android入门
- Android入门
- android入门
- android 入门
- STM32直接存储器访问DMA
- JS遍历
- Android系统版本与AspectJ
- 谁获得了最高奖学金
- Java 随机生成50个正整数,存放到数组,求出总和,平均值,最大值,最小值
- Android入门
- 代码自动生成(二)
- leetcode 141. Linked List Cycle
- Android简单绘图
- (poj 2377)Kruskal算法 最大生成树
- 南阳oj 题目115 城市平乱 迪杰斯特拉
- Nginx入门介绍-安装与使用
- mysql中insert into select from的使用
- 不用循环数组求和---京东金融面试