- 浏览: 15288 次
- 性别:
安卓课程小结
暑假集训完,我们又学了一点关于安卓手机开发的知识,尽管只有几节课,但是收益匪浅啊。
这相当于我们又接触了一门语言啊,俗话说的好师傅领进门,修行在个人啊。
现在就稍微聊聊android开发,
其实我们是以一些小游戏切入来学习android的,有小游戏展开,再讲一些其他的。
首先布局格式
java中的布局靠窗体,面板等来嵌套然后在一个个添加组件,而安卓中则是在xml(res/layout/***.xml)文件中书写组件也在其中按一定顺序写
其格式如下
然后是监听器
监听器也有不同:
java中的监听器addListener(),而后者则是setListener()。
而且,java中的监听器要加在需要监听的地方,而后者则有时不用例如:画图板
不过想一些按钮类的监听器是需要在其上加监听器
注:画图板与java中的不太一样,请看如下代码示例
注:监听器一般写在onCreat()方法所在的类中。
//监听触摸即类似于鼠标监听器
最后是主函数:
java中的main函数可看做Activity中的onCreat方法
Activity中有六个个方法
public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
必备(重写)onCreat()方法。其他根据情况选用(重写)。
重写onCreat方法
重写哦那Destroy()方法
注:android中的界面跳转一定要在*.xml(在项目的根目录下)文件中注册
其实吧,我觉得总体来说我们还是用java语言在写,虽然有些方法不太一样,尤其是在xml文件中
暑假集训完,我们又学了一点关于安卓手机开发的知识,尽管只有几节课,但是收益匪浅啊。
这相当于我们又接触了一门语言啊,俗话说的好师傅领进门,修行在个人啊。
现在就稍微聊聊android开发,
其实我们是以一些小游戏切入来学习android的,有小游戏展开,再讲一些其他的。
首先布局格式
java中的布局靠窗体,面板等来嵌套然后在一个个添加组件,而安卓中则是在xml(res/layout/***.xml)文件中书写组件也在其中按一定顺序写
其格式如下
<?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="用户登录" android:textSize="30px" tools:context=".MainActivity" /> <!-- 嵌套布局 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="账号" android:textSize="20px" /> <EditText android:id="@+id/edit_name" android:layout_width="100px" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="密码" android:textSize="20px" /> <EditText android:id="@+id/edit_pwd" android:layout_width="100px" android:layout_height="wrap_content" /> </LinearLayout> <!-- 按钮对象 --> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_gravity="center_horizontal" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:layout_gravity="center_horizontal" android:id="@+id/btn_login"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="重置" android:layout_gravity="center_horizontal" android:id="@+id/btn_reset"/> </LinearLayout> </LinearLayout>
然后是监听器
监听器也有不同:
java中的监听器addListener(),而后者则是setListener()。
而且,java中的监听器要加在需要监听的地方,而后者则有时不用例如:画图板
不过想一些按钮类的监听器是需要在其上加监听器
注:画图板与java中的不太一样,请看如下代码示例
public class MyView extends ImageView { //位图对象 Bitmap map; //画布对象 Canvas c; //画笔对象 Paint paint; float x1, y1, x2, y2; public MyView(Context context, AttributeSet attrs) { super(context, attrs); /** * 实例化对象 */ map = Bitmap.createBitmap(300, 400, Config.ARGB_8888); c = new Canvas(map); paint = new Paint(); } public boolean onTouchEvent(MotionEvent me) { // 获取坐标 int action = me.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: x1 = me.getX(); y1 = me.getY(); break; case MotionEvent.ACTION_UP: x2 = me.getX(); y2 = me.getY(); invalidate(); break; } return true; } protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawLine(x1,y1, x2), y2, paint); canvas.drawBitmap(map, 0, 0, null); } }
注:监听器一般写在onCreat()方法所在的类中。
public class main extends Activity { public static String tool = "Line"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getTool(); } /** * 监听器 */ OnClickListener listener = new OnClickListener(){ @Override public void onClick(View v) { int id = v.getId(); switch(id){ case R.id.black: color=Color.BLACK; break; case R.id.green: color=Color.GREEN; break; case R.id.white: color=Color.WHITE; break; } } } ; /** *给工具按钮添加监听器 */ public void getTool() { Button Oval = (Button) findViewById(R.id.Oval); Button Line = (Button) findViewById(R.id.Line); Button Rect = (Button) findViewById(R.id.Rect); Oval.setOnClickListener(listener1); Line.setOnClickListener(listener1); Rect.setOnClickListener(listener1); } }
//监听触摸即类似于鼠标监听器
public boolean onTouchEvent(MotionEvent me) { // 获取坐标 int action = me.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: x1 = me.getX(); y1 = me.getY(); break; case MotionEvent.ACTION_UP: x2 = me.getX(); y2 = me.getY(); if (main.tool.equals("Line")) { shape = new ShapeLine(x1, x2, y1, y2, paint, 5, main.color); mq.add(shape); } if(main.tool.equals("Rect")){ shape = new ShapeRect(x1,x2,y1,y2,paint,1,main.color); mq.add(shape); } if(main.tool.equals("Oval")){ shape = new ShapeOval(x1,x2,y1,y2,paint,1,main.color); mq.add(shape); } invalidate(); break; } return true; }
最后是主函数:
java中的main函数可看做Activity中的onCreat方法
Activity中有六个个方法
public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
必备(重写)onCreat()方法。其他根据情况选用(重写)。
重写onCreat方法
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取按钮对象 bu_add = (Button)findViewById(R.id.addBall); bu_pause = (Button)findViewById(R.id.pause); bu_remove=(Button)findViewById(R.id.remove); bu_add.setOnClickListener(click); bu_pause.setOnClickListener(click); bu_remove.setOnClickListener(click); }
重写哦那Destroy()方法
protected void onDestroy() { super.onDestroy(); list.clear(); };
注:android中的界面跳转一定要在*.xml(在项目的根目录下)文件中注册
其实吧,我觉得总体来说我们还是用java语言在写,虽然有些方法不太一样,尤其是在xml文件中
发表评论
-
初识百度地图
2012-08-21 14:25 1495初学android,初看百度地图,感到迷茫,不知我的地图在何方 ... -
树小结
2012-08-02 09:28 8501.树的概述 树代表一种非线性的,复杂的二维结构。 2.树的 ... -
线程小结
2012-08-02 09:15 7541.线程 每一个java程序中至少都有一个线程——主线程。当j ... -
链表总结
2012-08-02 09:04 8801.链表总结 链表是是一种物理存储单元上非连续,非顺序的存储结 ... -
IO流
2012-07-17 10:35 850IO流 java中的输入输出抽 ... -
文件
2012-07-16 22:05 774二.文件 文件类型: 真实文件,虚拟内存文件,目录文件 文件格 ... -
集合总结
2012-07-16 19:48 892一.集合 1.java中的集合类型 1)Set Set特点 ... -
java中的异常机制
2012-07-11 14:17 8431.什么是异常 简单来说,异常是指可能导致程序出错的原因,使程 ... -
基础知识
2012-07-05 08:24 733... -
数组队列总结
2012-05-28 12:08 845一:数组 1. 数组是一个容器 1.数组在定义时大小已固定 ... -
关键字总结
2012-05-19 09:27 850关键字总结 1.访问修饰符 public 共 ...
相关推荐
“浙江大学Android公开课”是一次全面学习Android开发的良机,不仅涵盖了系统原理,还涉及实际应用开发。通过学习,你将能够理解Android系统的核心机制,掌握开发技巧,并具备创建高质量Android应用的能力。无论你是...
总结来说,"Android日程和课务管理系统"是一个实用性极强的移动应用,它整合了日程管理和课程管理两大核心功能,借助Android平台的强大能力,为用户提供了一站式的事务管理体验。通过深入理解和使用这个系统,用户...
总结来说,"Android应用开发基础到深入篇-Lesson1_什么是Android(1)"是一堂引导初学者入门Android开发的课程,它涵盖了Android操作系统的基本概念、历史背景,以及开发者所需的关键知识和技能。通过深入学习,学员将...
* 实验课主要通过案例教学,使学生学会手机软件的开发技术。 * 针对基础理论设计的案例实践,巩固理论知识,提高学生在手机软件开发方面的动手能力和解决问题的能力。 三、实验课程的内容和要求 * 实验一:Android...
### 基于Android手机的课程表应用设计与实现 #### 一、绪论 ##### 1.1 课题背景 随着移动互联网技术的发展以及智能手机的普及,人们的生活方式发生了巨大变化。Android作为全球最流行的移动操作系统之一,拥有...
Android是由Google主导开发的开源操作系统,广泛应用于智能手机、平板电脑等移动设备。其开放性和灵活性使其成为开发者们首选的移动应用开发平台。在Android上开发考勤系统,可以充分利用Android的各种硬件特性,如...
ADB是Android开发中的一个重要工具,可以实现设备管理、数据传输和命令执行等功能。对于Wi-Fi连接,我们需要找到相应的API接口或者SDK,通过网络请求来控制手机。 在易语言中,我们可以创建一个用户界面,设计按钮...
知识点详细说明: Android发展简史: Android的历史可以追溯...这些知识不仅帮助开发者掌握使用Android Studio进行软件开发的技能,而且能够对整个Android生态系统有一个全面的认识,从而在移动应用开发领域取得成功。
高校智慧课堂教学模式的设计与探讨,以《Android嵌入式软件开发》课程为例,反映了现代教育技术与教学实践相结合的新趋势。智慧课堂作为一种新的教学模式,旨在利用信息技术实现教育手段的现代化,推动教学活动的...
本文介绍了一款在Android平台上开发的日历提醒软件,其设计和实现的目的是为特定用户群体提供定制化的提醒服务。该软件的关键功能包括自定义提醒类型及铃声、基于设定的闹钟提醒、课程表管理以及基于课程表的定时...
此外,系统后端数据库选择了SQLite,它是一款轻量级的数据库,适用于嵌入式设备,如Android手机,能够高效存储和检索数据,满足学生考勤系统的需求。 三、系统功能分析 1. **登录功能**:教师通过输入用户名和密码...
【基于安卓Android学生考勤信息管理系统】 ...总结,基于安卓Android的学生考勤信息管理系统结合了移动互联网的便利性和Android平台的强大功能,为学校带来了智能化、高效的管理工具,有助于提升教育质量与效率。
们日常生活中,手机已经变得无处不在,尤其是Android系统的普及,极大地推动了移动应用的发展。根据2017年的数据,Android操作系统占据了全球智能手机市场的主导地位,市场份额高达86%,在中国市场的占有率更是达到...
最后,关于Android游戏开发的课程,例如"调戏美女"手机游戏开发网络课,不仅教授游戏开发的基本原理和技术,也通过实践项目帮助学员掌握游戏逻辑设计、图形渲染、用户交互等技能。对于想要涉足游戏开发领域的程序员...
同时,课堂小结和课外阅读进一步巩固了所学知识,使学生对智能手机的结构和操作系统有了深入理解,提升了他们的兴趣和学习效果。 总之,了解智能手机操作系统不仅有助于我们更好地利用这些设备,也为将来可能的技术...
总结来说,静默安装是Android系统应用开发中的一个高级特性,需要系统签名和特殊权限。而在6.0及以上版本,权限管理变得更加严格,应用需要根据需要动态申请危险权限,以尊重用户的隐私选择。这些知识对于深入理解...
最后,课堂小结强调了掌握AppInventor平台开发Android应用的重要性,特别是理解并熟练运用内置的自定义变量、子方法和列表等功能。难点在于根据项目需求分析选择合适的组件,并精确组合积木块来实现预期的功能。通过...