Android安卓 安卓笔记.docx

上传人:b****7 文档编号:10789086 上传时间:2023-02-22 格式:DOCX 页数:21 大小:192.48KB
下载 相关 举报
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

《Android安卓 安卓笔记.docx》由会员分享,可在线阅读,更多相关《Android安卓 安卓笔记.docx(21页珍藏版)》请在冰豆网上搜索。

Android安卓 安卓笔记.docx

Android安卓安卓笔记

Android安卓

什么是android?

它是一个智能手机操作系统

就象电脑的操作系统xpwin7

它是一个开发框架平台

它是一些类库

是谷歌公司开发

为什么要学习Android?

将来是移动设备的天下!

现在主流智能手机操作系统主要有:

android,iphone的ios,windowphone8

智能手机开发

Android安卓苹果开发iphone开发mac开发

找工作,必须有一技之长

学习Android的时间?

学习javaee一般需要六到12个月

学习Android一般需要一到3个月

Javase基本语法就可以

环境搭建:

1.下载eclipse+adt

2.下载安装jdk

3.下载sdk2.2或其它版本

4.设置eclipse和sdk2.2的目录(在eclipse中点击window-prefrense-android-设置sdk目录,如图)

5.创建模拟器或者连接手机

点击eclipse上的adt插件

然后设置参数

创建一个模拟器,然后选中创建的模拟器,点击start就可以

创建第一个android项目

在eclipse中选择file-new--androidproject

如图:

运行第一个项目:

用鼠标右键点击刚创建的项目,选择runasandroidapplication

项目目录

Src:

是用来存放我们自己编写的java类

Gen:

是软件自动生成的一个文件夹,不能修改,里面放的是自动生成的每个组件对应的编号

Android2.2是我们使用的sdk类库

Assets:

用来放一些特殊用处的资源

Res:

用来放我们的资源

Res-drawable-hdpi:

用来放高分辨率的图片

Res-drawable-mdpi:

用来放中分辨率的图片

Res-drawable-ldpi:

用来放低分辨率的图片

Layout:

用来放布局文件的,即界面设计文件

Values:

用来存放一些配置信息

Values-strings.xml:

用来存放字符串的

AndroidManifest.xml:

是整个项目的配置文件,可以在里面设置版本、权限、项目名称等

Default-propertes:

可以设置对项目源代码进行加密

Android项目打包

选中android项目,然后选择androidtools—exportsingnedpackage..

每一次导出时选择”createnewkeystore”如图:

下一步,填写项目信息,密码和个人信息

下一步

最后点击finish.你会发现生成了一个后缀为apk的文件,即安装文件

Android项目真机调试

条件:

你的手机对应的官方驱动,一部手机

1.安装手机驱动(最简单的方法是下载91手机助手安装到电脑,然后插上手机自动下载驱动)

2.将手机通过数据线连接到电脑的usb口上

3.检查一下eclipse是否已经识别你的手机(打开eclipse-window-showview—选择android文件夹下的devices)如果显示你的手机名称,则成功连接

如果没有,则需要检查手机设置

打开手机上的设置—程序与调试-开启USB调试和未知源两项开关

4.选中项目,右键选择runasandroidapplication然后你的手机即可

Android系统架构

Android布局

布局文件:

是一个xml文件,xml格式:

要有一个文件头:

xmlversion="1.0"encoding="utf-8"?

>

最外面只能有一个标签,称为根标签,标签内可以嵌套子标签,不要交叉嵌套

标签分开始标签和结束标签,如

如果标签中不需要填写内容,可以直接写成一个,如

在开始标签中可以添加属性:

bushi

Android组件:

Textview:

Android:

layout_width设置宽度

Android:

layout_height设置高度

Android:

text设置文字内容

Fill_parent充满整个父窗口

Wrap_content够用就行

如下

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="@string/str1"/>

布局

线性布局:

LinearLayout

 

给按钮添加事件

1.在布局文件中添加一个button标签,并声明id

2.在activity.java中声明一个Button变量

3.根据ID获得对应的布局中的按钮并赋给button变量

abc=(Button)this.findViewById(R.id.registBtn);

//先设置要显示的布局文件

//然后获得布局文件中的按钮并与上面的button变量进行绑定

4.添加事件功能:

监听器,让当前类实现OnClickListener,并实现它的方法onClick

5.在onClick方法中执行操作,如

publicvoidonClick(Viewv){

switch(v.getId()){

caseR.id.registBtn:

System.out.println("点击了按钮一");

break;

caseR.id.loginBtn:

System.out.println("点击了按钮二");

break;

}

}

 

界面Activity

自己创建程序界面:

1.创建一个类,extendsActivity,并重写父类中的onCreate方法

2.创建一个layout布局文件,并在类中使用this.setContentView(R.layout.linearlayout);设置使用哪一个布局文件

3.在menifest.xml文件中设置这个activity的配置信息

Activity之间跳转

Intentintent=newIntent(MainActivity.this,SecondActivity.class);//意图

