Date 0808


Android 开发环境配置

开发工具 :eclipse 解压就能使用==> 需要jre

Java JDK6.0 ==> jdk、jre

android需要安装SDK ==> 从网上下载20,30M的包 , SDK 管理器==>

运行android可执行文件(Linux: tools/android; Windows:/)==> 安装SDK 2.2 ==> 配置一个AVD


安装 JDK ==> SDK ==> 配置环境变量PATH ==> 解压eclipse ==> 安装android开发插件ADT ==> 为android配置模拟器AVD

========================

安装过程中,需要执行一些可执行文件

执行 :

1)可视化==> 双击 ==> Run in Terminal(在终端中运行)

2)终端下

# cd 文件所在的目录

# ./可执行文件名字

执行时遇到不能执行问题,解决?

# cd 文件所在目录

# chmod a+x 文件


配置PATH :

JAVA 的 jdk/bin

SDK adb所在的目录


Linux :

编辑用户目录下的 .profile

#gedit ~/.profile

export PATH="路径1:路径2: ... :$PATH"


=====================================

xml 可扩展的标记语言,允许自定义标记

html 标记语言 ==> web编程


标记一般成对出现<string name="hello" > </string>

<Button />

标记允许嵌套,不允许交叉嵌套

<LinearLayout ...>

<Button />

<TextView />

<TableLayout ...>

</TableLayout>

</LinearLayout>

注释 :

1) *.java ==> // , /* ... */ , /** */

2) xml , html 文件注释 <!-- 注释内容 -->


布局文件每个控件需要定义的属性

android:id="@+id/名字"

android:layout_width=""

android:layout_height=""

width 和 height常用的属性值 为 fill_parent 或 wrap_content

java 文件中获取该组件 ( (控件类型)findViewById(R.id.XXX))


TextView

Button

EditText


猜数


==========================================================================

Date 0809

复习 :

1)配置android的开发环境

2)了解android项目下各个目录含义,存放内容

3)可以创建一个简单的android项目

TextView

Button

EditView

步骤 :

i、在Activity对应的布局xml文件 定义组件,设置属性

<LinearLayout></LinearLayout>

<Widget android:id="@+id/idName"

android:layout_width=""

android:layout_height="" />( </Widget> )

fill_parent、wrap_content

ii、java文件访问组件==>获取组件 onCreate()

View findViewById(R.id.XXX) ==> 强制类型转换

iii、对控件操作 ==> 添加监听器

Button ==> OnClickListener


今天内容 :

1. Activity 的生命周期

2. 控件常用属性,尺寸的设置和颜色设置

3. LinearLayout


问题一:Context???

问题二 : fill_parent 与 match_parent

1. Activity 的生命周期

构造函数 ==> onCreate() ==> onStart() ==> onResume()(活跃状态)

如果有其他Activity加入 ==> onPause()

如果Activity完全不可见 ==> onStop()

finish() , 退出 , 资源不足 ==> onDestroy()


2. 新建一个Activity,要素

1) class XXX extends Activity{}

2) 在 AndroidManifest.xml 中注册Activity

<activity name=".className"></activity>

<activity name=".className" android:theme="@android:style/Theme.Dialog"></activity>

3) 在layout为Activity定义一个布局xml文件

4) 在class中重写 onCreate()方法

3. 启动一个Activity

Intent intent = new Intent(getApplicationContext() , XXXActivity.class);

startActivity(intent);

4. 结束Activity

finish();


练习 :1 . 测试Activity的生命周期

2. 从一个Activity跳转到第二个Activity

3. 上方的两个问题???


5. 控件常用xml属性

尺寸 : px 像素

dip或者dp 设备独立像素

sp 放大像素 处理字体

颜色 : #RGB #000000--#FFFFFF

图片 : drawable @drawable/名字

名字不采用大写字母,不以数字开头

layout_width

layout_height

layout_text

layout_textColor

layout_background

layout_textSize

layout_padding

layout_margin

1)EditText

layout:lines

layout:maxLines

layout:password="boolean"

layout:numeric="" Integer , decimal , signed

android:phoneNumber="boolean"

