【网学网提醒】:网学会员编辑为广大网友搜集整理了:Android讲义-3-16最新版绩等信息,祝愿广大网友取得需要的信息,参考学习。
Android开发课程讲义..............................................................................................1
03月09日.......................................................................................................1
一、云计算和智能终端概况..........................................................................1
二、如果用命令行建立一个Android工程.......................................................1
三、一个程序:不用任何main.xml的Android
程序........................................2
03月15日.......................................................................................................3
一、XML简介以及TextView标签介绍...........................................................3
二、JAVA
程序回顾......................................................................................4
三、本节课关键程序讲解,一个使用布局的简单按钮
程序................................5
四、JAVA语法补充:字符串和其他数值类型的互相转换..................................6
五.开发新
程序步骤....................................................................................7
03月16日.......................................................................................................7
一、基本控件的使用....................................................................................7
鼠标指向目录,按Ctrl可以快速定位Android开发课程讲义
03月09日
一、云计算和智能终端概况
云计算google三大论文SQL-》NoSQL(Hoodop云平台)GPUAndroid4.0.3JAVA命令行,eclipseiOS5.1Object-C(C派生,加入了smalltalk),xcode(运行在macos上的一个类似eclipse软件)iCloudAndroid分为三大类设备:
1.原生设备全球只有一款,由三星制造,google授权
2.google授权设备指安装了google服务(GoogleMap,GMail,Google联系人,Google日历,AndroidMarket[GooglePlay],GoogleTalk)的各类设备,但是由各大厂商进行了部分修改,如界面和功能修改
3.山寨设备不搭载上述google服务的各类设备
GoogleDoc,GoogleMusic,GooglePhoto
二、如何用命令行建立一个Android工程
1.
androidcreateproject--target2--path./FirstApp--activity
FirstApp--packageapt.tutorial
createproject表示建立一个工程--target2目标运行时版本是2--path表示这个项目存在哪里./FirstApp存在当前目录下一个叫做FirstApp的文件夹下面--activityFirstApp表示主
程序文件的名字叫做FirstApp--packageapt.tutorial表示包的名字叫做apt.tutorial2.如果一个命令太长,只要在命令最后面加上\就可以在下一行继续写。
三、一个程序:不用任何main.xml的Android
程序 packagecommonsware.android.skeleton;importimportimportimportimportandroid.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.Button;
java.util.Date;
publicclassNowextendsActivityimplementsView.OnClickListener{Buttonbtn;@OverridepublicvoidonCreate(Bundleicicle){//这个方法每个Android程序都有,程序一开始就执行这个方法。相当于main的作用super.onCreate(icicle);//构造函数,必须照抄btn=newButton(this);//把按钮实例化,a=1btn.setOnClickListener(this);//为按钮设置一个监听器,按钮总要按下去,按下去以后就会触发监听器,按下去之后会发生一个动作(按钮的监听器一定叫做onClick,它里面就是监听器所做的具体内容)updateTime();setContentView(btn);//基本上每个Android
程序都有,而且都排在最后一行}publicvoidonClick(Viewview){
updateTime();
}
privatevoidupdateTime(){btn.setText(newDate().toString());//在btn这个按钮上显示一个字符串,这个字符串是newDate()取得系统当前时间.toString():把时间换为字符串}}按钮:类Button,
动作方法:每一个按钮,都存在一个onClick()方法,当按钮被按下的时候,就执行这个方法(原因是因为,为按钮构造了一个监听器,来调用这个onClick()方法)
四、类和对象
类的里面可以放置两大类:字段[变量],方法[函数]一定有{}括起来Buttonbtn;//声明一个叫做btn的按钮类型(类)变量名(对象)inta=3;a;
03月15日
一、XML简介以及TextView标签介绍
xml起始标签以?>表示
xmlversion="1.0"表示当前xml文件的版本是1.0
encoding="utf-8"表示当前xml文件的编码是utf-8,
中国编码叫做gb2312
普通标签<标签名属性>内容标签名>
线性布局如果一个标签没有任何内容的时候,可以简写为<标签名属性/> android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
xml文件基本上由两大部分组成:1,起始标签(只能有一个,而且就是一行),2.普通标签(可能会有0个或多个,可以嵌套)
二、JAVA程序回顾
打包,为了避免类的名字冲突,要跟上反过来写的域名packagecom.google如google导入import:一个JAva程序里面有一个类,这些类是系统或者其他人提供给我们的,当我们需要使用这些类的时候,就需要先导入他们
类{字段方法}
packagecom.自己的名字;import需要导入的一些包;publicclass类名首字母需要大写extends基类名implements接口名{public类型变量名全小写;//字段,在程序里可以有很多个
public返回值方法名全小写(参数可有可无){}}基类也是一个类,和普通类没有任何差别。任何一个类都可以作为基类。基类是为了从这个类作为基础,派生出更为强大和更多功能的类。通过基类来生成的新类成为派生类。基类和派生类也被称作父类和子类。
接口也是一个类,他和普通类的差别在于,接口里面的方法都是没有实现的(也就是说,这些方法[函数]里面都是空的)。
接口一般来说也是为了简化代码的书写。其中接口内部方法是空的原因是因为需要让实现了这个接口的类,对这些方法进行重新书写,即重载。
packagecom.pengsuen;publicclassAbc{publicinti;
publicButtonbtn;
publicvoidfsdfds(){}}
publicclassDefextendsAbc{publicintd;}
三、本节课关键程序讲解,一个使用布局的简单按钮程序
packagecom.ss;importimportimportimportimportandroid.app.Activity;android.os.Bundle;android.view.View;android.widget.Button;java.util.Date;extendsActivityimplements
publicclassDdActivityView.OnClickListener{
Buttonbtn;
@Override//表示下面这个onCreate方法是一个重载方法(覆盖掉基类或者接口中的方法,进行重新书写)
publicvoidonCreate(Bundleicicle){//一个Android程序中,务必要有一个onCreate方法,是强制规定。整个Android程序就从这个方法开始执行,相当于C语言中main主函数的作用,并且这个方法必须带有Bundleicicle参数//它里面放置控件和布局之间的对应关系super.onCreate(icicle);//每次不变,紧跟在onCreate方法的之后。作用是调用基类的构造函数。super指超类,也就是基类setContentView(R.layout.main);//调用视图,也就是调用res下layout下的main.xml文件,对整个程序的界面进行配置btn=(Button)findViewById(R.id.button1);//把代码中的一个控件[对象、变量]和视图(res下layout下的main.xml文件)中的一个控件关联起来。btn.setOnClickListener(this);//为按钮设置一个监听器updateTime();//调用下面的updateTime方法}publicvoidonClick(Viewview){//按钮的动作方法updateTime();//调用下面的updateTime方法}privatevoidupdateTime(){//这个方法的存在,是遵循软件工程原则的,遵循的是软件复用。原因:当一些代码需要多次重复使用的时候,我们会把这些代码单独放在一个方法当中。当需要的时候,调用这个方法就可以了
//因为这种方法通常都是在本类当中被其他方法所调用,所以他的访问修饰符从public变成了private,以表示这个方法仅仅能够被本类当中的其他方法使用。
btn.setText(newDate().toString());
}
}
四、JAVA语法补充:字符串和其他数值类型的互相转换
inta;Strings;整形到字符串s=a.toString();字符串到整型a=Integer.valueOf(s);
浮点和字符串的互转doubled;Strings;浮点转字符串s=d.toString();字符串转浮点d=Double.valueOf(s);
五.开发新程序步骤
第一点:构造界面,并且在onCreate方法中,将界面和程序中的对象进行关联
第二点:构造业务逻辑。
03月16日
一、基本控件的使用
packagecom.basic;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.*;publicclassBasicActivityextendsActivityimplementsCompoundButton.OnCheckedChangeListener{//所有字段的上下一定要留空白行CheckBoxcb1,cb2;//复选框TextViewtv1,tv2;RadioButtonrb0,rb1,rb2;//单选按钮RadioGrouprg1;//单选按钮组//方法和方法之间也要空行@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//所有的控件绑定操作上下也需要空行
cb1=(CheckBox)findViewById(R.id.checkBox1);
cb2=(CheckBox)findViewById(R.id.checkBox2);
tv1=(TextView)findViewById(R.id.textView1);
tv2=(TextView)findViewById(R.id.textView2);
rg1=(RadioGroup)findViewById(R.id.radioGroup1);
rb0=(RadioButton)findViewById(R.id.radio0);
rb1=(RadioButton)findViewById(R.id.radio1);
rb2=(RadioButton)findViewById(R.id.radio2);
//监听器上下也需要空行,单选和复选按钮的监听器是完全一样的
cb1.setOnCheckedChangeListener(this);
cb2.setOnCheckedChangeListener(this);
rb0.setOnCheckedChangeListener(this);
rb1.setOnCheckedChangeListener(this);
rb2.setOnCheckedChangeListener(this);
}
//多个相同类型的控件,可以绑定同样的一个监听器
publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){
//isChecked()方法用来检查一个单选按钮或者一个复选按钮是否被选中
if(cb1.isChecked()&;&;!cb2.isChecked())tv1.setText("checkbox1");
elseif(cb2.isChecked()&;&;!cb1.isChecked())tv1.setText("checkbox2");
elseif(cb1.isChecked()&;&;cb2.isChecked())tv1.setText("Both");
elsetv1.setText("");
if(rb0.isChecked())tv2.setText("RadioButton0");
if(rb1.isChecked())tv2.setText("RadioButton1");
if(rb2.isChecked())tv2.setText("RadioButton2");
}