烽火学习笔记1
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
更多相关文章
- Android 使用FTP上传文件
- [android]组件和控件的区别
- Android将需要的日志文件LOG记录到本地文件夹下指定的文件
- 【Android】自定义控件系列之TextView设置Drawable的大小
- android获取控件的几种方法
- android 调用第三方软件打开pdf文件