2) 滚动条

ScrollView 提供垂直方向滚动条

layout:scrollbars="vertical"

HorizontalScrollView 提供水平方向滚动条 , 不能为ListView控件设置

3) ImageView

layout:src/setImageResource(int id)

layout:scaleType="" 属性值不能自定义

4) 布局嵌套


练习 :

1)测试ImageView的ScaleType不同属性值的含义

2)调整一下你的猜数游戏布局

3)测试在一个布局中分别设置两个Button,其中一个宽高全为100px,另一个宽高全为100dip,运行在不同分辨率的模拟器下,对照一下两个按钮的各自大小

======================================

0810

复习 :

EditText

ImageView


LinearLayout android:orientation="vertical or horizontal" 控件可以使用属性 layout_weight

今天内容 :

1.

TableLayout 属性 android:stretchColumns , 列从0数起

<TableRow>

控件可以使用属性 android:layout_column="int" 设定是第几列

FrameLayout 单帧布局

每个控件都放置在以左上角开始的位置,后面控件遮挡前面控件

2. 选项菜单的使用

1)选项菜单添加

onCreateOptionsMenu(Menu menu) {

menu.add();

menu.add().setIcon(); // android.R.drawable.ic_menu_xxx;

}

2)对于选项菜单项的处理

onOptionsItemSelected(MenuItem item) {

int id = item.getItemId();

}

3)和选项菜单相关的其他方法

onPrepareOptionsMenu(){}

onOptionsMenuClosed(){}


注 : android内置一部分资源,这些内置资源引用 android.R....

4)可以为控件注册选项菜单,在控件的监听器的方法中使用 openOptionsmenu();


3. 快捷菜单 ContextMenu

1) 重写onCreateContextMenu()

menu.setHeaderTitle()

menu.add()

registerForContextMenu(View v) ; 为v控件添加了快捷菜单

unregisterForContextMenu(View v) ;

2)控件注册监听器

setOnCreateContextMenuListener()


4. java代码中添加控件

1)new View(Context)

2)addView(vObject , new XXX.LayoutParams(int w , int h));

练习 :

1. 两种方式实现ContextMenu ,


明天提交 :1)登录

2)Project :ContextMenu,OptionsMenu

3)Project:

MainActivity :LinearLayoutButton、TableLayout

Button、 FrameLayoutButton、RelativeLayoutButton、AbsoluteLayoutButton

单击不同的按钮显示不同的布局

在每个 布局对应Activity中添加注释,说明该布局的使用


================================================================

0811

RelativeLayout

AbsoluteLayout

RadioGroup、RadioButton、CheckBox

1. RelativeLayout 相对布局

第一个控件默认放置在左上角,后续控件放置时需要参照某个控件设置位置(Above、Bottom、Left、Right),还可以参照某个控件设置对齐方式(align)

从第二行开始控件的定位一般需要几个属性 :垂直方向的定位/水平方向+对齐

注意 : 控件要设置id

layout_above

layout_bottom

layout_left

layout_right

----------------

layout_alignBaseline

layout_alignTop

layout_alignBottom

layout_alignLeft

layout_alignRight

以上9个属性的值是某个参照控件的id "@id/viewId"

layout_alignParentTop

layout_alignParentBottom

layout_alignParentLeft

layout_alignParentRight

以上4个属性的值是 boolean


2. AbsoluteLayout

第一个控件默认放置在左上角 , 其他控件需要定位,layout_x , layout_y


3. TextView , EditText , Button , ImageView , ImageButton , ScrollView

1)单选按钮,若干个RadioButton为一组,放在一个RadioGroup中

i. <RadioGroup> 的属性 android:checkedButton="@+id/要默认选中的

RadioButton的id"

ii. 在RadioGroup中嵌套若干个RadioButton

iii. 为 RadioGroup添加 onCheckedChangeListener 监听器

在重写的onCheckedChange方法中,可以通过checkedId和RadioButton的id进行比较,来判断那个RadioButton被选中

2)复选框 CheckBox

android:checked="boolean" / isChecked()

CheckBox 可以添加 onClickListener 监听器

