Android Studio学习笔记(1)
我是通过哔哩哔哩的极客开发者up主的视频学习的,讲得还算很详细,对于我这种没有学习Java的人来说还说能听得懂。在此特别感谢up主!
今天学习了Android Studio的环境搭建,主要要安装JDK和JRE。然后是修改环境变量。然后就是安装Android Studio,带虚拟机。安装了Android Studio之后就有安装SDK,我是通过下载的方式进行安装,中途等了挺久时间。安装好了后建立工程就有各种报错,对于不懂英文的我,过程感觉十分痛苦,每一次的错误我都是通过百度翻译进行查阅,然后在百度上搜索遇到同样问题的案例,照着他们的提示的方法进行了一系列的修改,费了九牛二虎之力后,终于我的开发环境搭建好了。
接下来我学习了up主初次录制的视频——编写生日贺卡APP,这看似简单的APP,或许对于一些大佬来说不算什么,但对于刚入门的小白来说,还算不错,因为至少知道了那么回事。
在这里说下这个视频我学到的
1)控件TextView(文本框)
android:layout_margin="20dp" //边框距20
android:textSize="22dp" //字体大小
android:textColor="@android:color/holo_red_light" //设置字体颜色红色
2)控件ImageView(图本框)
android:layout_centerInParent="true" //居中
android:src="@drawable/bathdays" //选择对用的图片为位置
3)控件Button(按键)
android:id="@+id/btn" //确定ID为btn
android:layout_margin="10dp" //板式边距
android:layout_alignParentBottom="true" //放到最后
注:以上纯属自己根据up主的视频学习理解得到的,大神勿喷,若有更好的理解麻烦告知,在此感激不尽,谢谢!
接下就是Java代码,在开头我就是说明了我没有Java基础,所以对这些布局还有定义不太理解,但还是记下较好,以后学习总会去理解他
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//显示布局
setContentView(R.layout.activity_main);
//初始化布局
intUI();
}
以上应该就是主函数,相当于我学的C语言中的main。这里做了一个初始化布局,此外还在这学到实用快捷键,Alt+Enter可以直接写出这个函数!
private void intUI() {
//获取媒体播放对象
final MediaPlayer mediaPlayer= MediaPlayer.create(getApplicationContext(),R.raw.music);
//注册点击事件
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mediaPlayer.isPlaying()) {
mediaPlayer.pause();
}else{
mediaPlayer.start();
}
}
});
}
这样就把简易生日贺卡app做好了。感觉还行,日后得看看Java语言学习下他的定义格式。
再者就是进入up主的系统学习,由0-3集,前几集倒还好,到了03模拟小相册的时候有点不太懂了。那么久说说看了这些学习的收获
因为有了生日贺卡APP这个简易的教程,前几集跟之前差不多。
1.首先学习了认识Android Studio的界面。了解了我们建立工程一般选为Android工程就行,(这是我们常用编写代码的),app和Gradle Scripts。
这里重点讲下app这个文件夹,打开app里面有3个子文件,①manifests②java③res
而我们常用的3个文件分别是这①中的AndroidManifest.xml,②->layout->MainActivity,③layout->activity_main.xml
第一个文件就是相当于启动文件,配置这个工程名称还有一些启动的事项。
第二个文件就是变成代码文件,主要书写一些逻辑关系。
第三个文件就是书写布局的文件,主要是将控件的摆放(初学者使用代码编写较好)。
2.然后学习了线性基础布局LinearLayout
android:orientation="vertical" //线性布局的方向 vertical竖直排列|horizontal横向排列
到了03集就是模拟相册的APP
这里使用了1个ImageView,用于显示图片的
1个TextView,用于提示图片的信息
2个Button,用于翻页的
<ImageView
android:id="@+id/iv_show"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1" //剩余控件的占用
android:background="@android:color/background_dark" /> //设置为黑色的背景
<TextView
android:id="@+id/tv_show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="图片信息"
android:gravity="center" //居中
android:padding="10dp" //内边距
/>
<LinearLayout
android:gravity="center" //居中
android:orientation="horizontal" //竖直排列
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一张" />
<Button
android:id="@+id/btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一张" />
</LinearLayout>
/********这里采用线性的布局两个按键的排列***************/
以上就是②->layout->MainActivity的代码
接下我们就要编写Java逻辑代码
private ImageView mImage;
private TextView mText;
private int num;
private int index;
private String[] title;
private int[] images;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//初始化数据
initData();
}
private void initData() {
title = new String[]{"No.1","No.2","No.3","No.4","No.5"};
images = new int[]{R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};
mImage.setImageResource(images[0]);
mText.setText(title[0]);
num = title.length;//图片的张数
index = 0;//当前显示图片的索引
}
private void initView(){
mImage = findViewById(R.id.iv_show);
mText = findViewById(R.id.tv_show);
findViewById(R.id.btn_previous).setOnClickListener(this);
findViewById(R.id.btn_next).setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.btn_previous:
//上一张
if(index==0){
index = title.length - 1;
}else {
index--;
}
break;
case R.id.btn_next:
//下一张
if(index==4){
index = 0;
}else{
index++;
}
break;
}
updateImageAndTitle();
}
private void updateImageAndTitle() {
mImage.setImageResource(images[index]);
mText.setText(title[index]);
}
经过上面的代码学习,我学会快捷键Ctrl+Alt+F声明全局变量,至于其他怎么来的,我感觉又忘得差不多,明天赶着再弄一遍是怎么个意思,至于Java的程序架构得好好理理。
综上所述,就是我今天学习Android Studio的笔记!!!