没有合适的资源?快使用搜索试试~ 我知道了~
Android技术总结.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
14 浏览量
2022-07-13
10:33:41
上传
评论
收藏 2.7MB DOC 举报
Android技术总结.docAndroid技术总结.docAndroid技术总结.docAndroid技术总结.docAndroid技术总结.docAndroid技术总结.docAndroid技术总结.doc
资源推荐
资源详情
资源评论






















Android进修条记(1)-永久稳定的HelloWorld
Google的AndroidSDK宣布也有一段时间了,不断想研讨一下却苦于寻不到时间。应用谁人周未,
开场逼迫本人再次进退进修形态,缘故非常庞杂:我看好开放的
gPhone。
SDK的下载与装置并不庞杂,网上也有很多同窗曾经进入形态了,我就不再反复了吧。
明天要紧探讨的,依然永久稳定的话题:HelloWorld.
1.最庞杂的HelloWorld
装置了SDK后,直截了当天生一个AndroidProject,一句代码不必写,就能跑出一个最庞杂的HelloWorld
例程。咱们看一下它的代码:
publicvoidonCreate(Bundleicicle)
super.onCreate(icicle);
{
setTheme(android.R.style.Theme_Dark);
setContentView(R.layout.main);
}
看上去真实非常庞杂,只要两句话罢了。要害在谁人R.layout.main上,凭直觉,这应当是界说的资本。
的确,在R.java中只是界说了一个staticint罢了,真正的资本描绘在res/layout/main.xml文件里〔留意:
这里的R.java不要手工编纂,每次buildproject时它都市依照res下的资本描绘被主动修正〕。
<xmlversion="1.0"
encoding="utf-8">
<LinearLayout
xmlns:android="://schemas.android/apk/res/android"
android:orientation
="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextViewid="+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="HelloWorld"
/>
</LinearLayout>
谁人文件非常好读,一个描绘了这是一个线性陈列的规划,
android:orientation=vertical表现所有组件
将纵向排布。而经典的HelloWorld是用一个TextView来展现的。
由此,咱们清楚,Android的顺序从一个Activity派生出来,同时从它的onCreate开场启动;Android
里要表现的组件用XML文件描绘而不必在代码中硬编码〔这是一个好的习惯,咱们应当从一开场就坚
持下去〕;
2.让Button来说HelloWorld
下面的例子是ADT主动天生的代码,年夜概与咱们一点关联也不。那咱们来改一下代码,因为在windows
平台上的Helloworld常常是由一个按钮触发的,因而,咱们想第二个Helloworld应当是如斯的:加一
个按钮跟文本输入框,单击按钮后在本来的TextView前面加上输入框中输入的笔墨。
第一步是,增加一个Button跟一个EditText,与TextView一样,它们也在main.xml里描绘一下:
<EditTextid="+id/edt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""
/>
<Buttonid="+id/go"
android:layout_width="wrap_content"
android:layout_height="wrap_content
"
android:text="string/go">
<requestFocus/>
</Button>