this.startActivity(intent);

MainActivity.this是表示当前界面类

SecondActivity.class表示要跳转到的目标activity类

Activity之间的数据传递

1.A跳转到B界面,同时将参数传给B界面

在A中声明意图后,将参数绑定到意图变量中,如下

Intentintent=newIntent(MainActivity.this,SecondActivity.class);//意图

//将参数绑定到意图中

intent.putExtra("username",usernameET.getText().toString());

intent.putExtra("age",23);

this.startActivity(intent);

在B的oncreate方法中获得意图

Intentintent=this.getIntent();

获得该意图中传过来的参数值

username=intent.getStringExtra("username");

intage=intent.getIntExtra("age",0);

1.A启动B,B给A传值

在A中启动B界面,但不是使用startactivity,而是this.startActivityForResult(intent,1001);

在B界面中结束当前界面的代码不使用this.finish(),而使用:

Intentintent=newIntent();

this.setResult(1002,intent);

this.finish();

回到A界面,重写父类的一个方法onActivityResult(intrequestCode,intresultCode,Intentdata),在该方法中通过resultcode为区分是哪个界面返回的值

@Override

protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){

//TODOAuto-generatedmethodstub

super.onActivityResult(requestCode,resultCode,data);

System.out.println("requestcode="+requestCode+"resultCode="+resultCode);

switch(resultCode){

case1002:

Stringname=data.getStringExtra("name2");

System.out.println("第二个界面返回的值name2="+name);

break;

case33:

Stringname3=data.getStringExtra("name3");

System.out.println("第三个界面返回的值name3="+name3);

break;

}

}

Activity的生命周期

onCreate():

是在程序打开时执行,且在整个生命周期中只执行一次,所以一般用来进行初始化

onStart():

是在程序打开时或程序返回时执行,且执行多次,

onStop():

是在程序退出或程序被推到后台执行时执行,且执行多次

onDestroy();是在程序退出时执行,只执行一次,一般用来释放资源,即将在oncreate方法中获得的一些资源进行释放。

onResume();是在onstart方法之后执行,可以执行多次

onReStart();当使程序大后台推到前台执行时会先执行此方法,然后执行onstart方法,可以在onrestart方法中进行一些恢复性的操作。

onPause();即暂停方法,是在退出或将程序推到后台执行时执行的第一个方法,可以执行多次。

可以在这里对一些正在执行的操作进行停止。

程序启动时执行(真正启动程序,而不是返回原来的程序)onCreate---onStart—onResume

点击主界面按钮时执行:

onPause---onStop

再重新进入该程序时执行:

onRestart---onStart---onResume

点击返回按钮时,其实就是退出程序时执行:

onPause—onStop—onDestroy

ListView信息列表

1.在布局文件中添加一个ListView组件

2.在layout文件夹中创建一个新的布局文件,用来设计列表中每一项的布局内容

3.在activity中listview组件与ListView变量绑定

4.创建数据内容,使用Listlist=newArrayList();向list中添加Map对象

//创建数据内容

ListuserList=newArrayList();

Mapmap=newHashMap();

map.put("username","bushi1");

map.put("age",23);

userList.add(map);

map=newHashMap();

map.put("username","bushi2");

map.put("age",24);

userList.add(map);

map=newHashMap();

map.put("username","bushi3");

map.put("age",25);

userList.add(map);

map=newHashMap();

map.put("username","bushi4");

map.put("age",26);

userList.add(map);

map=newHashMap();

map.put("username","bushi5");

map.put("age",27);

userList.add(map);

map=newHashMap();

map.put("username","bushi6");

map.put("age",23);

userList.add(map);

 

5.创建适配器

//创建适配器

SimpleAdaptersimpleAdapter=newSimpleAdapter(this,userList,R.layout.userlist_item,newString[]{"username","age"},newint[]{R.id.usernameTV,R.id.userageTV});

上面的userList是存放了数据的集合

R.layout.userlist_item是listview中每一项的布局文件

newString[]{"username","age"}是userlist中map中的每项数据的键

int[]{R.id.usernameTV,R.id.userageTV}是item.xml布局文件中组件的ID

即将map中的某个键值赋给某个组件

6.设置适配器给listview

//将适配器赋给listview

userLV.setAdapter(simpleAdapter);

Activity界面

手动创建界面并跳转

1.创建一个类,继承Activity,重写父类的onCreate方法

2.创建一个布局文件

3.在onCreate方法中,设置布局文件this.setContentView(R.layout.second);

4.在androidmenifest.xml中声明新的activity

name=".SecondActivity"android:

label="thisissecondactivity">

5.在第一个界面的按钮事件中添加跳转的代码

//开始跳转

Intentintent=newIntent(FirstActivity.this,SecondActivity.class);//意图

//跳转

FirstActivity.this.startActivity(intent);

A界面跳转到B界面进行传值

1.在第一个界面的跳转代码之前进行参数绑定

