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代码混淆官方实现方法
  2. 【Android】自定义控件系列之TextView设置Drawable的大小
  3. Android将需要的日志文件LOG记录到本地文件夹下指定的文件
  4. android之PopUpWindow显示Listview(文件列表)
  5. Android(安卓)使用FTP上传文件
  6. Android(安卓)SAX解析xml文件
  7. android学习笔记(不断更新...)
  8. Android基础知识总结(转载)
  9. NPM 和webpack 的基础使用

随机推荐

  1. android in practice_Using external sto
  2. android手势缩放
  3. 仿Google应用动态隐藏显示状态栏
  4. onMeasure的写法
  5. Android日期选择组件与时间选择组…
  6. editText禁止键盘弹出
  7. Textview解决换行混乱问题
  8. 安卓全局获取Context
  9. Android(安卓)开源项目集合-不定期更新
  10. Android-HttpsURLConnectionHelp工具类