Android授课笔记部分一.docx

上传人:b****3 文档编号:10547935 上传时间:2023-05-26 格式:DOCX 页数:21 大小:494.69KB
下载 相关 举报
Android授课笔记部分一.docx_第1页
第1页 / 共21页
Android授课笔记部分一.docx_第2页
第2页 / 共21页
Android授课笔记部分一.docx_第3页
第3页 / 共21页
Android授课笔记部分一.docx_第4页
第4页 / 共21页
Android授课笔记部分一.docx_第5页
第5页 / 共21页
Android授课笔记部分一.docx_第6页
第6页 / 共21页
Android授课笔记部分一.docx_第7页
第7页 / 共21页
Android授课笔记部分一.docx_第8页
第8页 / 共21页
Android授课笔记部分一.docx_第9页
第9页 / 共21页
Android授课笔记部分一.docx_第10页
第10页 / 共21页
Android授课笔记部分一.docx_第11页
第11页 / 共21页
Android授课笔记部分一.docx_第12页
第12页 / 共21页
Android授课笔记部分一.docx_第13页
第13页 / 共21页
Android授课笔记部分一.docx_第14页
第14页 / 共21页
Android授课笔记部分一.docx_第15页
第15页 / 共21页
Android授课笔记部分一.docx_第16页
第16页 / 共21页
Android授课笔记部分一.docx_第17页
第17页 / 共21页
Android授课笔记部分一.docx_第18页
第18页 / 共21页
Android授课笔记部分一.docx_第19页
第19页 / 共21页
Android授课笔记部分一.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Android授课笔记部分一.docx

《Android授课笔记部分一.docx》由会员分享,可在线阅读,更多相关《Android授课笔记部分一.docx(21页珍藏版)》请在冰点文库上搜索。

Android授课笔记部分一.docx

Android授课笔记部分一

李顺ESON

QQ:

742915360

Email:

whlishun@

Android

一,Android的介绍:

(1)什么是Android?

Android是一种以Linux为基础的开发源码操作系统。

主要用于手持设备。

AndyRubin,开放的手机联盟

IOSBOS塞班

(2)Android的版本的命名规则

Android用甜点作为它系统版本的命名规范。

Android1.5纸杯蛋糕cake

Android1.6甜甜圈

Android4.0三明治

JellyBean

(3)3G和3G手机

3G(3Generation)第三代移动通信技术

是指支持高速数据传输的蜂窝移动通信技术。

通信网络的标准:

中国电信的CDMA2000

中国联通的WCDMA

中国移动的TD-SCDMA

Android手机:

通信业和计算机行业相融合的产物。

(4)Google和手机联盟

开放手机联盟(OHAopenHandSetAlliance)

成员:

中国移动,英特尔,摩托罗拉、宏大电子(HTC),三星,华为,中兴通讯

3月3日:

华中师范大学华师园路6号星期69点

对内开源,对外部分开源

(5)Android体系结构

ViewActivity

CoreLibJDK

DVMJVM

LibSQLiteOpenGLWebKit

Linuxkernel

二,Android平台的安装

JDK

Eclipse

SDK:

ADT:

在线安装,本地安装

ftp:

//172.16.8.18

点击Addsite添加你的ADT路径

点击install,进行本地安装

点击next安装

ADT插件:

要保证ADT的版本和Eclipse的版本兼容

SDK:

要保证ADT和SDK相兼容

创建AVD

要更改AVD存在的目录:

所以我需要配置Android_SDK_HOME

配置JDK:

.;D:

\android-sdk-windows\tools;D:

\ProgramFiles\Java\jdk1.6.0\bin;

三,Android的HelloWorld

(1)Android的目录结构:

androidManifest.xml(Android的配置文件类似于Servlet里面的web.xml)

res(资源文件):

drawable(图片资源:

有三种分辨率高、中低)

layout(布局文件)

values(属性资源文件)避免代码平台移植出现的乱码问题,对字符串的编码问题进行统一的管理。

gen:

R.java(目的:

使资源变得更加容易访问,内部完全都是静态内部类)

RGB:

255255255

000

25500

(2)Activity的介绍:

1.Activity是一个控件的容器,容器里面有很多可以操作的组件。

