android应用开发帮助文档.docx
《android应用开发帮助文档.docx》由会员分享,可在线阅读,更多相关《android应用开发帮助文档.docx(69页珍藏版)》请在冰豆网上搜索。
![android应用开发帮助文档.docx](https://file1.bdocx.com/fileroot1/2023-2/22/78f324a4-8813-4f0c-a009-2eec0225f59c/78f324a4-8813-4f0c-a009-2eec0225f59c1.gif)
android应用开发帮助文档
本android帮助文档为在学习视频时自己制作
比较混乱和粗糙,使用时查找第一页导航,再用word的查找功能进行查找
导航页
——基础说明
——监听器的设置->创建监听器
——调用android自带的短信发送功能
——Activity的方法和生命周期(创建对话框风格的)
——Activity的布局方法
--LinearLayout线性
--常用标签
--TableLayout表格
--GridView滑动表格
--RelativeLayout相对布局
——常用控件
--除去title和全屏显示
--EditText可输入文本框
--RadioGroup和RadioButton单选按钮
--Toast提示框
--CheckBox多选按钮
--ProgressBar进度条
--ListView可选列表
--MENU菜单控件的使用
--Animation动画效果
--4种动画效果
--动画实现--JAVA中的实现
--XMl文件中的实现
--Gallery(走马灯式的)移动选择控件
--ImageSwitcher图片显示控件
--ImageButton图片按钮控件
--AlertDialog提示框
——Handler的使用
---线程
--handler的简单应用
--用handler更新ProgressBar进度条
--handler与线程
--线程之间的数据传递
--Bundle对象(大量复杂数据)--Message对象(少量简单)
--建立一个新的线程
--HandlerThread类
——SQLite的使用
--SQLiteOpenHelper的方法注:
带有下划线的是一些封装
--代码的编写的可以直接调用的类,在”帮助文档的链接文件\封装的类”文件
--封装的DatabaseHelper类夹中都有保存可以直接导入调用
--主java文件
--命令行的查询方法
——文件下载
--文件下载--步骤--在注册文件中注册权限
--封装的HttpDownLoad类
--在Activity中的调用
--访问SDCARD--注册权限
--封装的FileUtils类
--在Activity文件中的调用
——_XML文件的解析
--SAX常用接口
--XMl文件解析实例--实现ContentHandler接口的类
--在Activity中的调用XMl文件实例aaa.xml
——广播机制
--android中的广播机制
--编写BroadcastReveicer类--创建包含BroadcastReveicer类的java文件
--在onReceive中处理收到短消息的事件
--AndroidManifest.XML注册文件中注册
--代码当中进行注册
--Activity中发送广播
——WIFI
--WIFI网卡的状态
--操作WIFI网卡所需要的部分权限
--改变WIFI网卡的状态
——Socket编程
--使用基于TCP协议的Socket
--使用基于UDP协议的Socket
——Service
Android创建基础:
src文件中为包类,其中用于建立activity的java文件
res中
drawable中为图片和标签
layout中为布局文件,用于每个activity.java文件的标签布局
AndroidManifest中为注册文件,每一个activity的建立都需要在其中注册
代码的编写
intent对象(用于在不同activity转换时的监听器设置)
1.Componentname指定activity
2.Action指定activity的作用
3.Data传送的数据类型
4.Extras(额外)传送的键值对
创建监听器的关键代码:
(在第一个activity中)
//创建一个Button监听器
classmyButtonListenerimplementsOnClickListener{
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
//创建一个intent类
Intentintent=newIntent();
//创建一个键值对
intent.putExtra("nexttext","跳转成功");
//创建关联
intent.setClass(FirstActivity.this,SecondActivity.class);
FirstActivity.this.startActivity(intent);
}
}
在第一个activity中的转换关键标签上绑定监听器:
(例在Button标签)(在onCreate中)
//在Button上绑定监听器
myButton.setOnClickListener(newmyButtonListener());
在第二个activity中的应用键值对(数据传递):
(在onCreate中)
//获取键值对
Intentintent=getIntent();
//获得键值对的值
Stringtext=intent.getStringExtra("nexttext");
在Activity中调用android自带的短信发送功能的关键代码:
//调用短信发送功能
classmyButtonListenerimplementsOnClickListener{
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
//发送号码
Uriuri=Uri.parse("smsto:
//0800000123");
Intentit=newIntent(Intent.ACTION_SENDTO,uri);
//发送内容
it.putExtra("sms_body","theSMStext");
startActivity(it);
}
}
Activity的方法和生命周期:
--onCreate一个activity启动时运行(第一次)
--onStart当activity处于可见状态时运行
--onResume当activity可以得到用户焦点时(可以被操作)运行
--onPause当activity处于暂停状态时(例如弹出其他activity而原activity未被完全覆盖),可在此保存数据,以便此activity释放时恢复原状
--onStop当activity完全不可见时
--onRestart当activity未被销毁而在此被调用时
--onDestory当activity被销毁时
当调用finish();语句时,Activity被销毁。
Task
一个包含多个Activity的栈。
(栈具有后进先出的结构)。
其中栈的动作只有弹出和压入两个动作,不能进行重新排序。
建立一个对话框风格的Activity
要在Activity的注册文件AndroidManifest中注册时在注册语句后加入代码:
name=".SecondActivity"
android:
label="@string/second"
android:
theme="@android:
style/Theme.Dialog"
/>
Activity的布局方法:
--LinearLayout的使用方法(线性)
其中带有滚动条的线性布局为ScrollView
滚动条的方向属性:
scrollbars
带有滚动条的表格布局为GridView
xmlversion="1.0"encoding="utf-8"?
>--声明版本和使用的编码
android="
--xml的命名空间
控制线性布局本身的属性:
android:
orientation="vertical"--布局的方向(水平,垂直)
android:
layout_width="fill_parent"--宽
android:
layout_height="fill_parent"--高
>
常用标签:
--
android:
id——为控件指定相应的ID
android:
text——指定控件中显示的文字,需要注意点是,这里尽量使用string.xml
android:
grivity—-子控件的对齐方式
-top——上
-bottom——下
-center_vertical——垂直方向的居中
-fill_..——垂直方向充满
-center_horizontal——水平方向居中
-fill_..——水平方向充满
-center——居中
-fill——充满
-clip_vertical——
—.._horizontal——
android:
textSize——指定控件中字体的大小(单位磅pt)
android:
backgroud——指定该控件所使用的背景色,RGB命名法——?
android:
backgroud=“@drawable/背景图片的名字”
android:
width——指定控件的宽度
-fill_parent——充满父控件
-wrap_content——恰好适应内容
android:
height——指定控件的高度
android:
padding*——指定控件的内边距(上下左右)(单位dip或像素),也就是说控件中的内部控件距外部控件的距离
android:
layout_marginLeft--指定控件的外边距,两个相邻控件之间的间隙
android:
sigleLine——设置为真(true),则将控件在同一行当中进行显示(不能完全显示时用..表示),
假(false),时一行不够延续到下一行,内容太时会导致控件的向下延伸
android:
layout_weight——可与下一个标签中的weight联合起来界定标签的相对大小
-->
--TableLayout的使用方法(表格)
xmlversion="1.0"encoding="utf-8"?
>
android="
--同上
android:
layout_width="fill_parent"
android:
layout_height="fill_parent"
android:
stretchColumns="1"--表格无法充满左右宽度时,拉伸的列。
java中“0”表示第一列。
>
--行标签
android:
id="@+id/row01_text01"
android:
text="@string/text01"
android:
background="#aa0000"
android:
padding="3dip"--表示前后左右的内边距
/>
android:
…
………
/>
……..
/>
…..
/>
两个标签嵌套使用可以实现更复杂的Activity。
GirdView的使用--可上下滑动的表格布局
android:
id="@+id/gv_apps"
android:
layout_height="fill_parent"
android:
layout_width="fill_parent"
android:
numColumns="3"--表格的列数
android:
horizontalSpacing="10px"--表格中的item之间水平方向的间距
android:
verticalSpacing="10px"--表格中的item之间的垂直方向的间距
android:
listSelector="@drawable/choose_gridview"
--设置当一个item被点击时的背景图片
android:
layout_marginTop="28px"
android:
layout_marginBottom="58px"
android:
layout_marginLeft="5px"
android:
layout_marginRight="5px"
>
应用GridView创建一个点击MENU弹出一个选项框
相对布局RelativeLayout:
xmlversion="1.0"encoding="utf-8"?
>
xmlns:
android="
android:
layout_width="fill_parent"
android:
layout_height="fill_parent"
android:
padding="10dip"——整个布局的内边距
>
--
RelativeLayout的各种属性
两控件反位置对齐
android:
layout_above——将控件置于给定ID的控件之上
android:
layout_below——将控件置于给定ID的控件之下
android:
layout_toLeftOf——将控件的右边缘和给定ID的控件的左边缘对齐(将控件置于给定控件的左边)
android:
layout_toRightOf——讲控件的左边缘和给定ID的控件的右边缘对齐(将控件置于给定控件的右边)
两控件同位置对齐
android:
layout_alignBaseline——将控件的baseline和给定ID的控件的baseline对齐(底线对齐)
android:
layout_alignBottom——将控件的底部边缘与给定ID的控件的底部对齐
android:
layout_alignTop——将控件的顶部边缘和给定Id的控件的顶部对齐
android:
layout_alignLeft——将控件的左边缘与给定ID的控件的左边缘对齐
android:
layout_alignRight——将控件的右边缘与给定ID的控件的右边缘对齐
控件与父控件的相对位置
android:
layout_alignParentBottom——值为true时,控件的底部与父控件的底部对齐
android:
layout_alignParentTop——值为true时,控件的顶部与父控件的顶部对齐
android:
layout_alignParentLeft——值为true时,控件的左边与父控件的左边对齐
android:
layout_alignParentRight——值为true时,控件的右边与父控件的右边对齐
控件相对于整体位置
android:
layout_centerHorizontal——值为true时,控件水平方向居中
android:
layout_centerVertical——值为true时,控件垂直方向居中
android:
layout_centerInParent——值为true时,控件垂直水平方向都居中
-->
可输入文本框标签:
android:
id="@+id/edit"
android:
layout_width="fill_parent"
android:
layout_height="wrap_content"
android:
background="@android:
drawable/editbox_background"
——背景为android自定义可输入文本框的一个背景颜色
android:
layout_below="@id/text"
这里可以设置一个输入框内的提示文字的属性:
hint
/>
获得输入框的值
StringnameEdit=nameEdit.getText().toString();
在这里可以使用Intent来传递输入框得到的值到其他的Activity
Intentintent=newIntent();
Intent.putExtra(“键”,”值”);
从Intent得到键值对的值
Intentintent=getIntent();
StringStr=intent.getStringExtra(“键”);
将一个字符串转换为整形:
Intint=Integer.parseInt(string);
常用控件:
当一个控件中的文字太多而无法全部显示的时候:
android:
singleLine="true"--属性是将文字进行单行显示
当设置了上面的属性后就可以设置:
android:
ellipsize=--这个属性有多个值,可以设置不能显示时省略号的位置,最后一个值是将不能显示的部分使用走马灯的形式显示出来
除去title和全屏显示(在Activity调用XML之前)
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
--除去title
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
--全屏显示(除去手机提示栏)
1.RadioGroup和RadioButton--单选按钮
--XMl文档中:
android:
id="@+id/radio"
android:
…..
android:
orientation="vertical"--该属性用于规定下面的单选按钮的布局方式(垂直和水平)
>
android:
….
/>
android:
….
/>
--java文件中
声明同上面介绍的标签:
privateRadioGroupradio=null;
radio=(RadioGroup)findViewById(R.id.radio);
//在RadioGroup上绑定监听器,内部实现Toast方法,监听器的方法与Button的方法不同
radio.setOnCheckedChangeListener(newRadioGroup.OnCheckedChangeListener(){
@Override
publicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){
//TODOAuto-generatedmethodstub
if(femaleButton.getId()==checkedId){
System.out.println("female");
2.Toast标签-—提示框
//Toast标签用于实现一个短暂的提示消息(常用于提示)
Toast.makeText(RadioActivity.this,"female",Toast.LENGTH_SHORT).show();
}
elseif(maleButton.getId()==checkedId){
System.out.println("male");
Toast.makeText(RadioActivity.this,"male",Toast.LENGTH_SHORT).show();
}
}
});
3.CheckBox标签--多选按钮
--XMl文件中
android:
id="@+id/swim"
android:
…..
/>
android:
….
/>
--java文件中
声明同上面介绍的标签。
//在CheckButton上绑定监听器,监听器的方法继承CompoundButton
swim.setOnCheckedChangeListener(newCompoundButton.OnCheckedChangeListener(){
@Override
publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){
//TODOAuto-generatedmethodstub
if(isChecked){
System.out.println("CheckBox--->swimisChecked");
}
else{
System.out.println("CheckBox--->swimisunChecked");
}
}
});
4.ProgressBar--进度条--(进度条默认长度为100也可