- 浏览: 10213 次
- 性别:
最新评论
学习Android开发已经几天了,虽然与之前的学习内容有所不同,但我感觉这个很有趣,很多东西还是与之前的一样,就是改了名字,改了一些方法,至少,编程思想还是不变的。
最重要的是Activity
Activity类就类似于之前用过的JFrame类,一个Activity就是一个单独的幕,
Activity中有若干个View(控件)对象,它是一个控件对象的“容器”、“载体”。
要创建Activity类就要继承android.app.Activity
每一个Activity都要在AndroidManifest.xml文件中注册,通过<activity>标签实现注册。
Activity的生命周期:
onCreate():当创建一个窗体时,就进入该方法,这个相当于程序的入口
onRestart():如果该Activity已经stop,当你想要再次打开时使用该方法
onStart():当界面出现时,就调用该方法
onPause():让当前Activity暂停
onStop():当另一个Activity创建时,覆盖当前窗体,就用到此方法
onDestory():整个Activity结束时,该方法被调用
登陆界面
1.创建自己的Activity类继承Activity
2.添加组件(按钮、文本框)
3.获取组建
4.按钮监听
5.跳转到第二个Activity
注:
1.每添加一个组件,就要给它一个id
2.每一个Activity都要在AndroidManifest.xml中注册
3.注意.xml中的嵌套
代码示例:
画图
1.创建自己的Activity类,继承Activity
2.创建画板类,继承ImageView
3.监听
4.画线
注:
1.Bitmap:位图类,特别注意该类的对象要用其他方法获得,不能new,因为该类无构造方法
2.Canvas:画布,创建画布是要传入一个Bitmap的对象;类似于Graphics,注意它的方法
3.Paint:画笔类,画图必须要用画笔,可设置画笔的颜色、宽度等
4.onDraw()方法:类似于paint()方法,注意要在该方法中调用画位图的方法
5.监听用触摸事件onTouchEvent
代码示例:
最重要的是Activity
Activity类就类似于之前用过的JFrame类,一个Activity就是一个单独的幕,
Activity中有若干个View(控件)对象,它是一个控件对象的“容器”、“载体”。
要创建Activity类就要继承android.app.Activity
每一个Activity都要在AndroidManifest.xml文件中注册,通过<activity>标签实现注册。
Activity的生命周期:
onCreate():当创建一个窗体时,就进入该方法,这个相当于程序的入口
onRestart():如果该Activity已经stop,当你想要再次打开时使用该方法
onStart():当界面出现时,就调用该方法
onPause():让当前Activity暂停
onStop():当另一个Activity创建时,覆盖当前窗体,就用到此方法
onDestory():整个Activity结束时,该方法被调用
登陆界面
1.创建自己的Activity类继承Activity
2.添加组件(按钮、文本框)
3.获取组建
4.按钮监听
5.跳转到第二个Activity
注:
1.每添加一个组件,就要给它一个id
2.每一个Activity都要在AndroidManifest.xml中注册
3.注意.xml中的嵌套
代码示例:
FirstActivity: public class firstActivity extends Activity { //定义属性 EditText edit_name,edit_pswd; /** Called when the activity is first created. * activity的入口,相当于main函数 * */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); System.out.println("我的第一个手机程序"); getView(); } //用匿名内部类创建监听器对象 OnClickListener listener=new OnClickListener() { /** * 按钮被点击的方法 */ public void onClick(View v) { //验证操作 int id=v.getId(); switch(id) { case R.id.btn_login: System.out.println("edit_name="+edit_name.getText()); //获取文本输入框中的内容 if("yezi".equals(edit_name.getText().toString())); { //创建intent对象,实现界面的跳转,intent相当于信使RNA Intent intent=new Intent(firstActivity.this,secondActivity.class); startActivity(intent); } // else{ // Toast.makeText(firstActivity.this,"您输入的用户名有误", 3).show(); // } break; case R.id.btn_reset: edit_name.setText(""); edit_pswd.setText(""); break; } } }; /** * 获取组建的方法 */ public void getView() { //通过id找到组件对象 Button btn_login=(Button)findViewById(R.id.btn_login); Button btn_reset=(Button)findViewById(R.id.btn_reset); edit_name=(EditText)findViewById(R.id.edit_name); edit_pswd=(EditText)findViewById(R.id.edit_pswd); //点击弹出提示信息 btn_login.setOnClickListener(listener); btn_reset.setOnClickListener(listener); } } SecondActivity: /** * 第二个activity * @author syf * */ public class secondActivity extends Activity{ protected void onCreat(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); } } 设置组件信息: <!-- 总体垂直布局 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="用户登录" android:textSize="30px" android:gravity="center_horizontal" /> <!-- 嵌套布局 水平居中--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="账户" /> <EditText android:layout_width="100px" android:layout_height="wrap_content" android:id="@+id/edit_name" /> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密碼" /> <EditText android:layout_width="100px" android:layout_height="wrap_content" android:id="@+id/edit_pswd" /> </LinearLayout> <!-- 按钮对象 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" > <Button android:layout_width="100px" android:layout_height="wrap_content" android:text="登陆" android:id="@+id/btn_login" /> <Button android:layout_width="100px" android:layout_height="wrap_content" android:text="重置" android:id="@+id/btn_reset" /> </LinearLayout> </LinearLayout> />
画图
1.创建自己的Activity类,继承Activity
2.创建画板类,继承ImageView
3.监听
4.画线
注:
1.Bitmap:位图类,特别注意该类的对象要用其他方法获得,不能new,因为该类无构造方法
2.Canvas:画布,创建画布是要传入一个Bitmap的对象;类似于Graphics,注意它的方法
3.Paint:画笔类,画图必须要用画笔,可设置画笔的颜色、宽度等
4.onDraw()方法:类似于paint()方法,注意要在该方法中调用画位图的方法
5.监听用触摸事件onTouchEvent
代码示例:
MyView类: /** * 创建自己的画图类,继承自ImageView * @author syf * */ public class MyView extends ImageView{ //全局对象 Bitmap map; Canvas c; Paint p; //坐标 float x1,y1,x2,y2; //构造方法 public MyView(Context context,AttributeSet as) { //调用父类中的构造方法 super(context,as); //创建Bitmap,Canvas,Paint的对象 //Bitmap的对象必须用其他方法获得 map=Bitmap.createBitmap(300, 400, Config.ARGB_8888); //传入map c=new Canvas(map); p=new Paint(); //设置颜色 p.setColor(Color.WHITE); //设置宽度 p.setStrokeWidth(5); } /** * 触摸事件 */ public boolean onTouchEvent(MotionEvent e) { //获取坐标 int action=e.getAction(); switch(action) { case MotionEvent.ACTION_DOWN: x1=e.getX(); y1=e.getY(); System.out.println("x1=="+x1+"y=="+y1); break; case MotionEvent.ACTION_UP: x2=e.getX(); y2=e.getY(); invalidate(); break; } return true; } /** * 定义onDraw()方法 * */ public void onDraw(Canvas canvas) { //调用父类中的方法 super.onDraw(canvas); //画直线 canvas.drawLine(x1, y1, x2, y2, p); //画位图 canvas.drawBitmap(map, 0,0,null); } } 自己的Activity类: public class FirstActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 在Main.xml中设置MyView的信息 <cn.syf.draw89.MyView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/image" android:background="#ff00ff" />
发表评论
-
果蔬连连看
2012-10-30 20:13 1073果蔬连连看 像连连看、扫雷、五子棋等游戏从小就玩,我 ... -
果蔬连连看
2012-10-30 20:08 0果蔬连连看 像连连看、扫雷、五子棋等游戏从小就玩,我 ... -
果蔬连连看
2012-10-30 20:04 0果蔬连连看 像连连看、扫雷、五子棋等游戏从小就玩,我 ... -
果蔬连连看
2012-10-30 19:58 0果蔬连连看 像连连看、扫雷、五子棋等游戏从小就玩,我 ... -
哈夫曼压缩
2012-10-30 17:49 1382浅谈哈夫曼压缩 ... -
集合框架小结
2012-08-15 11:20 892集合框架: Collection接口 Collection是 ... -
遍历方法小结
2012-08-15 10:40 13341.用for循环遍历:只能遍历数组,队列 示例: 遍历队列: ... -
Java
2012-07-16 20:14 814构造方法构造方法又叫做构造函数或构造器。类是有方法和属性组成的 ... -
Java
2012-07-08 13:02 9041.数组与队列的区别1).数组:是一组位置连续切类型相同的数据 ... -
Java
2012-07-07 10:09 817Java程序的编写,编译和运行过程 1).编写: (1) ... -
Java
2012-07-07 10:02 904排序算法总结 1.冒泡排序 算法描述: 在要排序的一组 ...
相关推荐
Android 项目实训心得体会 通过这篇文章,我们可以总结出以下知识点: 1. Android 项目实训的重要性:文章强调了实训的重要性,在实训中我们可以学到很多课堂中学不到的东西,实训让我们学会了很多关于 Android ...
Android学习心得体会
Android心得体验 Android是一款基于Linux内核的开源操作系统,由Google在2007年11月5日正式公布。这个平台由操作系统、中间件、用户界面和应用软件组成,为移动设备提供了一个全面的解决方案。Android最初由Android...
本资源是基于Android移动应用开发,用Android studio实现的期末作业,贪吃蛇小游戏。功能比较少,玩家可通过相应功能按键实现小游戏运行,碰到墙壁游戏结束 所使用配置: 1. Android studio 2022 Electric Eel(2022....
这是笔者经过多年的研究,总结出来的学习android心得和方法,可帮助初学者少走弯路,迅速上手
"android实训心得体会" Android实训心得体会是指通过实践和学习Android应用程序开发的经验和心得体会。通过实习,掌握了Android应用程序开发的一般流程,对常用控件掌握其用法,对其事件的监听方法也掌握。学习...
ANDROID实训心得体会 一、Android实训目的及其意义 Android实训的目的是为了让学生了解移动互联网的发展和展望,熟悉Android平台,了解基于Android的应用软件开发方式及其商业流程。通过实训,学生可以将理论知识...
【Android培训心得体会】 Android是一个基于Linux内核的半开源操作系统,尤其在移动设备领域广泛应用,由Google和开放手持设备联盟共同开发。通过Android培训,我们可以深入理解这一平台的特性和开发流程。 首先,...
【Android 开发心得体会】 Android 开发是一门涵盖了操作系统、编程语言和移动应用设计的综合性技术。自2007年Google推出Android操作系统以来,它已迅速成为全球最受欢迎的智能手机和平板电脑平台,甚至扩展到其他...
在Android培训过程中,深入理解Android系统的核心特性与开发流程至关重要。Android是由Google主导的一个开源操作系统,基于Linux内核,主要用于移动设备,如智能手机和平板电脑。Android系统以其开放性和灵活性吸引...
【Android培训学习心得体会】 在Android培训的过程中,我深深地体会到了技术进步的重要性。Android作为一个全球领先的移动操作系统,其学习和掌握不仅是提升个人技能的关键,更是适应信息化时代发展的必要条件。...
"ANDROID实训心得体会" 在这篇实训报告中,我们可以看到作者对ANDROID实训的总结和心得体会。这篇报告涵盖了作者在实训期间的经历和收获,包括对ANDROID开发的理解和实践,对项目开发的体会,以及对团队合作和沟通...
比如,当用户触摸钢琴键时,键体会有视觉反馈,如颜色变化或缩放效果。这需要用到Android的动画框架,如属性动画(Property Animation)。 总的来说,这个"Android电子钢琴源码"项目涵盖了Android应用开发的多个...
在Android平台上进行开发,首先需要一个完整的开发环境,这就是我们所说的平台搭建。"HelloWord+Android平台搭建心得"这个主题,意味着我们将深入探讨如何在Android环境中配置开发工具,编写并运行你的第一个Android...
Android Socket网络编程体会.pdf
《Android群英传》对具有一定Android开发基础的读者,以通俗易懂的语言介绍了Android开发的进阶技巧。...《Android群英传》最后通过实例来展示如何实际实践这些技巧,让读者更好地体会如何提高Android开发。
《Android群英传》对具有一定Android开发基础的读者,以通俗易懂的语言介绍了Android开发的进阶技巧。...《Android群英传》最后通过实例来展示如何实际实践这些技巧,让读者更好地体会如何提高Android开发。
《安卓小游戏:贪吃蛇》 在Android平台上开发小游戏,是一种普及且有趣的编程实践,而“贪吃蛇”...当你完成这个游戏后,不仅掌握了Android开发技能,还能体会到编程的乐趣,为以后的Android项目开发打下坚实基础。
《Android猜鸡蛋小游戏详解》 在移动开发领域,Android平台提供了丰富的工具和资源,使得开发者可以轻松创建各种有趣的应用和游戏。今天我们将深入探讨一款基于Android的小游戏——“猜鸡蛋在哪个鞋子里面”。这款...