java文件中判断是否被选中 isChecked()


练习 :

1)RelativeLayout

2)RadioButton与CheckBox


============================================================================

0812

1. 常用Linux命令

1)cd ~ 用户主目录 / 根目录 ./ 当前目录 .. 上级目录

2)pwd

3)clear

4)ctrl+c 终止当前命令的执行

5)sudo chown -R 用户:组 目录 把目录的所有者和组重新授权

6)mv 移动

7)cp 拷贝

8)chmod

r -- 4 | w -- 2 | x -- 1

所有者 其他

如 chmod -R 755 /opt/demo

chomod a+x 文件

9)tar czvf 目录a 目录b 名字.tar.gz

10)tar xzvf 名字.tar.gz

2. java 常用的集合

List与Set : List可以重复,Set 不允许重复数据

ArrayList , LinkedList

Map : key <==> value

put(key , value)

Object get(key) ==> value

Set keySet()

Collection valueSet()

3. ListView

需要一个数据适配器 :ArrayAdapter、SimpleAdapter、SimpleCursorAdapter

需要一个数据源

ArrayAdapter ==> 数组或者动长数组

SimpleAdapter ==> List<? extends Map<String , ? >>

步骤 :

1)需要一个ListView控件

2)设置数据源

3)ListView的Item项的layout文件

内置布局文件 android.R.layout.simple_list_item1 一行一列

android.R.layout.simple_list_item2 两行一列

还有三个 android.R.layout.simple_list_XXX

自定义layout的xml文件

4)定义适配器Adapter

ArrayAdapter(Context context ,

int layoutResourceId ,

List|Array data)

SimpleAdapter(Context context,

List<? extends Map<String , ?>> data,

int layoutResourceId ,

String[] from, // map的key

int[] to // layout文件中显示value的控件id

)

5)ListView常用的监听器 onItemClickListener, onClickListener, onLongtimeClickListener

onItemClick(AdapterView<?> parent, View view,

int position, long id)

// 获取选中项item ==> 根据数据源的元素类型可以进行强制类型转换

? item = (?)parent.getAdapter().getItem(position);

// 如果移除选中项

数据源.remove(item);

(如果添加item,数据源.add())

// 不要忘记通知ListView

adapter.notifyDataSetChanged();

ListView :

1) class extends Activity

2) class extends ListActivity

ListActivity内置了List控件的一个Activity ,直接在onCreate() 方法中调用setListAdapter()

可以不定义layout的xml文件的

如果定义layout的xml文件 ,在xml文件

<ListView android:id="@id/android:list" ... ></ListView>

java文件不需要通过findViewById()找出ListView控件,如果非要找到 ListView list = (ListView) findViewById(android.R.id.list);



练习 :

ListView 的使用

extends Activity : 使用ArrayAdapter,数据源设置一些颜色String

添加监听器,更改背景颜色

extends Activity : 使用SimpleAdapter

item显示,左右,左显示图片,右上下两行分别显示title和info

添加监听器,实现选中项的删除

extends ListActivity

显示 ,上方ListView,Activity最下方添加一个Button


各位同学:

烽火3G实训基地的论坛已经开通!大家可以去上面注册,交流,各种学习,生活,技术问题都可以留言,回帖。可以把此论坛作为大家共同的家园!


http://www.fenghuo3g.com/bbs/forum.php


















































更多相关文章

  1. Android 使用FTP上传文件
  2. [android]组件和控件的区别
  3. Android将需要的日志文件LOG记录到本地文件夹下指定的文件
  4. 【Android】自定义控件系列之TextView设置Drawable的大小
  5. android获取控件的几种方法
  6. android 调用第三方软件打开pdf文件

随机推荐

  1. Android上使用Chrome DevTools 远程调试W
  2. Android SystemProperty
  3. Android adb shell 常用命令
  4. Android(安卓)Camera——拍照
  5. Android根据经纬度获取地址
  6. 向Android模拟器发短信打电话
  7. zxing-client-android 导入Android Studi
  8. android Content Provider的使用
  9. Android零碎知识点 1
  10. android基本布局