Android Studio
Android Studio是一个由Google开发的用于Android开发的IDE。
安装
到Android Studio官网下载该软件。
下面是该网站的截图,点击大大的绿色按钮下载该软件,下载之后请进行安装。
Android Studio下载欢迎界面
初次安装后,界面如下:
Android Studio欢迎界面这个时候就可以点击Start a new Android Studio project
按钮开始一个新项目。
SDK
如果要在某个版本的Android平台上编译运行该软件,需要安装其SDK。
点击欢迎界面的右下角的第一个按钮Configure
,选择SDK Manager
,即可打开SDK管理工具,如下图:
在SDK列表中选择相应的版本,点击右下角OK
按钮,就会开始下载该SDK。
上图中已经有Android 7.0和Android 8.1存在。
新建一个Android项目
在欢迎界面上点击Start a new Android Studio project
按钮,出现下面的界面:
在Application name
的输入框中输入项目的名字,这里是HelloWorld
;在Company domain
中输入公司域名,这里是mwangblog.com
;Project location
制定项目文件存储位置。
之后来到了选择最低API(SDK)的界面:
Android Studio选择最低API这里选择Phone and Tablet
,并选择相应的最低API。
图中选择的是API 24,仅能覆盖8.1%的设备。
点击Next
,选择Empty Activity
:
输入Activity的名字,Layout的名字自动生成,一般不做修改:
Android Studio新建一个Activity点击Finish
即可创建新项目。
经历短暂的构建后,Android Studio进入了项目界面:
Android Studio项目界面界面中大部分空间是代码编辑器,靠左侧的是一个名叫Project
的视图,它可以帮助我们管理项目文件和资源。
运行程序
上面我们创建了一个项目,怎么运行这个程序呢?我们可以使用模拟器或者实体设备来运行该程序。
模拟器上运行程序
在菜单栏上点击Tools
,之后点击AVD Manager
,即可进入虚拟设备管理器,如下图:
图中已经有了一个虚拟设备,是Nexus 5X
,它的API等级是24.
如果还没有虚拟设备,可以新建一个,新建时在类别中选择Phone
,然后选择一个设备。
可以在界面右侧看到此设备的信息,点击Next
进行下一步,进入选择系统镜像的界面:
在下一步之前需要先下载相关的系统镜像(点击镜像右侧的Download)。
选择一个镜像,点击Next
,进行最后的配置,比如设备名字和方向,点击Finish
即可完成。
最后,在虚拟设备上运行此程序。
点击Run 'app'
按钮,如下图:
在新出现的目标设备选择界面上,选择刚刚添加的虚拟设备,点击OK
,就可以启动虚拟设备,并在虚拟设备上运行此程序。
虚拟设备运行结果如下:
在虚拟设备上运行程序在物理设备上运行程序
首先,需要一台运行Android系统的手机或者平板设备。
打开这台设备的开发者选项,并在其中打开USB调试,通过USB线连接到电脑即可用于运行和调试程序。
注意,这会使设备暴露在一定的风险之中,谨慎使用。
点击Run 'app'
按钮,在目标设备选择界面上,选择该设备,点击OK
,就可以在设备上运行此程序。
新建用户界面
添加字符串资源
在Project
工具中使用Android
视图查看文件,选择app > res > values > strings.xml
,双击打开该文件,添加两个字符串,文件内容如下:
<resources>
<string name="app_name">HelloWorld</string>
<string name="name_text">Zhang San</string>
<string name="send_button">Say Hi</string>
</resources>
修改视图资源
现在,在Project
工具中使用Android
视图查看文件,选择app > res > layout > activity_hello_world.xml
文件,双击打开该文件。
请确保选择的是该文件下方的Design
标签。
在试图中单击选择Hello World!
文本框,按Delete
键删除。
操作中的要点已经在下图中用红色箭头标出:
Android Studio操作视图拖一个Plain Text
到视图中,并设备其上部外边距和左部外边距都为16dp,如下图:
对其进行下面的设置:
- id为
name_edit_text
- layout_width为
0dp
- layout_height为
wrap_content
- text为
@string/name_text
,其实就是我们刚刚添加的字符串资源。
用同样的方法添加一个Button,并进行下面的设置:
- Button的左侧与Plain Text的右侧连接
- Button的上侧与右侧的外边距都为16dp
- id为
send_button
- layout_width为
wrap_content
- layout_height为
wrap_content
- text为
@string/send_button
。
现在界面如下:
一个新的界面处理Activity
首先,打开app > java > com.mwangblog.helloworld > HelloWorldActivity
,先声明一个Button对象和一个EditText对象,如下:
public class HelloWorldActivity extends AppCompatActivity {
private Button mSendButton;
private EditText mNameEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_world);
}
}
将其实例化,并为mSendButton
设置监听器:
public class HelloWorldActivity extends AppCompatActivity {
private Button mSendButton;
private EditText mNameEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_world);
mNameEditText = (EditText) findViewById(R.id.name_edit_text);
mSendButton = (Button) findViewById(R.id.send_button);
mSendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name_text = mNameEditText.getText().toString();
Toast.makeText(HelloWorldActivity.this, name_text, Toast.LENGTH_SHORT).show();
}
});
}
}
mSendButton
的监听器会生成一个Toast,这个Toast的内容是通过mNameEditText
得到的内容。
现在运行程序,输入文字,并点击按钮后,会生成一个Toast,如下图:
生成一个Toast新建Activity
现在我们新建一个Activity,右键点击包com.mwangblog.helloworld
,选择New > Activity > Empty Activity
。
如下图:
新建一个Activity新建此Activity的名字为SayHiActivity
。
这样,系统会自动为我们添加SayHiActivity
文件和其布局文件activity_say_hi.xml
。
新添加一个字符串,如下:
<string name="hi_text">Hi, %1$s!</string>
在布局文件activity_say_hi.xml
中添加一个TextView
,对其进行设置:
- id为
hi_text_view
- 四个方向的外边距都设置为0
- layout_width为
wrap_content
- layout_height为
wrap_content
- text为
@string/hi_text
- textSize为
30sp
如下图:
say_hi布局文件新建intent
两个Activity想要通信,需要使用intent来传递信息。
首先创建EXTRA_NAME
变量:
public static final String EXTRA_NAME = "com.mwangblog.helloworld.NAME";
修改HelloWorldActivity
中的mSendButton
的监听器:
mSendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name_text = mNameEditText.getText().toString();
Intent intent = new Intent (HelloWorldActivity.this, SayHiActivity.class);
intent.putExtra(EXTRA_NAME, name_text);
startActivity(intent);
}
});
点击按钮后,会启动SayHiActivity
。
接收intent
在SayHiActivity
中处理intent:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_say_hi);
Intent intent = getIntent();
String name = intent.getStringExtra (HelloWorldActivity.EXTRA_NAME);
String hi_text = getResources().getString(R.string.hi_text);
String hi_name = String.format(hi_text, name);
mHiTextView = (TextView) findViewById(R.id.hi_text_view);
mHiTextView.setText(hi_name);
}
上面的程序中,首先接受了intent,之后对字符串进行了格式化,最后设置mHiTextView
的值。
现在运行程序,查看程序:
程序的第一个Activity 程序的第二个Activity翻译(本地化)
在字符串资源文件上右键,点击Open Translations Editor
,之后对字符串进行翻译即可,如下图:
程序会在相应的地区使用相应的语言。
网友评论