2.作为用户与应用程序的一个接口,用户操作的每一个程序都是通过Activity开始的

04-1702:

54:

35.246:

I/System.out(647):

HelloUFO~~~~~~~~

(3)Activity的使用:

A.用户的Activity01必须继承系统的Activity这个类,才能受到Android操作系统的调用。

B.需要复写onCreate()方法,当Activity启动的时候,就会调用该方法

C.用户的Activity必须在androidManifest.xml进行配置

D.一个Activity必须对应一个Layout布局setContentView(R.layout.main);

屏幕内容的改变:

可以通过布局文件main,xml静态的改变。

也可以通过Activity用程序动态的去改变。

个位数为6,能被三整数的五位数有多少?

For(inti=0;i<100000,i++){

}

For(inti=10006;i<99996;i+=10){

If(i%3==0){

Count++;

}

}

For(inti=10006;i<99996;i+=30){

Count++;

}

 

四,内部类的知识:

(1)成员式、静态式,局部式,匿名式

(2)static修饰的属性和方法,执行的时机:

在类加载的时候被执行。

什么时候执行类加载?

对象还没有?

A.通过new关键字创建对象的时候

B.访问static修饰的属性的时候

C.通过反射手动的类加载Class.forName();

(3)匿名类的写法:

newOnClickListener(){

publicvoidonClick(Viewv){

}

};

五,Android的Intent

(1)字面上讲:

intent表示一种意图和目的

(2)使用上讲:

Intent总是用于activity之间的切换

【案例】实现两个Activity之间的跳转

(1)layout布局下面chatactivity01.xml

xmlns:

android="

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

android:

orientation="horizontal">

android:

id="@+id/btn1"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

text="@string/input"

/>

chatactivity01.xml和chatactivity02.xml是一样的

(2)为了保证布局文件与Activity之间绑定:

并且对界面进行一些事件的绑定。

publicclassChatActivity01extendsActivity{

privateButtonbtn;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.chatactivity01);

btn=(Button)findViewById(R.id.btn1);

//finalIntentintent=newIntent(this,ChatActivity02.class);

btn.setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

//注意转换另外一个Activity的代码this

Intentintent=newIntent(ChatActivity01.this,ChatActivity02.class);

startActivity(intent);

}

});

}

}

(3)一定要保证你写的activity在androidManifest.xml里面注册

android="

package="com.tarena.android"android:

versionCode="1"

android:

versionName="1.0">

minSdkVersion="8"/>

icon="@drawable/ic_launcher"android:

label="eson">

name=".Activity01"

android:

label="@string/app_name"/>

name=".ChatActivity01"android:

label="ChatActivity01">

name="android.intent.action.MAIN"/>

name="android.intent.category.LAUNCHER"/>

name=".ChatActivity02"android:

label="ChatActivity02">

(4)怎么实现两个Activity之间的跳转:

Intentintent=newIntent(ChatActivity02.this,ChatActivity01.class);

startActivity(intent);

六,实现Activity之间的数据交换。

(单向)

(1)快捷键:

ctrl+shift+o

第一步:

编写布局文件Activity01和Activity02.xml

android="

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

android:

orientation="vertical">

android:

id="@+id/tv1"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

textSize="30sp"

/>

android:

id="@+id/btn1"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="回复"

/>

android:

id="@+id/et1"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

/>

(2)第二步:

为了保证布局文件与Activity之间绑定:

并且对界面进行一些事件的绑定。

Activity01的代码:

publicclassActivity01extendsActivity{

privateEditTextet;//编辑框

privateButtonbtn;

privateTextViewtv;//本文框

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity01);

et=(EditText)findViewById(R.id.et1);

btn=(Button)findViewById(R.id.btn1);

tv=(TextView)findViewById(R.id.tv1);

btn.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

Intentintent=newIntent(Activity01.this,Activity02.class);

//先获得编辑框EditText的数据

Stringstr=et.getText().toString();

//将str交给Intent发送到Activity02

intent.putExtra("data",str);

Activity01.this.startActivity(intent);

}

});

}

}

Activity02的代码:

publicclassActivity02extendsActivity{

privateEditTextet;

privateButtonbtn;

privateTextViewtv;//文本框

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity02);

et=(EditText)findViewById(R.id.et1);