这里有两个地点要留意:id=+id/go,这表现需要一个独一的UID来作为Button的ID,它的援用名是
go。另有一个是android:text=string/go表现谁人按钮的文本不是直截了当写有main.xml里了,而是来
源于另一个资本描绘文件strings.xml里,本例中的strings.xml如下:
<xmlversion="1.0"
<resources>
encoding="utf-8">
<string
<string
name="app_name">helloTwo</string>
name="tit_dialog">提醒</string>
name="msg_dialog">你好,中国</string>
name="ok_dialog">断定</string>
name="go">阅读</string>
<string
<string
<string
</resources>
而后,在代码里〔onCreate函数中〕咱们加上以下代码〔庞杂起见,用了嵌套类〕:
Buttonbtn=(Button)findViewById(R.id.go);
btn.setOnClickListener
{
(newView.OnClickListener()
publicvoidonClick(View
v)
{
EditText
edt=(EditText)helloTwo.
this.findViewById(R.id.
edt);
d.txt);
);
TextViewtxt=(TextView)helloTwo.this.findViewById(R.i
txt.setText(getString(R.string.msg_dialog)+edt.getText()
}
});
为铵钮增加一个onClick事情处置器,在点击事情中,设置txt的文本为
R.string.msg_dialgo+edt.getText()
。
这里的要害是两个函数的运用:findViewById(R.id.go)
能够依照资本的称号加载View范例的资
源,异样用函数getString(R.string.msg_dialog)
编译,run一下看看后果。
能够加载字符串资本。
3.再让菜单SayHello
从API文档中咱们看到Activity中有两个函数:onCreateOptionsMenu跟onOptionsItemSelected,
表现,谁人OptionsMenu的确是所谓的高低文菜单〔在GPhone的模仿器上,有个键公用于弹出谁人菜单〕。
下面咱们就为谁人HelloWorld例子加上一个菜单,同时让它能够Sayhello。
此次,咱们不触及到资本的描绘文件了,而是直截了当运用这两个函数来实现,理想上代码也非常庞杂,所
以,咱们再增加一个加入运用的功用〔否那么每次基本上按撤消键加入运用表现太不专业了〕。
代码如下:
publicbooleanonCreateOptionsMenu(Menumenu)
{
super.onCreateOptionsMenu(menu);
menu.add(0,1,"say
menu.add(0,2,"exit");
returntrue;
hello");
}
publicbooleanonOptionsItemSelected(Item
item)
{
super.onOptionsItemSelected(item);
intid=item.getId();

switch(id){
case1:
AlertDialog.show(this,getString(R.string.app_name),
getString(R.string.msg_dialog),
g
etString(R.string.ok_dialog),
case2:
true);
break;
finish();
break;
}
在CreateOptionsMenu时,咱们庞杂地增加两个菜单项,menu.add(组ID,项ID,表现文本),〔注
意:这里我直截了当将笔墨写在代码里,这并不倡导〕。而后,在
OptionsItemSelected事情中,咱们依照
选中的菜单项做响应处置,假如选中1,那么弹出一个对话框表现资本文件中的“你好,中国〞,假如选
中2那么加入运用。
AlertDialog.show是一个静态办法,相似于咱们在WIN平台上常常运用的MessageBox一样,非常方
便的。
起源:://sf.org/Android/lumen/20976.html
Android进修条记(2)-初识Activity
依照文档的说明,Activity是Android开辟中特不主要的一个根底类。我把它想像成
J2ME中的
Display类,或者是Win32平台上的Form类,兴许不精确,然而它的主要性我感到应当是一样的〔所以,
假如咱们写的是一个不界面的运用,比方后盾运转的效劳之类的,能够不必
Display的〕。
1.在一个Activity中运用多个View
假如把Activity看作MVC中的Control?它担任治理UI跟承受事情〔包含用户的输入〕,尽管说
一个Activity平日对应一个屏幕,但理想上,咱们是能够只用一个
实现庞杂的逻辑。
Activity治理多个差其余View来
起首,咱们增加一个新的资本描绘layout/second.xml。
<xmlversion="1.0"
encoding="utf-8">
<LinearLayout
xmlns:android="://schemas.android/apk/res/android"
android:orientation
="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextViewid="+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello中国"
/>
<Buttonid="+id/go2"
android:layout_width="wrap_content"
android:layout_height
="wrap_content
"
android:text="back">
<requestFocus/>
</Button>
</LinearLayout>
除了一个“Hello中国〞以外,增加一个按钮能够前往前一个界面。而后,在代码中咱们要为
helloTwo增加两个办法,setViewOneCommand跟setViewTwoCommand,分不处置一下在差别界面时,从
资本里加载组件并为组件绑定一个事情处置器。

publicvoidsetViewOneCommand()
{
Buttonbtn=(Button)findViewById(R.id.go);
btn.setOnClickListener(
{
newView.OnClickListener()
publicvoidonClick(View
v)
{
helloTwo.this.setContentView(R.layout.second);
helloTwo.this.setViewTwoCommand();
}
});
ButtonbtnExit=(Button)findViewById(R.id.exit);
newView.OnClickListener(){
publicvoidonClick(View
helloTwo.this.finish();
btnExit.setOnClickListener(
v){
}
});
}
publicvoidsetViewTwoCommand()
{
ButtonbtnBack=(Button)findViewById(R.id.go2);
newView.OnClickListener(){
voidonClick(Viewv){
btnBack.setOnClickListener(
public
helloTwo.this.setContentView(R.layout.main);
helloTwo.this.setViewOneCommand();
}
});
}
最后,咱们需要在onCreate的时候,也的确是启动后的main界面上设置一下按钮事情处置器。新的
onCreate办法如下:
publicvoidonCreate(Bundleicicle)
super.onCreate(icicle);
{
setTheme(android.R.style.Theme_Dark);
setContentView(R.layout.main);
setViewOneCommand();
}
编译,运转,OK。
2.依然回到邪道上,多个Activity之间的跳转
Android中供给一个叫Intent的类来实现屏幕之间的跳转,按文档的说法,年夜概他们也倡议采纳这
种办法,Intent的用法比拟庞杂,如今我先看看它最庞杂的用法。
先在运用中增加两个Activity,这需要修正AndroidManifest.xml文件了,如下:
<xmlversion="1.0"
encoding="utf-8">
<manifestxmlns:android="://schemas.android/apk/res/android"
package="cn.sharetop.android.hello.three">
<application
android:icon="drawable/icon">
class=".HelloThree"android:label="string/app_name">
<activity
<intent-filter
>
<actionandroid:value="android.intent.action.MAIN"
/>

<categoryandroid:value="android.intent.category.LAUNCH
ER"/>
</intent-filter
>
</activity>
<activity
class=".HelloThreeB"
android:label="string/app_name">
</activity>
</application>
</manifest>
非常庞杂,的确是加一个标签罢了,新标签的class是.HelloThreeB,表现的运用题目与前一个Activity
一样罢了,而后第二步的确是修正一个HelloThree类的实现,在onCreate办法中绑定按钮的事情处置器:
publicvoidonCreate(Bundleicicle)
super.onCreate(icicle);
{
setTheme(android.R.style.Theme_Dark);
setContentView(R.layout.main);
setViewOneCommand();
}
publicvoidsetViewOneCommand()
{
Buttonbtn=(Button)findViewById(R.id.go);
btn.setOnClickListener(
{
newView.OnClickListener()
publicvoidonClick(View
v)
{
Intent
intent
=newIntent();
intent.setClass(HelloThree.
startActivity(intent);
finish();
this,HelloThreeB.class);
}
});
ButtonbtnExit=(Button)findViewById(R.id.exit);
newView.OnClickListener(){
publicvoidonClick(Viewv){
HelloThree.this.finish();
btnExit.setOnClickListener(
}
});
}
这里的跳转功用用Intent来操纵,它的最庞杂用法的确是用函数
Activity类的实例,而后挪用Activity本人的startActivity(intent)
setClass()设置跳转前后两个
即可。最后一句finish()表现
将以后Activity关掉落〔假如不关掉落会怎样?你能够本人试一下看后果,理想上偶然咱们是不需要关掉落
以后Activity的〕。
而后,咱们异样弄一个Activity类HelloThreeB,代码与前面的差未多少,只是将setClass的两个
参数反一下,如斯就能够庞杂地实如今两个Activity界面中往返切换的功用了。
3.假如我想在两个Activity之间进展数据交流,怎样办?
前例中的startActivity()
只要一个参数,假如需要向新翻开的Activity通报参数,咱们得换一个
函数了,Android供给了startSubActivity(Intent,int)
谁人函数来实现谁人功用。
函数原型为:publicvoidstartSubActivity(Intentintent,intrequestCode)
这里的requestCode用来标识某一个挪用,普通由咱们界说一个常量。
怎样把参数传过去呢?Intent类在供给setClass()函数的同时也供给了一个setData()函数。
函数原型为:publicIntentsetData(ContentURIdata)
剩余30页未读,继续阅读
资源评论

xinkai1688
- 粉丝: 16
- 资源: 8万+

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
