Android开发初步之Activity与Intent
16lz
2021-01-24
Android
手机开发最重要的是用户接口,Android中的Activity就是Android应用与用户的接口!
学习Android开发之前最起码要学过J2SE,因为我们是用java语言开发Android应用,当然要会java语言了。学习java的途径很多,推荐在网上找些好的视频边看边学(我曾经就是这样学java的)。今天的任务是实现Activity跳转(就是J2SE中的界面跳转),在PC机上这个功能非常简单,但是在Android手机上好像还要费一番功夫!首先来看看Android应用的目录结构:src目录:这个不用多说是放我们编写的源代码的。gen目录:这个目录需要注意,里面有一个R.java,是定义一些组件ID值的,一般不需要我们修改。接着是assets目录:这个目录可以放一些资源文件,还有个res目录:这个目录也是放资源文件的,但这里的资源都要在R.java中注册ID值,一般是自动注册的。res目录下还有几个子目录,前三个是放图片的(drawable-hdpi,drawable-ldpi,drawable-mdpi)分别代表不同的分辨率的图片,layout目录是存放布局文件的,这个非常重要,我们要经常使用。还有个values目录,这里存放一些其他资源的。需要特别注意的是在res目录以及其子目录下的文件都需要在R.java里注册ID值。还有个文件非常重要,那就是Android的配置文件AndroidManifest.xml,我们创建的每一个Activity都要在这个文件里配置。下面来看实例:功能描述:第一个Activity里有一行文字和一个按钮,当点击按钮时,界面跳转到第二个Activity,并将从第一个Activity里传来的值显示在界面上。下面是源代码:
HelloActivity.java:
Java代码
package guxia.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView myTextView=(TextView)findViewById(R.id.myTextView); Button myButton = (Button)findViewById(R.id.myButton); myTextView.setText("welcome to myAndroid"); myButton.setText("my Button"); myButton.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { Intent intent=new Intent(); intent.putExtra("myname", "这是从HelloActivity传过来的值"); intent.setClass(HelloActivity.this, Activity01.class); HelloActivity.this.startActivity(intent); } }); } }
Activity01.java:
Java代码
package guxia.android; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class Activity01 extends Activity{ private TextView myTextView=null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.android01); myTextView=(TextView)findViewById(R.id.android01TextView); Intent inte=getIntent(); String myname=inte.getStringExtra("myname"); myTextView.setText(myname); } }
R.java
Java代码
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package guxia.android; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int android01TextView=0x7f050000; public static final int myButton=0x7f050002; public static final int myTextView=0x7f050001; } public static final class layout { public static final int android01=0x7f030000; public static final int main=0x7f030001; } public static final class string { public static final int android01=0x7f040002; public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }
main.xml(Layout目录下,HelloActivity的布局文件):
Xml代码
<?xml version="1.0" encoding="utf-8"?>
Activity01.xml(Activity01的布局文件):
Xml代码
<?xml version="1.0" encoding="utf-8"?>
strings.xml(values目录下):
Xml代码
<?xml version="1.0" encoding="utf-8"?> Hello World, HelloActivity! helloword Android
配置文件AndroidManifest.xml:
Xml代码
<?xml version="1.0" encoding="utf-8"?>
https://shimo.im/docs/tXXKHgdjPYj6WT8d/
更多相关文章
- android应用安全――代码安全(android代码混淆)
- android NDK扩展
- 如何在 Windows* 8 上为 Android* 设备安装英特尔® USB 驱动程
- Android中app进程ABI确定过程
- 关于Android(安卓)studio中httpclient不能用的问题
- android如何实现文件按时间先后顺序排列显示
- 深入浅出RxJava (四:在Android中使用响应式编程)
- Paypal支付接入(Android/IOS(swift)/Java后台)
- Android(安卓)开发中使用PopupWindow