btn=(Button)findViewById(R.id.btn1);

tv=(TextView)findViewById(R.id.tv1);

//通过Activity获得当前的Intent对象

Intentintent=this.getIntent();

//拿出Intent对象里面的数据data

Stringstr=intent.getStringExtra("data");

//将data送给Activty02上面的文本框

tv.setText(str);

}

}

(3)注册Activity

七,实现Activity之间的数据交换。

双向

(1)Activity01核心代码:

publicclassActivity01extendsActivity{

privateEditTextet;//编辑框

privateButtonbtn;

privateTextViewtv;//本文框

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity01);

et=(EditText)findViewById(R.id.et1);

btn=(Button)findViewById(R.id.btn1);

tv=(TextView)findViewById(R.id.tv1);

btn.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

Intentintent=newIntent(Activity01.this,Activity02.class);

//先获得编辑框EditText的数据

Stringstr=et.getText().toString();

//将str交给Intent发送到Activity02

intent.putExtra("data",str);

//Activity01.this.startActivity(intent);

startActivityForResult(intent,1);

et.setText("");

}

});

}

(2)Activity02核心代码:

publicclassActivity02extendsActivity{

privateEditTextet;

privateButtonbtn;

privateTextViewtv;//文本框

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity02);

et=(EditText)findViewById(R.id.et1);

btn=(Button)findViewById(R.id.btn1);

tv=(TextView)findViewById(R.id.tv1);

//通过Activity获得当前的Intent对象

finalIntentintent=this.getIntent();

//拿出Intent对象里面的数据data

Stringstr=intent.getStringExtra("data");

//将data送给Activty02上面的文本框

tv.setText(str);

//为回复按钮添加单击事件

btn.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

//Intentintent=newIntent();

//先获得编辑框EditText的数据

Stringstr=et.getText().toString();

//将str交给Intent发送到Activity02

intent.putExtra("data",str);

setResult(RESULT_OK,intent);

et.setText("");

finish();

}

});

}

}

(3)注册Activity

八,Intent的组成和分类:

(1)Intent的组成:

A.种类(category)

B.操作的动作(Action)

C.组件(component)

D.附加的数据(Extras)

(2)显示的:

Intentintent=newIntent(A1,A2)

隐式的:

在androidMenifest.xml中配置Android平台定位的消费者。

(3)操作类型(动作Action)和数据

A.动作是ACTION_CALL:

数据字段:

tel:

uri或者电话号码。

B.动作是ACTION_SEND:

数据字段:

发送短信

C.动作是ACTION_VIEW:

数据字段:

http:

URI,接受动作将调用去下载和显示一个URI所指向的数据

九,布局文件:

(1)常见的控件

TextView,Button,EditText,

RadioButton

(2)复杂的控件:

ListView,GridView,自定义的View

(3)布局文件

LinearLayout

RelativeLayout

TableLayout

AbsoluteLayout

(4)布局文件常见的属性:

Android:

id

Android:

text尽量使用string.xml

Android:

textSize文字sp图片dipdp

Android:

background“#ff0000“

Android:

gravity

Android:

padding*

Android:

hint在编辑文本中提升术语的设置

 

(5)

一十,ListView+Adapter

(1)问题1:

Listview怎么显示数据?

数据要通过Adapter存放到ListView上去

问题2:

数据要以什么样的方式去显示(布局文件有关系)

(2)Adapter

数据(Data)集合or数组

Java|----------Adapter------ListView

布局文件

(3)API:

parent

TheAdapterViewwheretheclickhappened.

view

TheviewwithintheAdapterViewthatwasclicked(thiswillbeaviewprovidedbytheadapter)

position

指代的是View(TextView)在当前Adapter的位置

id

Therowidoftheitemthatwasclicked.

指代的是View(ListView)中Item的id

 

一十一,

List>data;

怎么动态的添加一个student对象?

这个对象只有在运行的时候才知道它的属性和方法?

程序的动态性?

ClassStudent{

PrivateStringname;

PrivateStringphone;

//必须更改里面的代码

}

为他添加新的属性age

NewStudent(“ESON”,”12345”);

List>

Mapstudent=newHashMap();

Student.put(“name”,”ESON”);

Student.put(“phone”,”12345”);

Student.put(“age”,”18”);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2