//开始跳转

Intentintent=newIntent(FirstActivity.this,SecondActivity.class);//意图

//设置参数

intent.putExtra("username","bushi");

intent.putExtra("age",12);

//跳转

FirstActivity.this.startActivity(intent);

1.在B界面中的onCreate方法中获得参数

Intentintent=this.getIntent();

Stringun=intent.getStringExtra("username");

intage=intent.getIntExtra("age",0);

System.out.println("userame="+un+"age="+age);

A界面跳转到B界面,然后B将值返回给A界面

1.在A界面跳转时使用this.startActivityForResult(intent,101);跳转到B界面

2.在B界面中通过意图设置参数

//结束当前面,返回上一界面

Intentintent=newIntent();

intent.putExtra("addr","shandong");

this.setResult(1020,intent);

SecondActivity.this.finish();

3.在A界面中重写Activity的一个方法:

onActivityResult()

通过该方法的resultcode来区别是由哪一个界面返回的,然后就可以通过参数intent来获得返回的值

结束当前界面

this.finish();

Activity的生命周期

程序启动时:

oncrate—onstart—onresume

程序退出时:

onpause()—onstop—ondestroy

程序推到后台:

onpuase—onstop

程序从后台恢复:

onrestart—onstart—onresume

Oncreate()只执行一次,是在程序启动时执行。

一般用来做初始化用

Ondestroy() 只执行一次,是在程序退出时执行.一般用来释放资源

ListView组件

1.在布局文件中添加一个ListView组件

2.重新创建一个布局文件,用来设计每一项的布局内容

3.在activity中绑定该组件

4.定义一个List集合,并向其添加一些Map对象,map中包含了一些键值对

 

Listlist=newArrayList();

Mapmap=newHashMap();

map.put("username","bushi1");

list.add(map);

map=newHashMap();

map.put("username","bushi2");

list.add(map);

map=newHashMap();

map.put("username","bushi3");

list.add(map);

map=newHashMap();

map.put("username","bushi4");

list.add(map);

map=newHashMap();

map.put("username","bushi5");

list.add(map);

map=newHashMap();

map.put("username","bushi6");

list.add(map);

5.定义一个适配器

SimpleAdaptersimpleAdaptor=newSimpleAdapter(this,list,R.layout.userlist_item,newString[]{"username"},newint[]{R.id.usernameTV});

6.为listview设置适配器

userLV.setAdapter(simpleAdaptor);

 

通过命令框查看数据库和查询sqlite中的数据

1.打开运行,输入cmd,打开命令输入框,输入adbshell命令

2.如果不能识别adb命令,则需要将sdk目录下的tools目录放到环境变量path中

3.命令执行成功后,会出现一个#号,然后输入cddata回车,再cddata回车

4.继续cd你的项目的包名回车

5.进去以后使用ls没有列出database目录,说明这个数据库还没有创建

6.当执行了创建数据库的代码后如果还没有database目录,则需要读或写一次数据库

7.Cddatabases回车,就可以 ls出数据库的名称

8.看到数据库名称后,执行sqlite3数据库名回车即可执行sql命令

数据库操作SQLite

1.创建DataBaseHelper,继承SQLiteOpenHelper

2.在onCreate方法添加创建表的语句

db.execSQL("createtablestudent(snumvarchar(20),snamevarchar(20),ageint,heightfloat)");

1.在你的按钮事件中添加如下代码,实现创建数据库

dbh=newDataBaseHelper(MainActivity.this,"studentsys",null,1);

SQLiteDatabasesqldb=db.getReadableDatabase();

2.在添加记录的按钮事件中添加如下代码

SQLiteDatabasedb=dbh.getWritableDatabase();

ContenValuescv=newContentValues();

cv.put(“name”,”bushi”);

cv.put(“age”,24);

db.insert(“student“,null,cv);

db.close();

6.删除记录

SQLiteDatabasedb=dbh.getWritableDatabase();

db.delete("student","snum=?

",newString[]{"ht001"});

db.close();

7.修改记录

SQLiteDatabasedb=dbh.getWritableDatabase();

ContentValuescv=newContentValues();

cv.put("sname","aobama");

cv.put("age",52);

db.update("student",cv,"snum=?

",newString[]{"ht001"});

db.close();

8.查询记录

SQLiteDatabasedb=dbh.getReadableDatabase();

Cursorcursor=db.query("student",newString[]{"snum","sname","age","height"},"snum=?

",newString[]{"ht001","ht002"},"","","");

while(cursor.moveToNext()){

Stringsnum=cursor.getString(cursor.getColumnIndex("snum"));

Stringsname=cursor.getString(cursor.getColumnIndex("sname"));

intage=cursor.getInt(cursor.getColumnIndex("age"));

floatheight=cursor.getFloat(cursor.getColumnIndex("height"));

System.out.println("snum=="+snum+"name="+sname+"age="+age+"height="+height);

}

 

利用Android程序向服务器(servlet\action\webser

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

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1